[FFmpeg-cvslog] avformat: fix AVStream private fields marker

wm4 git at videolan.org
Thu Mar 2 11:32:37 EET 2017


ffmpeg | branch: master | wm4 <nfxjfg at googlemail.com> | Mon Feb 13 11:50:54 2017 +0100| [227f6e1e8d4bd23734db9769bb52cc9896e253b5] | committer: wm4

avformat: fix AVStream private fields marker

Public fields were added after the private fields (negating the entire
point of this). New private fields go into AVStreamInternal anyway.

The new marker was set by guessing which fields are supposed to be
private and wshich not. recommended_encoder_configuration is accessed by
ffserver_config.c directly, and is supposed to use the public API.

ffmpeg.c accesses AVStream.cur_dts, even though it's a private field,
but that seems to be an older error.

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

 libavformat/avformat.h | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 64180bc..4c1b18e 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1005,7 +1005,9 @@ typedef struct AVStream {
      * 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
      * removed at will.
-     * New public fields should be added right above.
+     * Internal note: be aware that physically removing these fields
+     * will break ABI. Replace removed fields with dummy fields, and
+     * add new fields to AVStreamInternal.
      *****************************************************************
      */
 
@@ -1201,6 +1203,12 @@ 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 ','.



More information about the ffmpeg-cvslog mailing list