[SCM] libav/experimental: Document a few more structure change rules with relation to ABI/API.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:10:42 UTC 2013


The following commit has been merged in the experimental branch:
commit ba66ae94a08a3d2c3115bd59cec5a0f37e25e191
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Thu Dec 20 09:59:07 2007 +0000

    Document a few more structure change rules with relation to ABI/API.
    
    Originally committed as revision 11283 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 98d1489..d7e81bf 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -745,6 +745,12 @@ typedef struct AVPanScan{
 
 /**
  * Audio Video Frame.
+ * New fields can be added to the end of FF_COMMON_FRAME with minor version
+ * bumps.
+ * Removial, reordering and changes to existing fields require a Major
+ * version bump. No fields should be added into AVFrame before or after
+ * FF_COMMON_FRAME!
+ * sizeof(AVFrame) must not be used outside libav*
  */
 typedef struct AVFrame {
     FF_COMMON_FRAME
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index bbe818f..eb168d1 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -269,6 +269,13 @@ typedef struct AVIndexEntry {
     int min_distance;         /**< min distance between this and the previous keyframe, used to avoid unneeded searching */
 } AVIndexEntry;
 
+/**
+ * Stream structure.
+ * New fields can be added to the end with minor version bumps.
+ * Removial, reordering and changes to existing fields require a Major
+ * version bump.
+ * sizeof(AVStream) must not be used outside libav*
+ */
 typedef struct AVStream {
     int index;    /**< stream index in AVFormatContext */
     int id;       /**< format specific stream id */
@@ -343,6 +350,13 @@ typedef struct AVStream {
 
 #define AV_PROGRAM_RUNNING 1
 
+/**
+ *
+ * New fields can be added to the end with minor version bumps.
+ * Removial, reordering and changes to existing fields require a Major
+ * version bump.
+ * sizeof(AVProgram) must not be used outside libav*
+ */
 typedef struct AVProgram {
     int            id;
     char           *provider_name; ///< Network name for DVB streams

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list