On 01/15/2012 02:44 PM, Reinhard Tartler wrote: > Do not fail audio decoding with avcodec_decode_audio3 if user has set a > custom get_buffer. Strictly speaking, this was never allowed by the API, > but it seems that some software packages did so anyways. In order to > unbreak applications (cf. http://bugs.debian.org/655890), this change > clarifies the API and overrides the custom get_buffer() with the defaults. > > This change is inspired by a similar > commit (c3846e3ebab610be691adb8b40d376dc2f675dc4) in FFmpeg. > > Signed-off-by: Reinhard Tartler <[email protected]> > --- > libavcodec/avcodec.h | 7 +++++++ > libavcodec/utils.c | 9 ++++++--- > 2 files changed, 13 insertions(+), 3 deletions(-) > > Please see http://bugs.debian.org/655890 and the irc conversation from > this afternoon for context. > > diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h > index c195ad5..92fd9ff 100644 > --- a/libavcodec/avcodec.h > +++ b/libavcodec/avcodec.h > @@ -4070,6 +4070,13 @@ int avcodec_open2(AVCodecContext *avctx, AVCodec > *codec, AVDictionary **options) > * @warning The end of the input buffer avpkt->data should be set to 0 to > ensure that > * no overreading happens for damaged MPEG streams. > * > + * @warning You must not provide custom get_buffer()/release_buffer()
release_buffer() is not used for audio (as noted in the get_buffer() documentation). I suppose it doesn't hurt to explicitly tell users not to set it, but we don't need to override it. -Justin _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
