media-video/dvdstyler: Fix ffmpeg patch and make it unconditional.
authorAlexis Ballier <aballier@gentoo.org>
Sun, 1 Nov 2015 10:37:21 +0000 (11:37 +0100)
committerAlexis Ballier <aballier@gentoo.org>
Sun, 1 Nov 2015 10:37:21 +0000 (11:37 +0100)
Package-Manager: portage-2.2.23

media-video/dvdstyler/dvdstyler-2.9.4-r1.ebuild
media-video/dvdstyler/files/dvdstyler-2.9.4-ffmpeg29.patch [new file with mode: 0644]

index 2c5c99424ccd8d12707272b5597f6e04199e8331..8e6f47d33e31de560ea76c79e14312a0430738f2 100644 (file)
@@ -24,8 +24,8 @@ COMMON_DEPEND=">=app-cdr/dvd+rw-tools-7.1
        >=media-video/dvdauthor-0.7.1
        >=media-video/xine-ui-0.99.7
        virtual/cdrtools
-       libav? ( media-video/libav:0=[encode] )
-       !libav? ( media-video/ffmpeg:0=[encode] )
+       libav? ( >=media-video/libav-9:0=[encode] )
+       !libav? ( >=media-video/ffmpeg-2.6:0=[encode] )
        virtual/jpeg:0
        x11-libs/wxGTK:${WX_GTK_VER}=[gstreamer,X]
        sys-apps/dbus
@@ -54,7 +54,7 @@ src_prepare() {
        sed -i \
                -e '/Icon/s:.png::' -e '/^Encoding/d' -e '/Categories/s:Application;::' \
                data/dvdstyler.desktop || die
-       has_version '>=media-video/ffmpeg-2.9' && epatch "${FILESDIR}/ffmpeg29.patch"
+       epatch "${FILESDIR}/${PN}-2.9.4-ffmpeg29.patch"
 }
 
 src_configure() {
diff --git a/media-video/dvdstyler/files/dvdstyler-2.9.4-ffmpeg29.patch b/media-video/dvdstyler/files/dvdstyler-2.9.4-ffmpeg29.patch
new file mode 100644 (file)
index 0000000..2ddd414
--- /dev/null
@@ -0,0 +1,31 @@
+Index: DVDStyler-2.9.4/src/mediaenc_ffmpeg.cpp
+===================================================================
+--- DVDStyler-2.9.4.orig/src/mediaenc_ffmpeg.cpp
++++ DVDStyler-2.9.4/src/mediaenc_ffmpeg.cpp
+@@ -179,7 +179,7 @@ bool wxFfmpegMediaEncoder::addVideoStrea
+       c->time_base.den = isNTSC(videoFormat) ? 30000 : 25;
+       c->time_base.num = isNTSC(videoFormat) ? 1001 : 1;
+       c->gop_size = m_gopSize > 0 ? m_gopSize : (isNTSC(videoFormat) ? 15 : 12);
+-      c->pix_fmt = PIX_FMT_YUV420P;
++      c->pix_fmt = AV_PIX_FMT_YUV420P;
+       c->rc_buffer_size = VIDEO_BUF_SIZE;
+       c->rc_max_rate = 9000000;
+       c->rc_min_rate = 0;
+@@ -280,7 +280,7 @@ void wxFfmpegMediaEncoder::CloseAudioEnc
+       m_audioStm = NULL;
+ }
+ 
+-AVFrame* allocPicture(PixelFormat pix_fmt, int width, int height) {
++AVFrame* allocPicture(AVPixelFormat pix_fmt, int width, int height) {
+       AVFrame* frame = av_frame_alloc();
+       if (!frame)
+               return NULL;
+@@ -329,7 +329,7 @@ bool wxFfmpegMediaEncoder::OpenVideoEnco
+               return false;
+       }
+ 
+-      m_imgConvertCtx = sws_getContext(c->width, c->height, PIX_FMT_RGB24, c->width, c->height, c->pix_fmt, SWS_BICUBIC,
++      m_imgConvertCtx = sws_getContext(c->width, c->height, AV_PIX_FMT_RGB24, c->width, c->height, c->pix_fmt, SWS_BICUBIC,
+                       NULL, NULL, NULL);
+       if (!m_imgConvertCtx) {
+               wxLogError(wxT("Cannot initialize the conversion context"));