Bug#655890: libavcodec53: Breaks decoding using gst-ffmpeg

Reinhard Tartler siretart at tauware.de
Sun Jan 15 15:18:51 UTC 2012


forwarded 655890 justin.ruggles at gmail.com
stop

On Sa, Jan 14, 2012 at 16:51:27 (CET), reiter.christoph at gmail.com wrote:

> Package: libavcodec53
> Version: 4:0.8~beta2-1
> Severity: important
>
> The recent upload of 0.8 to sid broke gst-ffmpeg and more specific WMA decoding
> since gst-ffmpeg is used for this in totem etc. by default (playbin)
>
> I get lots of
>
> ffmpeg :0:: A custom get_buffer() cannot be used with avcodec_decode_audio3()
>
> Downgrading libav to 0.7 fixes it.

Using git blame, I have identified the following commit, which
introduces the error message cited above to libavcodec/utils.c:

commit 0eea212943544d40f99b05571aa7159d78667154
Author: Justin Ruggles <justin.ruggles at gmail.com>
Date:   Tue Sep 6 12:17:45 2011 -0400

    Add avcodec_decode_audio4().
    
    Deprecate avcodec_decode_audio3().
    Implement audio support in avcodec_default_get_buffer().
    Implement the new audio decoder API in all audio decoders.


This commits adds the following entries to doc/APIchanges:

--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -13,6 +13,13 @@ libavutil:   2011-04-18
 
 API changes, most recent first:
 
+2011-xx-xx - xxxxxxx - lavc 53.25.0
+  Add nb_samples and extended_data fields to AVFrame.
+  Deprecate AVCODEC_MAX_AUDIO_FRAME_SIZE.
+  Deprecate avcodec_decode_audio3() in favor of avcodec_decode_audio4().
+  avcodec_decode_audio4() writes output samples to an AVFrame, which allows
+  audio decoders to use get_buffer().
+
 2011-xx-xx - xxxxxxx - lavc 53.24.0
   Change AVFrame.data[4]/base[4]/linesize[4]/error[4] to [8] at next major bump.
   Change AVPicture.data[4]/linesize[4] to [8] at next major bump.


Justin, it seems that additionally to what is documented above, this
change breaks applications such as gst-ffmpeg, which have successfully
used avcodec_decode_audio3() with a custom get_buffer(). If this is
correct, what can we do to restore this functionality? Would the
following patch be likely to unbreak gst-ffmpeg?

http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c3846e3ebab610be691adb8b40d376dc2f675dc4

Cheers,
Reinhard

-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4





More information about the pkg-multimedia-maintainers mailing list