From 252f17e292064da25a82c99bf1f752ed5fedd434 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 20 Dec 2007 09:43:01 +0000 Subject: [PATCH] Document structure change rules with relation to ABI/API. Originally committed as revision 11281 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/avcodec.h | 6 +++++- libavformat/avformat.h | 8 +++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index a32f961403..98d1489f34 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -753,7 +753,11 @@ typedef struct AVFrame { #define DEFAULT_FRAME_RATE_BASE 1001000 /** - * main external API structure + * main external API 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(AVCodecContext) must not be used outside libav* */ typedef struct AVCodecContext { /** diff --git a/libavformat/avformat.h b/libavformat/avformat.h index c0ad4a6613..bbe818f29d 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -358,7 +358,13 @@ typedef struct AVProgram { #define MAX_STREAMS 20 -/* format I/O context */ +/** + * format I/O context. + * 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(AVFormatContext) must not be used outside libav* + */ typedef struct AVFormatContext { const AVClass *av_class; /**< set by av_alloc_format_context */ /* can only be iformat or oformat, not both at the same time */