[FFmpeg-cvslog] lavf: deprecate av_format_inject_global_side_data()

Anton Khirnov git at videolan.org
Wed Oct 16 17:50:20 EEST 2024


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sun Oct 13 12:21:37 2024 +0200| [12e5116872557c8d9cea9408d05867ef08e0bfc4] | committer: Anton Khirnov

lavf: deprecate av_format_inject_global_side_data()

This function would otherwise fail to build on the next major bump, as
inject_global_side_data is marked for removal.

It should also never be needed, as there is now a mechanism for
supplying global side data to decoders directly.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=12e5116872557c8d9cea9408d05867ef08e0bfc4
---

 libavformat/avformat.h    | 8 ++++++++
 libavformat/demux_utils.c | 2 ++
 2 files changed, 10 insertions(+)

diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 2e5f2dc795..cedfd82170 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1929,6 +1929,7 @@ typedef struct AVFormatContext {
     int64_t duration_probesize;
 } AVFormatContext;
 
+#if FF_API_AVSTREAM_SIDE_DATA
 /**
  * This function will cause global side data to be injected in the next packet
  * of each stream as well as after any subsequent seek.
@@ -1938,8 +1939,15 @@ typedef struct AVFormatContext {
  *       in a @ref AVCodecContext.coded_side_data "decoder's side data" array if
  *       initialized with said stream's codecpar.
  * @see av_packet_side_data_get()
+ *
+ * @deprecated this function should never be needed, as global side data is now
+ *             exported in AVCodecParameters and should
+ *             be propagated from demuxers to decoders via
+ *             ::avcodec_parameters_to_context()
  */
+attribute_deprecated
 void av_format_inject_global_side_data(AVFormatContext *s);
+#endif
 
 #if FF_API_GET_DUR_ESTIMATE_METHOD
 /**
diff --git a/libavformat/demux_utils.c b/libavformat/demux_utils.c
index fd0424524b..9aae521c6c 100644
--- a/libavformat/demux_utils.c
+++ b/libavformat/demux_utils.c
@@ -81,6 +81,7 @@ AVChapter *avpriv_new_chapter(AVFormatContext *s, int64_t id, AVRational time_ba
     return chapter;
 }
 
+#if FF_API_AVSTREAM_SIDE_DATA
 void av_format_inject_global_side_data(AVFormatContext *s)
 {
     FFFormatContext *const si = ffformatcontext(s);
@@ -90,6 +91,7 @@ void av_format_inject_global_side_data(AVFormatContext *s)
         ffstream(st)->inject_global_side_data = 1;
     }
 }
+#endif
 
 int avformat_queue_attached_pictures(AVFormatContext *s)
 {



More information about the ffmpeg-cvslog mailing list