media-sound/amarok: fix build with ffmpeg 3, bug #601800
authorAlexis Ballier <aballier@gentoo.org>
Wed, 7 Dec 2016 12:34:39 +0000 (13:34 +0100)
committerAlexis Ballier <aballier@gentoo.org>
Wed, 7 Dec 2016 12:34:57 +0000 (13:34 +0100)
Package-Manager: portage-2.3.3

media-sound/amarok/amarok-2.8.90-r2.ebuild
media-sound/amarok/files/amarok-2.8.90-ffmpeg3.patch [new file with mode: 0644]

index 8a1246ffd2d966481003cfc042bf571b690013f5..a088d19f91d14c8ec04db2e044f1cc4098c5cd15 100644 (file)
@@ -79,6 +79,7 @@ PATCHES=(
        "${FILESDIR}/${P}-mysqld-rpath.patch"
        "${FILESDIR}/${P}-scriptconsole.patch"
        "${FILESDIR}/${P}-gcc6.patch"
+       "${FILESDIR}/${P}-ffmpeg3.patch"
 )
 
 src_configure() {
diff --git a/media-sound/amarok/files/amarok-2.8.90-ffmpeg3.patch b/media-sound/amarok/files/amarok-2.8.90-ffmpeg3.patch
new file mode 100644 (file)
index 0000000..32af490
--- /dev/null
@@ -0,0 +1,58 @@
+Index: amarok-2.8.90/src/musicbrainz/MusicDNSAudioDecoder.cpp
+===================================================================
+--- amarok-2.8.90.orig/src/musicbrainz/MusicDNSAudioDecoder.cpp
++++ amarok-2.8.90/src/musicbrainz/MusicDNSAudioDecoder.cpp
+@@ -223,7 +223,7 @@ MusicDNSAudioDecoder::decode( const QStr
+             {
+                 if( !decodedFrame )
+                 {
+-                    decodedFrame = avcodec_alloc_frame();
++                    decodedFrame = av_frame_alloc();
+                     if( !decodedFrame )
+                     {
+                         warning() << "Unable to allocate enough memory to decode file.";
+@@ -231,7 +231,7 @@ MusicDNSAudioDecoder::decode( const QStr
+                         break;
+                     }
+                     else
+-                        avcodec_get_frame_defaults( decodedFrame );
++                      av_frame_unref ( decodedFrame );
+                 }
+                 decoderRet = avcodec_decode_audio4( pCodecCtx, decodedFrame, &gotFrame, &avpkt );
+@@ -341,7 +341,7 @@ MusicDNSAudioDecoder::decode( const QStr
+             {
+                 if( !decodedFrame )
+                 {
+-                    decodedFrame = avcodec_alloc_frame();
++                    decodedFrame = av_frame_alloc();
+                     if( !decodedFrame )
+                     {
+                         warning() << "Unable to allocate enough memory to decode file.";
+@@ -349,7 +349,7 @@ MusicDNSAudioDecoder::decode( const QStr
+                         break;
+                     }
+                     else
+-                        avcodec_get_frame_defaults( decodedFrame );
++                      av_frame_unref( decodedFrame );
+                 }
+                 decoderRet = avcodec_decode_audio4( pCodecCtx, decodedFrame, &gotFrame, &avpkt );
+@@ -459,7 +459,7 @@ MusicDNSAudioDecoder::decode( const QStr
+             {
+                 if( !decodedFrame )
+                 {
+-                    decodedFrame = avcodec_alloc_frame();
++                    decodedFrame = av_frame_alloc();
+                     if( !decodedFrame )
+                     {
+                         warning() << "Unable to allocate enough memory to decode file.";
+@@ -467,7 +467,7 @@ MusicDNSAudioDecoder::decode( const QStr
+                         break;
+                     }
+                     else
+-                        avcodec_get_frame_defaults( decodedFrame );
++                      av_frame_unref( decodedFrame );
+                 }
+                 decoderRet = avcodec_decode_audio4( pCodecCtx, decodedFrame, &gotFrame, &avpkt );