[FFmpeg-devel] [PATCH 3/4] lavf: deprecate av_stream_get_parser()

Anton Khirnov anton at khirnov.net
Thu Aug 18 16:46:04 EEST 2022


It retrieves an AVStream's internal parser, whose state is not
well-defined from the caller's point of view. This function was added
for ffmpeg.c, which is no longer using it.

As there is no valid use for this function, deprecate it without
replacement.
---
 doc/APIchanges              | 3 ++-
 libavformat/avformat.h      | 3 +++
 libavformat/demux_utils.c   | 2 ++
 libavformat/version_major.h | 1 +
 4 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index bc355b59ed..078f9de223 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,7 +15,8 @@ libavutil:     2021-04-27
 API changes, most recent first:
 
 2022-08-xx - xxxxxxxxxx - lavf 59 - avformat.h
-  Deprecate av_stream_get_end_pts() without replacement.
+  Deprecate av_stream_get_end_pts() and av_stream_get_parser()
+  without replacement.
 
 2022-08-07 - e95b08a7dd - lavu 57.33.101 - pixfmt.h
   Add AV_PIX_FMT_RGBAF16{BE,LE} pixel formats.
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 9d46875cce..7c36972735 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1119,7 +1119,10 @@ typedef struct AVStream {
     int pts_wrap_bits;
 } AVStream;
 
+#if FF_API_STREAM_GET_PARSER
+attribute_deprecated
 struct AVCodecParserContext *av_stream_get_parser(const AVStream *s);
+#endif
 
 #if FF_API_GET_END_PTS
 /**
diff --git a/libavformat/demux_utils.c b/libavformat/demux_utils.c
index 56cc6e15d8..d8cbcb630c 100644
--- a/libavformat/demux_utils.c
+++ b/libavformat/demux_utils.c
@@ -29,10 +29,12 @@
 #include "demux.h"
 #include "internal.h"
 
+#if FF_API_STREAM_GET_PARSER
 struct AVCodecParserContext *av_stream_get_parser(const AVStream *st)
 {
     return cffstream(st)->parser;
 }
+#endif
 
 void avpriv_stream_set_need_parsing(AVStream *st, enum AVStreamParseType type)
 {
diff --git a/libavformat/version_major.h b/libavformat/version_major.h
index 099a17873f..2747767768 100644
--- a/libavformat/version_major.h
+++ b/libavformat/version_major.h
@@ -47,6 +47,7 @@
 #define FF_HLS_TS_OPTIONS               (LIBAVFORMAT_VERSION_MAJOR < 60)
 #define FF_API_AVSTREAM_CLASS           (LIBAVFORMAT_VERSION_MAJOR > 59)
 #define FF_API_GET_END_PTS              (LIBAVFORMAT_VERSION_MAJOR < 60)
+#define FF_API_STREAM_GET_PARSER        (LIBAVFORMAT_VERSION_MAJOR < 60)
 
 
 #define FF_API_R_FRAME_RATE            1
-- 
2.35.1



More information about the ffmpeg-devel mailing list