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.
This commit is contained in:
parent
a7e2b2ccc9
commit
79eff91325
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user