[FFmpeg-devel] [PATCH 1/2] frame: handle add side data with the same type

"zhilizhao(赵志立)" quinkblack at foxmail.com
Fri Nov 1 12:19:05 EET 2019


Ping for review, thanks!

> On Oct 25, 2019, at 1:00 PM, quinkblack at foxmail.com wrote:
> 
> From: Zhao Zhili <zhilizhao at tencent.com>
> 
> ---
> libavutil/frame.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
> 
> diff --git a/libavutil/frame.c b/libavutil/frame.c
> index dcf1fc3d17..bb20e99331 100644
> --- a/libavutil/frame.c
> +++ b/libavutil/frame.c
> @@ -692,10 +692,23 @@ AVFrameSideData *av_frame_new_side_data_from_buf(AVFrame *frame,
>                                                  AVBufferRef *buf)
> {
>     AVFrameSideData *ret, **tmp;
> +    int i;
> 
>     if (!buf)
>         return NULL;
> 
> +    for (i = 0; i < frame->nb_side_data; i++) {
> +        AVFrameSideData *sd = frame->side_data[i];
> +        if (sd->type == type) {
> +            av_buffer_unref(&sd->buf);
> +            av_dict_free(&sd->metadata);
> +            sd->buf = buf;
> +            sd->data = buf->data;
> +            sd->size = buf->size;
> +            return sd;
> +        }
> +    }
> +
>     if (frame->nb_side_data > INT_MAX / sizeof(*frame->side_data) - 1)
>         return NULL;
> 
> -- 
> 2.22.0
> 





More information about the ffmpeg-devel mailing list