commit:     a59351a243cc55ff56ab15895b16356846cbe0ca
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 15 12:15:39 2015 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Tue Sep 15 12:15:50 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a59351a2

media-libs/xine-lib: fix build with ffmpeg git master

Package-Manager: portage-2.2.20.1

 media-libs/xine-lib/files/ffmpeg29.patch     | 44 ++++++++++++++++++++++++++++
 media-libs/xine-lib/xine-lib-1.2.6-r1.ebuild |  3 +-
 2 files changed, 46 insertions(+), 1 deletion(-)

diff --git a/media-libs/xine-lib/files/ffmpeg29.patch 
b/media-libs/xine-lib/files/ffmpeg29.patch
new file mode 100644
index 0000000..a220483
--- /dev/null
+++ b/media-libs/xine-lib/files/ffmpeg29.patch
@@ -0,0 +1,44 @@
+Index: xine-lib-1.2.6/src/combined/ffmpeg/ff_audio_decoder.c
+===================================================================
+--- xine-lib-1.2.6.orig/src/combined/ffmpeg/ff_audio_decoder.c
++++ xine-lib-1.2.6/src/combined/ffmpeg/ff_audio_decoder.c
+@@ -590,7 +590,7 @@ static int ff_audio_decode (ff_audio_dec
+   int got_frame;
+   float gain = this->class->gain;
+   if (!this->av_frame)
+-    this->av_frame = avcodec_alloc_frame ();
++    this->av_frame = av_frame_alloc ();
+ 
+   consumed = avcodec_decode_audio4 (this->context, this->av_frame, 
&got_frame, &avpkt);
+   if ((consumed >= 0) && got_frame) {
+@@ -1071,7 +1071,7 @@ static void ff_audio_reset (audio_decode
+   /* try to reset the wma decoder */
+   if( this->decoder_ok ) {
+ #if AVAUDIO > 3
+-    avcodec_free_frame (&this->av_frame);
++    av_frame_free (&this->av_frame);
+ #endif
+     pthread_mutex_lock (&ffmpeg_lock);
+     avcodec_close (this->context);
+@@ -1105,7 +1105,7 @@ static void ff_audio_dispose (audio_deco
+ 
+   if( this->context && this->decoder_ok ) {
+ #if AVAUDIO > 3
+-    avcodec_free_frame (&this->av_frame);
++    av_frame_free (&this->av_frame);
+ #endif
+     pthread_mutex_lock (&ffmpeg_lock);
+     avcodec_close (this->context);
+Index: xine-lib-1.2.6/src/combined/ffmpeg/ff_video_decoder.c
+===================================================================
+--- xine-lib-1.2.6.orig/src/combined/ffmpeg/ff_video_decoder.c
++++ xine-lib-1.2.6/src/combined/ffmpeg/ff_video_decoder.c
+@@ -2523,7 +2523,7 @@ static video_decoder_t *ff_video_open_pl
+   this->stream                            = stream;
+   this->class                             = (ff_video_class_t *) class_gen;
+ 
+-  this->av_frame          = avcodec_alloc_frame();
++  this->av_frame          = av_frame_alloc();
+   this->context           = avcodec_alloc_context();
+   this->context->opaque   = this;
+ #if AVPALETTE == 1

diff --git a/media-libs/xine-lib/xine-lib-1.2.6-r1.ebuild 
b/media-libs/xine-lib/xine-lib-1.2.6-r1.ebuild
index ac9f0f4..543d87f 100644
--- a/media-libs/xine-lib/xine-lib-1.2.6-r1.ebuild
+++ b/media-libs/xine-lib/xine-lib-1.2.6-r1.ebuild
@@ -4,7 +4,7 @@
 
 EAPI=5
 
-inherit flag-o-matic libtool multilib
+inherit flag-o-matic libtool multilib eutils
 
 if [[ ${PV} == *9999* ]]; then
        EHG_REPO_URI="http://hg.debian.org/hg/xine-lib/xine-lib-1.2";
@@ -130,6 +130,7 @@ src_prepare() {
        for x in 0 1 2 3; do
                sed -i -e "/^O${x}_CFLAGS=\"-O${x}\"/d" configure || die
        done
+       has_version '>=media-video/ffmpeg-2.9' && epatch 
"${FILESDIR}/ffmpeg29.patch"
 }
 
 src_configure() {

Reply via email to