AVOptions: deprecate av_opt_set_defaults2
authorAnton Khirnov <anton@khirnov.net>
Sun, 4 Sep 2011 09:42:41 +0000 (11:42 +0200)
committerAnton Khirnov <anton@khirnov.net>
Wed, 7 Sep 2011 09:19:43 +0000 (11:19 +0200)
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.

libavcodec/options.c
libavfilter/vf_drawtext.c
libavfilter/vsrc_movie.c
libavutil/avutil.h
libavutil/opt.c
libavutil/opt.h

index 098778aa237a65bdf4618acf0d317f269112b0d6..7d14beba6a2607cf71f14651018486b83f4323d6 100644 (file)
@@ -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;
index ed4b1003d8182664870acc34392976edef9e019b..3e16baf87e22eac257f1b98a4e7897e916d19573 100644 (file)
@@ -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");
index b018ba7418138e4fe63a598f0ecb24b4b84890ad..a5d5572f483253271a24541a671c60becdd95dd9 100644 (file)
@@ -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, ":");
index 24594107bc3cdaf256484f5894175ed2de21d0ec..3f9267908a420bec637c4f279b5d96a027083d40 100644 (file)
@@ -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.
index 0dd58a7f14397b7c3d769121a865c4a1ad19f8b2..160da8d75681ce2f14691f9d3a636e8319d45c56 100644 (file)
@@ -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);
index f8eea6bc2a8c52e9f5af10f8dbdbbbad8eff2b5c..c6a59196be2e9361ce015e1942e96933f3726f4f 100644 (file)
@@ -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