Commit 79eff913 authored by Anton Khirnov's avatar Anton Khirnov
Browse files

AVOptions: deprecate av_opt_set_defaults2

It's a hack which was created to allow for multiple options with
different defaults to refer to same field (e.g. 'b' vs 'ab'). There is
no need for it anymore.
parent a7e2b2cc
......@@ -519,19 +519,12 @@ static const AVOption options[]={
static const AVClass av_codec_context_class = { "AVCodecContext", context_to_name, options, LIBAVUTIL_VERSION_INT, OFFSET(log_level_offset), .opt_find = opt_find};
void avcodec_get_context_defaults2(AVCodecContext *s, enum AVMediaType codec_type){
int flags=0;
memset(s, 0, sizeof(AVCodecContext));
s->av_class= &av_codec_context_class;
s->codec_type = codec_type;
if(codec_type == AVMEDIA_TYPE_AUDIO)
flags= AV_OPT_FLAG_AUDIO_PARAM;
else if(codec_type == AVMEDIA_TYPE_VIDEO)
flags= AV_OPT_FLAG_VIDEO_PARAM;
else if(codec_type == AVMEDIA_TYPE_SUBTITLE)
flags= AV_OPT_FLAG_SUBTITLE_PARAM;
av_opt_set_defaults2(s, flags, flags);
av_opt_set_defaults(s);
s->time_base= (AVRational){0,1};
s->get_buffer= avcodec_default_get_buffer;
......
......@@ -223,7 +223,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
Glyph *glyph;
dtext->class = &drawtext_class;
av_opt_set_defaults2(dtext, 0, 0);
av_opt_set_defaults(dtext);
dtext->fontcolor_string = av_strdup("black");
dtext->boxcolor_string = av_strdup("white");
dtext->shadowcolor_string = av_strdup("black");
......
......@@ -164,7 +164,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
MovieContext *movie = ctx->priv;
int ret;
movie->class = &movie_class;
av_opt_set_defaults2(movie, 0, 0);
av_opt_set_defaults(movie);
if (args)
movie->file_name = av_get_token(&args, ":");
......
......@@ -66,6 +66,9 @@
#ifndef FF_API_AV_FIFO_PEEK
#define FF_API_AV_FIFO_PEEK (LIBAVUTIL_VERSION_MAJOR < 52)
#endif
#ifndef FF_API_OLD_AVOPTIONS
#define FF_API_OLD_AVOPTIONS (LIBAVUTIL_VERSION_MAJOR < 52)
#endif
/**
* Return the LIBAVUTIL_VERSION_INT constant.
......
......@@ -414,12 +414,21 @@ int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags)
return 0;
}
void av_opt_set_defaults(void *s)
{
#if FF_API_OLD_AVOPTIONS
av_opt_set_defaults2(s, 0, 0);
}
void av_opt_set_defaults2(void *s, int mask, int flags)
{
#endif
const AVOption *opt = NULL;
while ((opt = av_next_option(s, opt)) != NULL) {
#if FF_API_OLD_AVOPTIONS
if ((opt->flags & mask) != flags)
continue;
#endif
switch (opt->type) {
case FF_OPT_TYPE_CONST:
/* Nothing to be done here */
......@@ -461,11 +470,6 @@ void av_opt_set_defaults2(void *s, int mask, int flags)
}
}
void av_opt_set_defaults(void *s)
{
av_opt_set_defaults2(s, 0, 0);
}
/**
* Store the value in the field in ctx that is named like key.
* ctx must be an AVClass context, storing is done using AVOptions.
......@@ -648,7 +652,7 @@ int main(void)
};
test_ctx.class = &test_class;
av_opt_set_defaults2(&test_ctx, 0, 0);
av_opt_set_defaults(&test_ctx);
test_ctx.string = av_strdup("default");
av_log_set_level(AV_LOG_DEBUG);
......
......@@ -166,7 +166,11 @@ int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags);
* @param s an AVOption-enabled struct (its first member must be a pointer to AVClass)
*/
void av_opt_set_defaults(void *s);
#if FF_API_OLD_AVOPTIONS
attribute_deprecated
void av_opt_set_defaults2(void *s, int mask, int flags);
#endif
/**
* Parse the key/value pairs list in opts. For each key/value pair
......
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