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

Reply via email to