From ba66ae94a08a3d2c3115bd59cec5a0f37e25e191 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 20 Dec 2007 09:59:07 +0000 Subject: [PATCH] Document a few more structure change rules with relation to ABI/API. Originally committed as revision 11283 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/avcodec.h | 6 ++++++ libavformat/avformat.h | 14 ++++++++++++++ 2 files changed, 20 insertions(+) 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