[FFmpeg-devel] [PATCH] avformat/utils: remove AVStreamInternal.orig_codec_id

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Sun Jul 18 01:17:06 EEST 2021


James Almer:
> It's a write only field.
> 
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
>  libavformat/internal.h | 2 --
>  libavformat/utils.c    | 6 ------
>  2 files changed, 8 deletions(-)
> 
> diff --git a/libavformat/internal.h b/libavformat/internal.h
> index 240de9e289..4b7ab082e7 100644
> --- a/libavformat/internal.h
> +++ b/libavformat/internal.h
> @@ -204,8 +204,6 @@ struct AVStreamInternal {
>       */
>      int avctx_inited;
>  
> -    enum AVCodecID orig_codec_id;
> -
>      /* the context for extracting extradata in find_stream_info()
>       * inited=1/bsf=NULL signals that extracting is not possible (codec not
>       * supported) */
> diff --git a/libavformat/utils.c b/libavformat/utils.c
> index 998fddf270..efdb6f062f 100644
> --- a/libavformat/utils.c
> +++ b/libavformat/utils.c
> @@ -604,9 +604,6 @@ int avformat_open_input(AVFormatContext **ps, const char *filename,
>  
>      update_stream_avctx(s);
>  
> -    for (i = 0; i < s->nb_streams; i++)

This loop is the only user of i, so it needs to be removed as well. LGTM
apart from that.
(Found via patchwork; thanks Andriy again. Btw, this shows why we should
use for loops with variable declaration (i.e. "for (int i = 0;").)

> -        s->streams[i]->internal->orig_codec_id = s->streams[i]->codecpar->codec_id;
> -
>      if (options) {
>          av_dict_free(options);
>          *options = tmp;
> @@ -3614,9 +3611,6 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
>              }
>          }
>  
> -        if (st->codecpar->codec_id != st->internal->orig_codec_id)
> -            st->internal->orig_codec_id = st->codecpar->codec_id;
> -
>          ret = avcodec_parameters_to_context(avctx, st->codecpar);
>          if (ret < 0)
>              goto find_stream_info_err;
> 



More information about the ffmpeg-devel mailing list