[FFmpeg-devel] [PATCH] ffmpeg: use av_stream_new_side_data()

James Almer jamrial at gmail.com
Fri Apr 7 22:49:55 EEST 2017


On 12/26/2016 6:36 PM, James Almer wrote:
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
>  ffmpeg.c | 17 ++++-------------
>  1 file changed, 4 insertions(+), 13 deletions(-)
> 
> diff --git a/ffmpeg.c b/ffmpeg.c
> index ec9da3e..a1c02ca 100644
> --- a/ffmpeg.c
> +++ b/ffmpeg.c
> @@ -2916,26 +2916,17 @@ static int init_output_stream_streamcopy(OutputStream *ost)
>      ost->st->disposition = ist->st->disposition;
>  
>      if (ist->st->nb_side_data) {
> -        ost->st->side_data = av_realloc_array(NULL, ist->st->nb_side_data,
> -                                              sizeof(*ist->st->side_data));
> -        if (!ost->st->side_data)
> -            return AVERROR(ENOMEM);
> -
> -        ost->st->nb_side_data = 0;
>          for (i = 0; i < ist->st->nb_side_data; i++) {
>              const AVPacketSideData *sd_src = &ist->st->side_data[i];
> -            AVPacketSideData *sd_dst = &ost->st->side_data[ost->st->nb_side_data];
> +            uint8_t *dst_data;
>  
>              if (ost->rotate_overridden && sd_src->type == AV_PKT_DATA_DISPLAYMATRIX)
>                  continue;
>  
> -            sd_dst->data = av_malloc(sd_src->size);
> -            if (!sd_dst->data)
> +            dst_data = av_stream_new_side_data(ost->st, sd_src->type, sd_src->size);
> +            if (!dst_data)
>                  return AVERROR(ENOMEM);
> -            memcpy(sd_dst->data, sd_src->data, sd_src->size);
> -            sd_dst->size = sd_src->size;
> -            sd_dst->type = sd_src->type;
> -            ost->st->nb_side_data++;
> +            memcpy(dst_data, sd_src->data, sd_src->size);
>          }
>      }

Pushed.


More information about the ffmpeg-devel mailing list