FreeBSD Bugzilla – Attachment 187727 Details for
Bug 223426
[PATCH] update multimedia/bino to 1.6.5
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
update multimedia/bino to 1.6.5
ports.multimedia.bino.1.6.5.diff (text/plain), 25.25 KB, created by
Niclas Zeising
on 2017-11-04 14:21:04 UTC
(
hide
)
Description:
update multimedia/bino to 1.6.5
Filename:
MIME Type:
Creator:
Niclas Zeising
Created:
2017-11-04 14:21:04 UTC
Size:
25.25 KB
patch
obsolete
>Index: multimedia/bino/Makefile >=================================================================== >--- multimedia/bino/Makefile (revision 453449) >+++ multimedia/bino/Makefile (working copy) >@@ -2,8 +2,7 @@ > # $FreeBSD$ > > PORTNAME= bino >-PORTVERSION= 1.4.2 >-PORTREVISION= 11 >+PORTVERSION= 1.6.5 > CATEGORIES= multimedia > MASTER_SITES= http://download.savannah.nongnu.org/releases/bino/ http://levsha.me/ports/distfiles/ > >@@ -17,15 +16,18 @@ > libavformat.so:multimedia/ffmpeg \ > libopenal.so:audio/openal-soft > >-USES= desktop-file-utils gmake pkgconfig tar:xz >-USE_GL= glew >+USES= autoreconf desktop-file-utils gmake iconv pkgconfig tar:xz >+USE_GL= gl glu glew > GNU_CONFIGURE= yes > INSTALLS_ICONS= yes >-USE_QT4= moc_build opengl rcc_build >+USE_QT5= buildtools_build core gui opengl widgets >+USE_CXXSTD= c++11 > > # no port fow equalizer now, lirc detecting not working >-CONFIGURE_ARGS= --without-equalizer --without-liblircclient --docdir=${DOCSDIR} >+CONFIGURE_ARGS= --without-equalizer --without-lirc --docdir=${DOCSDIR} > >+EXTRA_PATCHES= ${FILESDIR}/glew-fix-7098cd6a.patch >+ > INFO= bino > > OPTIONS_DEFINE= NLS DOCS >Index: multimedia/bino/distinfo >=================================================================== >--- multimedia/bino/distinfo (revision 453449) >+++ multimedia/bino/distinfo (working copy) >@@ -1,2 +1,3 @@ >-SHA256 (bino-1.4.2.tar.xz) = 6cd88eb16ffee30a3cbb9b5d313feb61b91068387ae846ff96d9e99dcb5c88b6 >-SIZE (bino-1.4.2.tar.xz) = 794272 >+TIMESTAMP = 1509794928 >+SHA256 (bino-1.6.5.tar.xz) = 3254316d3ae81cc69643dcd823caaac1233704d91289272d0011ced5e5cdffe2 >+SIZE (bino-1.6.5.tar.xz) = 825008 >Index: multimedia/bino/files/glew-fix-7098cd6a.patch >=================================================================== >--- multimedia/bino/files/glew-fix-7098cd6a.patch (nonexistent) >+++ multimedia/bino/files/glew-fix-7098cd6a.patch (working copy) >@@ -0,0 +1,208 @@ >+From 7098cd6afb7ed805de085ed72a5a3ff56e529277 Mon Sep 17 00:00:00 2001 >+From: Martin Lambers <marlam@marlam.de> >+Date: Sun, 18 Dec 2016 14:37:52 +0100 >+Subject: Revert "Always use GLEWmx, do not fall back to GLEW." >+ >+This reverts commit eaf9278782b32a13cea19d1be331cb74a6cddce9. >+--- >+ configure.ac | 15 +++++++++++++-- >+ src/Makefile.am | 8 ++++++-- >+ src/video_output.h | 4 +++- >+ src/video_output_qt.cpp | 13 ++++++++----- >+ src/video_output_qt.h | 20 +++++++++++++------- >+ 5 files changed, 43 insertions(+), 17 deletions(-) >+ >+diff --git a/configure.ac b/configure.ac >+index 52181ed..03c6b58 100644 >+--- configure.ac >++++ configure.ac >+@@ -296,7 +296,9 @@ fi >+ AC_DEFINE_UNQUOTED([HAVE_LIBEQUALIZER], [$HAVE_LIBEQUALIZER], [Have Equalizer?]) >+ AM_CONDITIONAL([HAVE_LIBEQUALIZER], [test "$HAVE_LIBEQUALIZER" = "1"]) >+ >+-dnl glewmx >++dnl glew >++dnl With Equalizer, we need glewmx, since that is what Equalizer uses. >++dnl Without Equalizer, glew (without mx) is ok to use, too. >+ PKG_CHECK_MODULES([libglewmx], [glewmx >= 1.6.0], [HAVE_LIBGLEWMX=1], [HAVE_LIBGLEWMX=0]) >+ if test "$HAVE_LIBGLEWMX" != "1"; then >+ AC_MSG_WARN([required library libglewmx >= 1.6.0 not found:]) >+@@ -304,6 +306,15 @@ if test "$HAVE_LIBGLEWMX" != "1"; then >+ AC_MSG_WARN([libglewmx is provided by glew; Debian package: libglewmx-dev]) >+ fi >+ AM_CONDITIONAL([HAVE_LIBGLEWMX], [test "$HAVE_LIBGLEWMX" = "1"]) >++if test "$HAVE_LIBGLEWMX" != "1" -a "$HAVE_LIBEQUALIZER" != "1"; then >++ AC_MSG_NOTICE([trying to use libglew instead of libglewmx]) >++ PKG_CHECK_MODULES([libglew], [glew >= 1.6.0], [HAVE_LIBGLEW=1], [HAVE_LIBGLEW=0]) >++ if test "$HAVE_LIBGLEW" != "1"; then >++ AC_MSG_WARN([required library libglew >= 1.6.0 not found:]) >++ AC_MSG_WARN([$libglew_PKG_ERRORS]) >++ AC_MSG_WARN([libglew is provided by glew; Debian package: libglew-dev]) >++ fi >++fi >+ >+ dnl libXNVCtrl >+ AC_ARG_WITH([xnvctrl], >+@@ -390,7 +401,7 @@ if test "$am_cv_func_iconv" != "yes" \ >+ -o "$HAVE_LIBASS" != "1" \ >+ -o "$HAVE_LIBOPENAL" != "1" \ >+ -o "$HAVE_LIBQTOPENGL" != "1" \ >+- -o "$HAVE_LIBGLEWMX" != "1" \ >++ -o \( "$HAVE_LIBGLEWMX" != "1" -a "$HAVE_LIBGLEW" != "1" \) \ >+ -o \( "$equalizer" = "yes" -a "$HAVE_LIBEQUALIZER" != "1" \) \ >+ -o \( "$xnvctrl" = "yes" -a "$HAVE_LIBXNVCTRL" != "1" \) \ >+ -o \( "$lirc" = "yes" -a "$HAVE_LIRC" != "1" \) ; then >+diff --git a/src/Makefile.am b/src/Makefile.am >+index 6fc12bb..65cbae6 100644 >+--- src/Makefile.am >++++ src/Makefile.am >+@@ -149,11 +149,15 @@ DEFS += -DHTMLDIR=\"$(htmldir)\" -DLOCALEDIR=\"$(localedir)\" >+ >+ AM_CPPFLAGS = \ >+ $(libavformat_CFLAGS) $(libavdevice_CFLAGS) $(libswscale_CFLAGS) $(libass_CFLAGS) \ >+- $(libopenal_CFLAGS) $(libgl_CFLAGS) $(libglewmx_CFLAGS) $(libqtopengl_CFLAGS) >++ $(libopenal_CFLAGS) $(libgl_CFLAGS) $(libglewmx_CFLAGS) $(libglew_CFLAGS) $(libqtopengl_CFLAGS) >+ >+ bino_LDADD = $(top_builddir)/src/base/libbase.a $(LIBINTL) $(LIBICONV) \ >+ $(libavformat_LIBS) $(libavdevice_LIBS) $(libswscale_LIBS) $(libass_LIBS) \ >+- $(libopenal_LIBS) $(libgl_LIBS) $(libglewmx_LIBS) $(libqtopengl_LIBS) >++ $(libopenal_LIBS) $(libgl_LIBS) $(libglewmx_LIBS) $(libglew_LIBS) $(libqtopengl_LIBS) >++ >++if HAVE_LIBGLEWMX >++AM_CPPFLAGS += -DGLEW_MX >++endif >+ >+ if HAVE_LIBEQUALIZER >+ bino_SOURCES += player_equalizer.h player_equalizer.cpp >+diff --git a/src/video_output.h b/src/video_output.h >+index 8430ddc..2fd72ce 100644 >+--- src/video_output.h >++++ src/video_output.h >+@@ -1,7 +1,7 @@ >+ /* >+ * This file is part of bino, a 3D video player. >+ * >+- * Copyright (C) 2010, 2011, 2012, 2015 >++ * Copyright (C) 2010, 2011, 2012, 2015, 2016 >+ * Martin Lambers <marlam@marlam.de> >+ * Frédéric Devernay <Frederic.Devernay@inrialpes.fr> >+ * Joe <cuchac@email.cz> >+@@ -128,7 +128,9 @@ private: >+ protected: >+ subtitle_renderer _subtitle_renderer; >+ >++#ifdef GLEW_MX >+ virtual GLEWContext* glewGetContext() const = 0; >++#endif >+ >+ // Get the total viewport size. >+ int full_display_width() const; >+diff --git a/src/video_output_qt.cpp b/src/video_output_qt.cpp >+index 0758892..ab82388 100644 >+--- src/video_output_qt.cpp >++++ src/video_output_qt.cpp >+@@ -1,7 +1,7 @@ >+ /* >+ * This file is part of bino, a 3D video player. >+ * >+- * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015 >++ * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016 >+ * Martin Lambers <marlam@marlam.de> >+ * Frédéric Devernay <frederic.devernay@inrialpes.fr> >+ * Joe <cuchac@email.cz> >+@@ -80,11 +80,13 @@ gl_thread::gl_thread(video_output_qt* vo_qt, video_output_qt_widget* vo_qt_widge >+ { >+ } >+ >+-#if HAVE_X11 >++#ifdef GLEW_MX >++# if HAVE_X11 >+ GLXEWContext* gl_thread::glxewGetContext() const >+ { >+ return _vo_qt->glxewGetContext(); >+ } >++# endif >+ #endif >+ >+ void gl_thread::set_render(bool r) >+@@ -781,17 +783,18 @@ void video_output_qt::create_widget() >+ process_events(); >+ } >+ >+-#if HAVE_X11 >++#ifdef GLEW_MX >++# if HAVE_X11 >+ GLXEWContext* video_output_qt::glxewGetContext() const >+ { >+ return const_cast<GLXEWContext*>(&_glxew_context); >+ } >+-#endif >+- >++# endif >+ GLEWContext* video_output_qt::glewGetContext() const >+ { >+ return const_cast<GLEWContext*>(&_glew_context); >+ } >++#endif >+ >+ bool video_output_qt::context_is_stereo() const >+ { >+diff --git a/src/video_output_qt.h b/src/video_output_qt.h >+index 1cc3174..089bac9 100644 >+--- src/video_output_qt.h >++++ src/video_output_qt.h >+@@ -1,7 +1,7 @@ >+ /* >+ * This file is part of bino, a 3D video player. >+ * >+- * Copyright (C) 2010, 2011, 2012, 2013, 2015 >++ * Copyright (C) 2010, 2011, 2012, 2013, 2015, 2016 >+ * Martin Lambers <marlam@marlam.de> >+ * >+ * This program is free software; you can redistribute it and/or modify >+@@ -69,8 +69,10 @@ private: >+ public: >+ gl_thread(video_output_qt* vo_qt, video_output_qt_widget* vo_qt_widget); >+ >+-#if HAVE_X11 >++#ifdef GLEW_MX >++# if HAVE_X11 >+ GLXEWContext* glxewGetContext() const; >++# endif >+ #endif >+ >+ void set_render(bool r); >+@@ -166,10 +168,12 @@ protected: >+ class video_output_qt : public video_output >+ { >+ private: >+-#if HAVE_X11 >++#ifdef GLEW_MX >++# if HAVE_X11 >+ GLXEWContext _glxew_context; >+-#endif >++# endif >+ GLEWContext _glew_context; >++#endif >+ int _screen_width, _screen_height; >+ float _screen_pixel_aspect_ratio; >+ video_container_widget *_container_widget; >+@@ -192,10 +196,12 @@ private: >+ void resume_screensaver(); >+ >+ protected: >+-#if HAVE_X11 >+- GLXEWContext* glxewGetContext() const; >+-#endif >++#ifdef GLEW_MX >++# if HAVE_X11 >++ virtual GLXEWContext* glxewGetContext() const; >++# endif >+ virtual GLEWContext* glewGetContext() const; >++#endif >+ virtual bool context_is_stereo() const; >+ virtual void recreate_context(bool stereo); >+ virtual void trigger_resize(int w, int h); >+-- >+cgit v1.0-41-gc330 >+ > >Property changes on: multimedia/bino/files/glew-fix-7098cd6a.patch >___________________________________________________________________ >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/bino/files/patch-src_base_str.cpp >=================================================================== >--- multimedia/bino/files/patch-src_base_str.cpp (revision 453449) >+++ multimedia/bino/files/patch-src_base_str.cpp (nonexistent) >@@ -1,20 +0,0 @@ >---- src/base/str.cpp.orig 2012-10-13 05:01:40 UTC >-+++ src/base/str.cpp >-@@ -77,7 +77,7 @@ static inline std::string uint_to_str(T >- do >- { >- // this assumes an ASCII-compatible character set >-- s.insert(0, 1, '0' + x % 10); >-+ s.insert((size_t)0, (size_t)1, (char)('0' + x % 10)); >- x /= 10; >- } >- while (x != 0); >-@@ -94,7 +94,7 @@ static inline std::string int_to_str(T x >- do >- { >- // this assumes an ASCII-compatible character set >-- s.insert(0, 1, (negative ? ('0' - x % 10) : ('0' + x % 10))); >-+ s.insert((size_t)0, (size_t)1, (char)(negative ? ('0' - x % 10) : ('0' + x % 10))); >- x /= 10; >- } >- while (x != 0); > >Property changes on: multimedia/bino/files/patch-src_base_str.cpp >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: multimedia/bino/files/patch-src_base_str.h >=================================================================== >--- multimedia/bino/files/patch-src_base_str.h (nonexistent) >+++ multimedia/bino/files/patch-src_base_str.h (working copy) >@@ -0,0 +1,10 @@ >+--- src/base/str.h.orig 2017-11-04 13:56:43 UTC >++++ src/base/str.h >+@@ -31,6 +31,7 @@ >+ #include <vector> >+ #include <cstdarg> >+ #include <cerrno> >++#include <ctime> >+ >+ #ifdef __GNUC__ >+ # define STR_AFP(a, b) __attribute__ ((format (printf, a, b))) > >Property changes on: multimedia/bino/files/patch-src_base_str.h >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:keywords >## -0,0 +1 ## >+FreeBSD=%H >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/bino/files/patch-src_media__object.cpp >=================================================================== >--- multimedia/bino/files/patch-src_media__object.cpp (revision 453449) >+++ multimedia/bino/files/patch-src_media__object.cpp (nonexistent) >@@ -1,216 +0,0 @@ >-Some changes are identical to upstream: >-http://git.savannah.gnu.org/cgit/bino.git/commit/?id=bcba7045c99f >-http://git.savannah.gnu.org/cgit/bino.git/commit/?id=50b7109633fa >-http://git.savannah.gnu.org/cgit/bino.git/commit/?id=78023424d4cf >- >---- src/media_object.cpp.orig 2013-01-27 21:04:48 UTC >-+++ src/media_object.cpp >-@@ -56,6 +56,23 @@ extern "C" >- >- #include "media_object.h" >- >-+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(51, 42, 0) >-+#define AVPixelFormat PixelFormat >-+#define AV_PIX_FMT_BGRA PIX_FMT_BGRA >-+#define AV_PIX_FMT_YUV420P PIX_FMT_YUV420P >-+#define AV_PIX_FMT_YUV420P10 PIX_FMT_YUV420P10 >-+#define AV_PIX_FMT_YUV422P PIX_FMT_YUV422P >-+#define AV_PIX_FMT_YUV422P10 PIX_FMT_YUV422P10 >-+#define AV_PIX_FMT_YUV444P PIX_FMT_YUV444P >-+#define AV_PIX_FMT_YUV444P10 PIX_FMT_YUV444P10 >-+#define AV_PIX_FMT_YUVJ420P PIX_FMT_YUVJ420P >-+#define AV_PIX_FMT_YUVJ422P PIX_FMT_YUVJ422P >-+#define AV_PIX_FMT_YUVJ444P PIX_FMT_YUVJ444P >-+#endif >-+ >-+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54, 25, 0) >-+#define AV_CODEC_ID_TEXT CODEC_ID_TEXT >-+#endif >- >- // The read thread. >- // This thread reads packets from the AVFormatContext and stores them in the >-@@ -150,7 +167,8 @@ public: >- // Hide the FFmpeg stuff so that their messy header files cannot cause problems >- // in other source files. >- >--static const size_t audio_tmpbuf_size = (AVCODEC_MAX_AUDIO_FRAME_SIZE * 3) / 2; >-+static const size_t max_audio_frame_size = 19200; // 1 second of 48khz 32bit audio >-+static const size_t audio_tmpbuf_size = (max_audio_frame_size * 3) / 2; >- >- struct ffmpeg_stuff >- { >-@@ -422,20 +440,20 @@ void media_object::set_video_frame_templ >- video_frame_template.value_range = video_frame::u8_full; >- video_frame_template.chroma_location = video_frame::center; >- if (!_always_convert_to_bgra32 >-- && (video_codec_ctx->pix_fmt == PIX_FMT_YUV444P >-- || video_codec_ctx->pix_fmt == PIX_FMT_YUV444P10 >-- || video_codec_ctx->pix_fmt == PIX_FMT_YUV422P >-- || video_codec_ctx->pix_fmt == PIX_FMT_YUV422P10 >-- || video_codec_ctx->pix_fmt == PIX_FMT_YUV420P >-- || video_codec_ctx->pix_fmt == PIX_FMT_YUV420P10)) >-+ && (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV444P >-+ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV444P10 >-+ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV422P >-+ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV422P10 >-+ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV420P >-+ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV420P10)) >- { >-- if (video_codec_ctx->pix_fmt == PIX_FMT_YUV444P >-- || video_codec_ctx->pix_fmt == PIX_FMT_YUV444P10) >-+ if (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV444P >-+ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV444P10) >- { >- video_frame_template.layout = video_frame::yuv444p; >- } >-- else if (video_codec_ctx->pix_fmt == PIX_FMT_YUV422P >-- || video_codec_ctx->pix_fmt == PIX_FMT_YUV422P10) >-+ else if (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV422P >-+ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV422P10) >- { >- video_frame_template.layout = video_frame::yuv422p; >- } >-@@ -448,9 +466,9 @@ void media_object::set_video_frame_templ >- { >- video_frame_template.color_space = video_frame::yuv709; >- } >-- if (video_codec_ctx->pix_fmt == PIX_FMT_YUV444P10 >-- || video_codec_ctx->pix_fmt == PIX_FMT_YUV422P10 >-- || video_codec_ctx->pix_fmt == PIX_FMT_YUV420P10) >-+ if (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV444P10 >-+ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV422P10 >-+ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV420P10) >- { >- video_frame_template.value_range = video_frame::u10_mpeg; >- if (video_codec_ctx->color_range == AVCOL_RANGE_JPEG) >-@@ -477,15 +495,15 @@ void media_object::set_video_frame_templ >- } >- } >- else if (!_always_convert_to_bgra32 >-- && (video_codec_ctx->pix_fmt == PIX_FMT_YUVJ444P >-- || video_codec_ctx->pix_fmt == PIX_FMT_YUVJ422P >-- || video_codec_ctx->pix_fmt == PIX_FMT_YUVJ420P)) >-+ && (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUVJ444P >-+ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUVJ422P >-+ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUVJ420P)) >- { >-- if (video_codec_ctx->pix_fmt == PIX_FMT_YUVJ444P) >-+ if (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUVJ444P) >- { >- video_frame_template.layout = video_frame::yuv444p; >- } >-- else if (video_codec_ctx->pix_fmt == PIX_FMT_YUVJ422P) >-+ else if (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUVJ422P) >- { >- video_frame_template.layout = video_frame::yuv422p; >- } >-@@ -879,7 +897,7 @@ void media_object::open(const std::strin >- { >- _ffmpeg->format_ctx->streams[i]->discard = AVDISCARD_ALL; // ignore by default; user must activate streams >- AVCodecContext *codec_ctx = _ffmpeg->format_ctx->streams[i]->codec; >-- AVCodec *codec = (codec_ctx->codec_id == CODEC_ID_TEXT >-+ AVCodec *codec = (codec_ctx->codec_id == AV_CODEC_ID_TEXT >- ? NULL : avcodec_find_decoder(codec_ctx->codec_id)); >- // XXX: Sometimes the reported width and height for a video stream change after avcodec_open(), >- // but the original values seem to be correct. This seems to happen mostly with 1920x1080 video >-@@ -899,8 +917,8 @@ void media_object::open(const std::strin >- if (codec_ctx->lowres || (codec && (codec->capabilities & CODEC_CAP_DR1))) >- codec_ctx->flags |= CODEC_FLAG_EMU_EDGE; >- } >-- // Find and open the codec. CODEC_ID_TEXT is a special case: it has no decoder since it is unencoded raw data. >-- if (codec_ctx->codec_id != CODEC_ID_TEXT && (!codec || (e = avcodec_open2(codec_ctx, codec, NULL)) < 0)) >-+ // Find and open the codec. AV_CODEC_ID_TEXT is a special case: it has no decoder since it is unencoded raw data. >-+ if (codec_ctx->codec_id != AV_CODEC_ID_TEXT && (!codec || (e = avcodec_open2(codec_ctx, codec, NULL)) < 0)) >- { >- msg::wrn(_("%s stream %d: Cannot open %s: %s"), _url.c_str(), i, >- codec_ctx->codec_type == AVMEDIA_TYPE_VIDEO ? _("video codec") >-@@ -928,10 +946,15 @@ void media_object::open(const std::strin >- _ffmpeg->video_packets.push_back(AVPacket()); >- av_init_packet(&(_ffmpeg->video_packets[j])); >- _ffmpeg->video_decode_threads.push_back(video_decode_thread(_url, _ffmpeg, j)); >-+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55, 28, 1) >- _ffmpeg->video_frames.push_back(avcodec_alloc_frame()); >- _ffmpeg->video_buffered_frames.push_back(avcodec_alloc_frame()); >-- enum PixelFormat frame_fmt = (_ffmpeg->video_frame_templates[j].layout == video_frame::bgra32 >-- ? PIX_FMT_BGRA : _ffmpeg->video_codec_ctxs[j]->pix_fmt); >-+#else >-+ _ffmpeg->video_frames.push_back(av_frame_alloc()); >-+ _ffmpeg->video_buffered_frames.push_back(av_frame_alloc()); >-+#endif >-+ enum AVPixelFormat frame_fmt = (_ffmpeg->video_frame_templates[j].layout == video_frame::bgra32 >-+ ? AV_PIX_FMT_BGRA : _ffmpeg->video_codec_ctxs[j]->pix_fmt); >- int frame_bufsize = (avpicture_get_size(frame_fmt, >- _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height)); >- _ffmpeg->video_buffers.push_back(static_cast<uint8_t *>(av_malloc(frame_bufsize))); >-@@ -944,20 +967,24 @@ void media_object::open(const std::strin >- if (_ffmpeg->video_frame_templates[j].layout == video_frame::bgra32) >- { >- // Initialize things needed for software pixel format conversion >-- int sws_bufsize = avpicture_get_size(PIX_FMT_BGRA, >-+ int sws_bufsize = avpicture_get_size(AV_PIX_FMT_BGRA, >- _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height); >-+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55, 28, 1) >- _ffmpeg->video_sws_frames.push_back(avcodec_alloc_frame()); >-+#else >-+ _ffmpeg->video_sws_frames.push_back(av_frame_alloc()); >-+#endif >- _ffmpeg->video_sws_buffers.push_back(static_cast<uint8_t *>(av_malloc(sws_bufsize))); >- if (!_ffmpeg->video_sws_frames[j] || !_ffmpeg->video_sws_buffers[j]) >- { >- throw exc(HERE + ": " + strerror(ENOMEM)); >- } >- avpicture_fill(reinterpret_cast<AVPicture *>(_ffmpeg->video_sws_frames[j]), _ffmpeg->video_sws_buffers[j], >-- PIX_FMT_BGRA, _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height); >-+ AV_PIX_FMT_BGRA, _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height); >- // Call sws_getCachedContext(NULL, ...) instead of sws_getContext(...) just to avoid a deprecation warning. >- _ffmpeg->video_sws_ctxs.push_back(sws_getCachedContext(NULL, >- _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height, _ffmpeg->video_codec_ctxs[j]->pix_fmt, >-- _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height, PIX_FMT_BGRA, >-+ _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height, AV_PIX_FMT_BGRA, >- SWS_POINT, NULL, NULL, NULL)); >- if (!_ffmpeg->video_sws_ctxs[j]) >- { >-@@ -1000,9 +1027,9 @@ void media_object::open(const std::strin >- int j = _ffmpeg->subtitle_streams.size() - 1; >- msg::dbg(_url + " stream " + str::from(i) + " is subtitle stream " + str::from(j) + "."); >- _ffmpeg->subtitle_codec_ctxs.push_back(codec_ctx); >-- // CODEC_ID_TEXT does not have any decoder; it is just UTF-8 text in the packet data. >-+ // AV_CODEC_ID_TEXT does not have any decoder; it is just UTF-8 text in the packet data. >- _ffmpeg->subtitle_codecs.push_back( >-- _ffmpeg->subtitle_codec_ctxs[j]->codec_id == CODEC_ID_TEXT ? NULL : codec); >-+ _ffmpeg->subtitle_codec_ctxs[j]->codec_id == AV_CODEC_ID_TEXT ? NULL : codec); >- _ffmpeg->subtitle_box_templates.push_back(subtitle_box()); >- set_subtitle_box_template(j); >- _ffmpeg->subtitle_decode_threads.push_back(subtitle_decode_thread(_url, _ffmpeg, j)); >-@@ -1505,7 +1532,7 @@ read_frame: >- // We need to buffer the data because FFmpeg will clubber it when decoding the next frame. >- av_picture_copy(reinterpret_cast<AVPicture *>(_ffmpeg->video_buffered_frames[_video_stream]), >- reinterpret_cast<AVPicture *>(_ffmpeg->video_frames[_video_stream]), >-- static_cast<enum PixelFormat>(_ffmpeg->video_codec_ctxs[_video_stream]->pix_fmt), >-+ static_cast<enum AVPixelFormat>(_ffmpeg->video_codec_ctxs[_video_stream]->pix_fmt), >- _ffmpeg->video_codec_ctxs[_video_stream]->width, >- _ffmpeg->video_codec_ctxs[_video_stream]->height); >- src_frame = _ffmpeg->video_buffered_frames[_video_stream]; >-@@ -1776,8 +1803,8 @@ void subtitle_decode_thread::run() >- int got_subtitle; >- tmppacket = packet; >- >-- // CODEC_ID_TEXT does not have any decoder; it is just UTF-8 text in the packet data. >-- if (_ffmpeg->subtitle_codec_ctxs[_subtitle_stream]->codec_id == CODEC_ID_TEXT) >-+ // AV_CODEC_ID_TEXT does not have any decoder; it is just UTF-8 text in the packet data. >-+ if (_ffmpeg->subtitle_codec_ctxs[_subtitle_stream]->codec_id == AV_CODEC_ID_TEXT) >- { >- int64_t duration = packet.convergence_duration * 1000000 >- * _ffmpeg->format_ctx->streams[_ffmpeg->subtitle_streams[_subtitle_stream]]->time_base.num >-@@ -1937,9 +1964,9 @@ void media_object::seek(int64_t dest_pos >- } >- for (size_t i = 0; i < _ffmpeg->subtitle_streams.size(); i++) >- { >-- if (_ffmpeg->format_ctx->streams[_ffmpeg->subtitle_streams[i]]->codec->codec_id != CODEC_ID_TEXT) >-+ if (_ffmpeg->format_ctx->streams[_ffmpeg->subtitle_streams[i]]->codec->codec_id != AV_CODEC_ID_TEXT) >- { >-- // CODEC_ID_TEXT has no decoder, so we cannot flush its buffers >-+ // AV_CODEC_ID_TEXT has no decoder, so we cannot flush its buffers >- avcodec_flush_buffers(_ffmpeg->format_ctx->streams[_ffmpeg->subtitle_streams[i]]->codec); >- } >- _ffmpeg->subtitle_box_buffers[i].clear(); > >Property changes on: multimedia/bino/files/patch-src_media__object.cpp >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: multimedia/bino/pkg-plist >=================================================================== >--- multimedia/bino/pkg-plist (revision 453449) >+++ multimedia/bino/pkg-plist (working copy) >@@ -36,10 +36,12 @@ > %%DOCSDIR%%/input-layout-alternating-left-right.png > %%DOCSDIR%%/input-layout-alternating-right-left.png > %%DOCSDIR%%/output-type-alternating.png >+%%NLS%%share/locale/bg/LC_MESSAGES/bino.mo >+%%NLS%%share/locale/cs/LC_MESSAGES/bino.mo > %%NLS%%share/locale/de/LC_MESSAGES/bino.mo > %%NLS%%share/locale/fr/LC_MESSAGES/bino.mo > %%NLS%%share/locale/ru/LC_MESSAGES/bino.mo >-%%NLS%%share/locale/bg/LC_MESSAGES/bino.mo >+%%NLS%%share/locale/zh_cn/LC_MESSAGES/bino.mo > bin/bino > share/applications/bino.desktop > share/icons/hicolor/16x16/apps/bino.png
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 223426
: 187727