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