提交 2308b6c1 编写于 作者: M Michael Niedermayer

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
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册