aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2007-12-20 09:59:07 +0000
committerMichael Niedermayer <michaelni@gmx.at>2007-12-20 09:59:07 +0000
commitba66ae94a08a3d2c3115bd59cec5a0f37e25e191 (patch)
treeffda02b81df16cf9721e3876c3d31976b89bdad6
parentb356f75d465779892b924b91227ffdace2c1eef0 (diff)
downloadffmpeg-ba66ae94a08a3d2c3115bd59cec5a0f37e25e191.tar.gz
Document a few more structure change rules with relation to ABI/API.
Originally committed as revision 11283 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/avcodec.h6
-rw-r--r--libavformat/avformat.h14
2 files changed, 20 insertions, 0 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 98d1489f34..d7e81bf55c 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 bbe818f29d..eb168d1c31 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