1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

Add version to AVClass so we can add to and use fields of AVClass without ABI issues.

Originally committed as revision 22987 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2010-04-28 20:00:23 +00:00
parent b01dba14f3
commit 2308b6c19a
7 changed files with 16 additions and 6 deletions

View File

@ -421,7 +421,7 @@ static const AVOption options[]={
#undef D #undef D
#undef DEFAULT #undef DEFAULT
static const AVClass av_codec_context_class = { "AVCodecContext", context_to_name, options }; static const AVClass av_codec_context_class = { "AVCodecContext", context_to_name, options, LIBAVUTIL_VERSION_INT };
void avcodec_get_context_defaults2(AVCodecContext *s, enum AVMediaType codec_type){ void avcodec_get_context_defaults2(AVCodecContext *s, enum AVMediaType codec_type){
int flags=0; int flags=0;

View File

@ -36,7 +36,7 @@ static const char *context_to_name(void *ptr)
} }
static const AVOption options[] = {{NULL}}; static const AVOption options[] = {{NULL}};
static const AVClass audioresample_context_class = { "ReSampleContext", context_to_name, options }; static const AVClass audioresample_context_class = { "ReSampleContext", context_to_name, options, LIBAVUTIL_VERSION_INT };
struct ReSampleContext { struct ReSampleContext {
struct AVResampleContext *resample_context; struct AVResampleContext *resample_context;

View File

@ -385,7 +385,9 @@ static const char *filter_name(void *p)
static const AVClass avfilter_class = { static const AVClass avfilter_class = {
"AVFilter", "AVFilter",
filter_name filter_name,
NULL,
LIBAVUTIL_VERSION_INT,
}; };
AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name) AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name)

View File

@ -41,7 +41,7 @@ static const char *urlcontext_to_name(void *ptr)
} }
static const AVOption options[] = {{NULL}}; static const AVOption options[] = {{NULL}};
static const AVClass urlcontext_class = static const AVClass urlcontext_class =
{ "URLContext", urlcontext_to_name, options }; { "URLContext", urlcontext_to_name, options, LIBAVUTIL_VERSION_INT };
/*@}*/ /*@}*/
#endif #endif

View File

@ -66,7 +66,7 @@ static const AVOption options[]={
#undef D #undef D
#undef DEFAULT #undef DEFAULT
static const AVClass av_format_context_class = { "AVFormatContext", format_to_name, options }; static const AVClass av_format_context_class = { "AVFormatContext", format_to_name, options, LIBAVUTIL_VERSION_INT };
static void avformat_get_context_defaults(AVFormatContext *s) static void avformat_get_context_defaults(AVFormatContext *s)
{ {

View File

@ -40,7 +40,7 @@
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c) #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
#define LIBAVUTIL_VERSION_MAJOR 50 #define LIBAVUTIL_VERSION_MAJOR 50
#define LIBAVUTIL_VERSION_MINOR 14 #define LIBAVUTIL_VERSION_MINOR 15
#define LIBAVUTIL_VERSION_MICRO 0 #define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \

View File

@ -48,6 +48,14 @@ typedef struct {
* @see av_set_default_options() * @see av_set_default_options()
*/ */
const struct AVOption *option; const struct AVOption *option;
/**
* LIBAVUTIL_VERSION with which this structure was created.
* This is used to allow fields to be added without requireing major
* version bumps everywhere.
*/
int version;
} AVClass; } AVClass;
/* av_log API */ /* av_log API */