Bug#803797: amarok: FTBFS with FFmpeg 2.9
Control: forwarded -1 https://git.reviewboard.kde.org/r/126682/#review90866 Hi Diane, On 11.01.2016 20:34, Diane Trout wrote: > Any chance you could weigh in on this KDE review? It's where I forwarded your > patch to upstream. > > https://git.reviewboard.kde.org/r/126682/#review90866 Thanks for forwarding this upstream, I'm marking the bug accordingly. The patch works with recent FFmpeg versions, i.e. since 2.0. If you really need to support older versions, you can guard av_frame_alloc/av_frame_unref/av_frame_free e.g. with: #if LIBAVUTIL_VERSION_MAJOR >= 54 Also, it would be nice to (literally) replace the newly deprecated av_free_packet with av_packet_unref, which can be guarded with: #if LIBAVCODEC_VERSION_MAJOR >= 55 (av_free_packet will probably be removed in about two years.) I hope you can understand that I won't follow up on the upstream tracker, as I've filed a lot of patches for this transition and following up on all of the different upstream trackers would be asking too much of me. Best regards, Andreas
Bug#803797: amarok: FTBFS with FFmpeg 2.9
Hello, Any chance you could weigh in on this KDE review? It's where I forwarded your patch to upstream. https://git.reviewboard.kde.org/r/126682/#review90866 Diane
Bug#803797: amarok: FTBFS with FFmpeg 2.9
Hi Diane, On 10.01.2016 01:12, Diane Trout wrote: > After I emailed you I found the KDE bug that the musicbrainz tagging was > crashing on https://bugs.kde.org/show_bug.cgi?id=328359 > > Also it appears they fixed that bug in git master. After building that I was > able to view tags, so I think everything's fine. That's good news. :) > I went ahead and released the 2.8.0-4 version with your patch in it. Thanks! Best regards, Andreas
Bug#803797: amarok: FTBFS with FFmpeg 2.9
On 09.01.2016 07:10, Diane Trout wrote: >>> though I'd ike to build and run it first. >> >> That's always a good idea. > > Ok I built it and ran it and I think I tested the chunk of code that you > modified and it crashed. Thanks for runtime testing this! > However I then ran the version without your patch and it also crashed, so I'm > going to send your patch to upstream along with my test plan and see if we > can > figure out whats broken. Can you share a link or mark this bug as forwarded? If the crash is related to FFmpeg functionality, I might be able to help. Best regards, Andreas
Bug#803797: amarok: FTBFS with FFmpeg 2.9
> > Can you share a link or mark this bug as forwarded? > If the crash is related to FFmpeg functionality, I might be able to help. After I emailed you I found the KDE bug that the musicbrainz tagging was crashing on https://bugs.kde.org/show_bug.cgi?id=328359 Also it appears they fixed that bug in git master. After building that I was able to view tags, so I think everything's fine. I went ahead and released the 2.8.0-4 version with your patch in it. Diane
Bug#803797: amarok: FTBFS with FFmpeg 2.9
Hi Diane, On 08.01.2016 08:47, Diane Trout wrote: > No I hadn't seen the previous bug report. Thank you for emailing me directly. Thanks for your quick reply. > I just looked at your patch and it seems pretty simple Yes, they are mostly search and replace, though the patch also fixes memory leaks. (Previously the correct way to free a frame was avcodec_free_frame, not av_free.) > though I'd ike to build and run it first. That's always a good idea. > Could you point me to any ffmpeg documentation about the deprecations in 2.9 To prevent any misunderstanding: This patch is not about deprecations introduced in 2.9, but about deprecations from the 2.0 era. The APIs deprecated back then got removed now. These API changes are documented in the APIchanges document [1]. (It's installed in ffmpeg-doc, as well.) Also there is a Libav website about the (similar) changes in Libav 12 [2]. > If it works I should be able to upload a new version of amarok over the > weekend. That would be great. > I'm not sure if upstream is aware. They're in beta for a new release so I'll > need to go look at their new version. I'll try to do that over the weekend as > well. Thanks. Best regards, Andreas 1: https://anonscm.debian.org/cgit/collab-maint/ffmpeg.git/tree/doc/APIchanges 2: https://wiki.libav.org/Migration/12
Bug#803797: amarok: FTBFS with FFmpeg 2.9
> > though I'd ike to build and run it first. > > That's always a good idea. Ok I built it and ran it and I think I tested the chunk of code that you modified and it crashed. However I then ran the version without your patch and it also crashed, so I'm going to send your patch to upstream along with my test plan and see if we can figure out whats broken. Diane
Bug#803797: amarok: FTBFS with FFmpeg 2.9
On Thursday, January 07, 2016 11:13:45 PM Andreas Cadhalpun wrote: > Dear Maintainer, > > the next version of FFmpeg is planned to be released this month > (and it might be called 3.0 instead of 2.9). > > Since I haven't heard back from you during the past two month > I'm wondering what the status of this bug is: > * Are you aware of the patch I provided? > * Do you plan an upload soon? > * Is upstream aware of the problem? No I hadn't seen the previous bug report. Thank you for emailing me directly. I just looked at your patch and it seems pretty simple though I'd ike to build and run it first. Could you point me to any ffmpeg documentation about the deprecations in 2.9 If it works I should be able to upload a new version of amarok over the weekend. I'm not sure if upstream is aware. They're in beta for a new release so I'll need to go look at their new version. I'll try to do that over the weekend as well. Diane
Bug#803797: amarok: FTBFS with FFmpeg 2.9
Dear Maintainer, the next version of FFmpeg is planned to be released this month (and it might be called 3.0 instead of 2.9). Since I haven't heard back from you during the past two month I'm wondering what the status of this bug is: * Are you aware of the patch I provided? * Do you plan an upload soon? * Is upstream aware of the problem? If this bug isn't fixed soon, it will become release critical and thus the package will either get NMUed or removed from testing. Best regards, Andreas
Bug#803797: amarok: FTBFS with FFmpeg 2.9
Package: amarok Version: 2.8.0-3 Severity: important Tags: patch User: pkg-multimedia-maintain...@lists.alioth.debian.org Usertags: ffmpeg2.9 Dear Maintainer, your package fails to build with the upcoming ffmpeg 2.9. This bug will become release-critical at some point when the ffmpeg2.9 transition gets closer. Attached is a patch replacing the deprecated functionality. It also works with ffmpeg 2.8. Please apply this patch and forward it upstream, if necessary. These changes have little regression potential. Best regards, Andreas diff --git a/debian/patches/ffmpeg_2.9.patch b/debian/patches/ffmpeg_2.9.patch new file mode 100644 index 000..aee4e1c --- /dev/null +++ b/debian/patches/ffmpeg_2.9.patch @@ -0,0 +1,87 @@ +Description: Replace deprecated FFmpeg API +Author: Andreas Cadhalpun+Last-Update: <2015-11-02> + +--- amarok-2.8.0.orig/src/musicbrainz/MusicDNSAudioDecoder.cpp amarok-2.8.0/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, , ); +@@ -267,7 +267,7 @@ MusicDNSAudioDecoder::decode( const QStr + + avcodec_close( pCodecCtx ); + avformat_close_input( ); +-av_free( decodedFrame ); ++av_frame_free( ); + + return data->duration(); + } +@@ -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, , ); +@@ -385,7 +385,7 @@ MusicDNSAudioDecoder::decode( const QStr + + avcodec_close( pCodecCtx ); + avformat_close_input( ); +-av_free( decodedFrame ); ++av_frame_free( ); + + return data->duration(); + } +@@ -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, , ); +@@ -503,7 +503,7 @@ MusicDNSAudioDecoder::decode( const QStr + + avcodec_close( pCodecCtx ); + av_close_input_file( pFormatCtx ); +-av_free( decodedFrame ); ++av_frame_free( ); + + return data->duration(); + } diff --git a/debian/patches/series b/debian/patches/series index 74320d5..605d3d8 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -7,3 +7,4 @@ debian_mysqle_force_defaults_file.diff debian_find_mysql_fix.diff debian_clamz_is_runtime_dependency.diff valgrind_uninitialized_value +ffmpeg_2.9.patch