Quoting Vittorio Giovara (2014-10-30 01:51:50)
> From: Luca Barbato <[email protected]>
> 
> Do not assume that the frame passed has that field set to 0 by default.
> 
> Bug-Id: CID 991853
> ---
>  libavcodec/utils.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/libavcodec/utils.c b/libavcodec/utils.c
> index 95d2193..a9f0e17 100644
> --- a/libavcodec/utils.c
> +++ b/libavcodec/utils.c
> @@ -443,8 +443,10 @@ static int audio_get_buffer(AVCodecContext *avctx, 
> AVFrame *frame)
>              av_freep(&frame->extended_buf);
>              return AVERROR(ENOMEM);
>          }
> -    } else
> -        frame->extended_data = frame->data;
> +    } else {
> +        frame->extended_data   = frame->data;
> +        frame->nb_extended_buf = 0;
> +    }
>  
>      for (i = 0; i < FFMIN(planes, AV_NUM_DATA_POINTERS); i++) {
>          frame->buf[i] = av_buffer_pool_get(pool->pools[0]);
> -- 
> 1.9.3 (Apple Git-50)
> 

No, this does not look right. If that field is non-zero, then the caller
messed up and should be fixed.

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to