Commit 2308b6c1 authored by Michael Niedermayer's avatar Michael Niedermayer
Browse files

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
parent b01dba14
......@@ -421,7 +421,7 @@ static const AVOption options[]={
#undef D
#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){
int flags=0;
......
......@@ -36,7 +36,7 @@ static const char *context_to_name(void *ptr)
}
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 AVResampleContext *resample_context;
......
......@@ -385,7 +385,9 @@ static const char *filter_name(void *p)
static const AVClass avfilter_class = {
"AVFilter",
filter_name
filter_name,
NULL,
LIBAVUTIL_VERSION_INT,
};
AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name)
......
......@@ -41,7 +41,7 @@ static const char *urlcontext_to_name(void *ptr)
}
static const AVOption options[] = {{NULL}};
static const AVClass urlcontext_class =
{ "URLContext", urlcontext_to_name, options };
{ "URLContext", urlcontext_to_name, options, LIBAVUTIL_VERSION_INT };
/*@}*/
#endif
......
......@@ -66,7 +66,7 @@ static const AVOption options[]={
#undef D
#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)
{
......
......@@ -40,7 +40,7 @@
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
#define LIBAVUTIL_VERSION_MAJOR 50
#define LIBAVUTIL_VERSION_MINOR 14
#define LIBAVUTIL_VERSION_MINOR 15
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
......
......@@ -48,6 +48,14 @@ typedef struct {
* @see av_set_default_options()
*/
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;
/* av_log API */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment