[FFmpeg-devel] [PATCH 1/2] avformat: move public AVStream fields up in the struct

James Almer jamrial at gmail.com
Sat Oct 28 04:34:09 EEST 2017


On 10/23/2017 1:08 PM, James Almer wrote:
> Remove the silly second notice.
> 
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
>  libavformat/avformat.h | 65 ++++++++++++++++++++++----------------------------
>  1 file changed, 28 insertions(+), 37 deletions(-)
> 
> diff --git a/libavformat/avformat.h b/libavformat/avformat.h
> index ece1b179f3..7594277f06 100644
> --- a/libavformat/avformat.h
> +++ b/libavformat/avformat.h
> @@ -980,6 +980,34 @@ typedef struct AVStream {
>      int event_flags;
>  #define AVSTREAM_EVENT_FLAG_METADATA_UPDATED 0x0001 ///< The call resulted in updated metadata.
>  
> +    /**
> +     * Real base framerate of the stream.
> +     * This is the lowest framerate with which all timestamps can be
> +     * represented accurately (it is the least common multiple of all
> +     * framerates in the stream). Note, this value is just a guess!
> +     * For example, if the time base is 1/90000 and all frames have either
> +     * approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1.
> +     */
> +    AVRational r_frame_rate;
> +
> +    /**
> +     * String containing paris of key and values describing recommended encoder configuration.
> +     * Paris are separated by ','.
> +     * Keys are separated from values by '='.
> +     */
> +    char *recommended_encoder_configuration;
> +
> +    /**
> +     * Codec parameters associated with this stream. Allocated and freed by
> +     * libavformat in avformat_new_stream() and avformat_free_context()
> +     * respectively.
> +     *
> +     * - demuxing: filled by libavformat on stream creation or in
> +     *             avformat_find_stream_info()
> +     * - muxing: filled by the caller before avformat_write_header()
> +     */
> +    AVCodecParameters *codecpar;
> +
>      /*****************************************************************
>       * All fields below this line are not part of the public API. They
>       * may not be used outside of libavformat and can be changed and
> @@ -1064,19 +1092,6 @@ typedef struct AVStream {
>      int nb_index_entries;
>      unsigned int index_entries_allocated_size;
>  
> -    /**
> -     * Real base framerate of the stream.
> -     * This is the lowest framerate with which all timestamps can be
> -     * represented accurately (it is the least common multiple of all
> -     * framerates in the stream). Note, this value is just a guess!
> -     * For example, if the time base is 1/90000 and all frames have either
> -     * approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1.
> -     *
> -     * Code outside avformat should access this field using:
> -     * av_stream_get/set_r_frame_rate(stream)
> -     */
> -    AVRational r_frame_rate;
> -
>      /**
>       * Stream Identifier
>       * This is the MPEG-TS stream identifier +1
> @@ -1182,19 +1197,6 @@ typedef struct AVStream {
>       */
>      int inject_global_side_data;
>  
> -    /*****************************************************************
> -     * All fields above this line are not part of the public API.
> -     * Fields below are part of the public API and ABI again.
> -     *****************************************************************
> -     */
> -
> -    /**
> -     * String containing paris of key and values describing recommended encoder configuration.
> -     * Paris are separated by ','.
> -     * Keys are separated from values by '='.
> -     */
> -    char *recommended_encoder_configuration;
> -
>      /**
>       * display aspect ratio (0 if unknown)
>       * - encoding: unused
> @@ -1209,17 +1211,6 @@ typedef struct AVStream {
>       * Must not be accessed in any way by callers.
>       */
>      AVStreamInternal *internal;
> -
> -    /*
> -     * Codec parameters associated with this stream. Allocated and freed by
> -     * libavformat in avformat_new_stream() and avformat_free_context()
> -     * respectively.
> -     *
> -     * - demuxing: filled by libavformat on stream creation or in
> -     *             avformat_find_stream_info()
> -     * - muxing: filled by the caller before avformat_write_header()
> -     */
> -    AVCodecParameters *codecpar;
>  } AVStream;
>  
>  AVRational av_stream_get_r_frame_rate(const AVStream *s);

Ping.


More information about the ffmpeg-devel mailing list