aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2010-04-28 20:00:23 +0000
committerMichael Niedermayer <michaelni@gmx.at>2010-04-28 20:00:23 +0000
commit2308b6c19a74c0b1af58c12ab379976b54bc83a2 (patch)
tree01c228ac7cac4cd32b96462741469a70ed64f087
parentb01dba14f36aa3ff3d6fe89acf71eddbd65e7027 (diff)
downloadffmpeg-2308b6c19a74c0b1af58c12ab379976b54bc83a2.tar.gz
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
-rw-r--r--libavcodec/options.c2
-rw-r--r--libavcodec/resample.c2
-rw-r--r--libavfilter/avfilter.c4
-rw-r--r--libavformat/avio.c2
-rw-r--r--libavformat/options.c2
-rw-r--r--libavutil/avutil.h2
-rw-r--r--libavutil/log.h8
7 files changed, 16 insertions, 6 deletions
diff --git a/libavcodec/options.c b/libavcodec/options.c
index 65305224fe..6835352c30 100644
--- a/libavcodec/options.c
+++ b/libavcodec/options.c
@@ -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;
diff --git a/libavcodec/resample.c b/libavcodec/resample.c
index dce88abd43..b008180fe5 100644
--- a/libavcodec/resample.c
+++ b/libavcodec/resample.c
@@ -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;
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index feba3d9c75..3ed59d7cc2 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -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)
diff --git a/libavformat/avio.c b/libavformat/avio.c
index 3fb64d149c..48399d081f 100644
--- a/libavformat/avio.c
+++ b/libavformat/avio.c
@@ -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
diff --git a/libavformat/options.c b/libavformat/options.c
index 50daba9309..85d793ec09 100644
--- a/libavformat/options.c
+++ b/libavformat/options.c
@@ -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)
{
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index b31eb0d6ab..b2c49283b0 100644
--- a/libavutil/avutil.h
+++ b/libavutil/avutil.h
@@ -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, \
diff --git a/libavutil/log.h b/libavutil/log.h
index b0a1493607..566440f854 100644
--- a/libavutil/log.h
+++ b/libavutil/log.h
@@ -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 */