[FFmpeg-devel] [PATCH 5/5] avformat: move AVStream.stream_identifier to AVStreamInternal

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Tue May 4 21:35:37 EEST 2021


James Almer:
> It's a private field, no reason to have it exposed in a public header.
> 
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
>  libavformat/avformat.h | 7 -------
>  libavformat/internal.h | 7 +++++++
>  libavformat/mpegts.c   | 4 ++--
>  3 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/libavformat/avformat.h b/libavformat/avformat.h
> index ecf76b4bfc..d62c3f8744 100644
> --- a/libavformat/avformat.h
> +++ b/libavformat/avformat.h
> @@ -1003,13 +1003,6 @@ typedef struct AVStream {
>      int64_t first_dts;
>      int64_t cur_dts;
>  
> -    /**
> -     * Stream Identifier
> -     * This is the MPEG-TS stream identifier +1
> -     * 0 means unknown
> -     */
> -    int stream_identifier;
> -
>      /**
>       * An opaque field for libavformat internal usage.
>       * Must not be accessed in any way by callers.
> diff --git a/libavformat/internal.h b/libavformat/internal.h
> index 94115960ea..d9423635d2 100644
> --- a/libavformat/internal.h
> +++ b/libavformat/internal.h
> @@ -382,6 +382,13 @@ struct AVStreamInternal {
>       * Number of frames that have been demuxed during avformat_find_stream_info()
>       */
>      int codec_info_nb_frames;
> +
> +    /**
> +     * Stream Identifier
> +     * This is the MPEG-TS stream identifier +1
> +     * 0 means unknown
> +     */
> +    int stream_identifier;
>  };
>  
>  #ifdef __GNUC__
> diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
> index fb454b9fd3..a02965bacf 100644
> --- a/libavformat/mpegts.c
> +++ b/libavformat/mpegts.c
> @@ -1995,7 +1995,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
>          }
>          break;
>      case 0x52: /* stream identifier descriptor */
> -        st->stream_identifier = 1 + get8(pp, desc_end);
> +        st->internal->stream_identifier = 1 + get8(pp, desc_end);
>          break;
>      case METADATA_DESCRIPTOR:
>          if (get16(pp, desc_end) == 0xFFFF)
> @@ -2114,7 +2114,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
>              // Listing of data_component_ids is in STD-B10, part 2, Annex J.
>              // Component tag limits are documented in TR-B14, fascicle 2,
>              // Vol. 3, Section 2, 4.2.8.1
> -            int actual_component_tag = st->stream_identifier - 1;
> +            int actual_component_tag = st->internal->stream_identifier - 1;
>              int picked_profile = FF_PROFILE_UNKNOWN;
>              int data_component_id = get16(pp, desc_end);
>              if (data_component_id < 0)
> 
It feels like this should be internal to mpegts.c.

- Andreas


More information about the ffmpeg-devel mailing list