lavfi/silencedetect: switch to an AVOptions-based system.
authorClément Bœsch <ubitux@gmail.com>
Wed, 10 Apr 2013 20:05:12 +0000 (22:05 +0200)
committerClément Bœsch <ubitux@gmail.com>
Wed, 10 Apr 2013 21:16:02 +0000 (23:16 +0200)
doc/filters.texi
libavfilter/af_silencedetect.c
libavfilter/avfilter.c

index 11e33e6..ce4019b 100644 (file)
@@ -1117,6 +1117,8 @@ minimum detected noise duration.
 
 The printed times and duration are expressed in seconds.
 
 
 The printed times and duration are expressed in seconds.
 
+The filter accepts the following options:
+
 @table @option
 @item duration, d
 Set silence duration until notification (default is 2 seconds).
 @table @option
 @item duration, d
 Set silence duration until notification (default is 2 seconds).
index dbd9f5f..eb4718b 100644 (file)
@@ -54,22 +54,6 @@ static const AVOption silencedetect_options[] = {
 
 AVFILTER_DEFINE_CLASS(silencedetect);
 
 
 AVFILTER_DEFINE_CLASS(silencedetect);
 
-static av_cold int init(AVFilterContext *ctx, const char *args)
-{
-    int ret;
-    SilenceDetectContext *silence = ctx->priv;
-
-    silence->class = &silencedetect_class;
-    av_opt_set_defaults(silence);
-
-    if ((ret = av_set_options_string(silence, args, "=", ":")) < 0)
-        return ret;
-
-    av_opt_free(silence);
-
-    return 0;
-}
-
 static char *get_metadata_val(AVFrame *insamples, const char *key)
 {
     AVDictionaryEntry *e = av_dict_get(insamples->metadata, key, NULL, 0);
 static char *get_metadata_val(AVFrame *insamples, const char *key)
 {
     AVDictionaryEntry *e = av_dict_get(insamples->metadata, key, NULL, 0);
@@ -176,7 +160,6 @@ AVFilter avfilter_af_silencedetect = {
     .name          = "silencedetect",
     .description   = NULL_IF_CONFIG_SMALL("Detect silence."),
     .priv_size     = sizeof(SilenceDetectContext),
     .name          = "silencedetect",
     .description   = NULL_IF_CONFIG_SMALL("Detect silence."),
     .priv_size     = sizeof(SilenceDetectContext),
-    .init          = init,
     .query_formats = query_formats,
     .inputs        = silencedetect_inputs,
     .outputs       = silencedetect_outputs,
     .query_formats = query_formats,
     .inputs        = silencedetect_inputs,
     .outputs       = silencedetect_outputs,
index 5fe6f19..a731ec5 100644 (file)
@@ -681,6 +681,7 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque
         !strcmp(filter->filter->name,   "format") ||
         !strcmp(filter->filter->name, "noformat") ||
         !strcmp(filter->filter->name, "resample") ||
         !strcmp(filter->filter->name,   "format") ||
         !strcmp(filter->filter->name, "noformat") ||
         !strcmp(filter->filter->name, "resample") ||
+        !strcmp(filter->filter->name, "silencedetect") ||
         !strcmp(filter->filter->name, "thumbnail") ||
 //         !strcmp(filter->filter->name, "scale"      ) ||
         0
         !strcmp(filter->filter->name, "thumbnail") ||
 //         !strcmp(filter->filter->name, "scale"      ) ||
         0