[FFmpeg-devel] [PATCH] avformat/options: Deprecate av_fmt_ctx_get_duration_estimation_method()

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Tue Mar 5 13:01:24 EET 2024


Andreas Rheinhardt:
> Forgotten in b7785d10b00c88029d8af7dbddac09ab0d6f2b7f.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>  doc/APIchanges              | 4 ++++
>  libavformat/avformat.h      | 4 ++++
>  libavformat/options.c       | 2 ++
>  libavformat/version_major.h | 1 +
>  4 files changed, 11 insertions(+)
> 
> diff --git a/doc/APIchanges b/doc/APIchanges
> index 7d46ebb006..a72ec3553e 100644
> --- a/doc/APIchanges
> +++ b/doc/APIchanges
> @@ -2,6 +2,10 @@ The last version increases of all libraries were on 2023-02-09
>  
>  API changes, most recent first:
>  
> +2024-03-03 - xxxxxxxxxx - lavf 60.xx.100 - avformat.h
> +  Deprecate av_fmt_ctx_get_duration_estimation_method().
> +  The relevant field is public and needs no getter to access.
> +
>  2024-02-28 - xxxxxxxxxx - swr   4.14.100 - swresample.h
>    swr_convert() now accepts arrays of const pointers (to input and output).
>  
> diff --git a/libavformat/avformat.h b/libavformat/avformat.h
> index f4506f4cf1..af064b4dbb 100644
> --- a/libavformat/avformat.h
> +++ b/libavformat/avformat.h
> @@ -2008,12 +2008,16 @@ typedef struct AVFormatContext {
>   */
>  void av_format_inject_global_side_data(AVFormatContext *s);
>  
> +#if FF_API_GET_DUR_ESTIMATE_METHOD
>  /**
>   * Returns the method used to set ctx->duration.
>   *
>   * @return AVFMT_DURATION_FROM_PTS, AVFMT_DURATION_FROM_STREAM, or AVFMT_DURATION_FROM_BITRATE.
> + * @deprecated duration_estimation_method is public and can be read directly.
>   */
> +attribute_deprecated
>  enum AVDurationEstimationMethod av_fmt_ctx_get_duration_estimation_method(const AVFormatContext* ctx);
> +#endif
>  
>  /**
>   * @defgroup lavf_core Core functions
> diff --git a/libavformat/options.c b/libavformat/options.c
> index cd7e4cea9c..0b3e9775d9 100644
> --- a/libavformat/options.c
> +++ b/libavformat/options.c
> @@ -198,10 +198,12 @@ FF_ENABLE_DEPRECATION_WARNINGS
>      return s;
>  }
>  
> +#if FF_API_GET_DUR_ESTIMATE_METHOD
>  enum AVDurationEstimationMethod av_fmt_ctx_get_duration_estimation_method(const AVFormatContext* ctx)
>  {
>      return ctx->duration_estimation_method;
>  }
> +#endif
>  
>  const AVClass *avformat_get_class(void)
>  {
> diff --git a/libavformat/version_major.h b/libavformat/version_major.h
> index 224fdacf23..c488188344 100644
> --- a/libavformat/version_major.h
> +++ b/libavformat/version_major.h
> @@ -50,6 +50,7 @@
>  #define FF_API_ALLOW_FLUSH              (LIBAVFORMAT_VERSION_MAJOR < 61)
>  #define FF_API_AVSTREAM_SIDE_DATA       (LIBAVFORMAT_VERSION_MAJOR < 61)
>  
> +#define FF_API_GET_DUR_ESTIMATE_METHOD  (LIBAVFORMAT_VERSION_MAJOR < 62)
>  
>  #define FF_API_R_FRAME_RATE            1
>  

Will apply this patch tomorrow unless there are objections.

- Andreas



More information about the ffmpeg-devel mailing list