From 5fb37598ad5c17e3829829d03845106f4c6c4084 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Fri, 27 Dec 2019 21:03:29 +0100 Subject: [PATCH] avfilter/af_stereowiden: add support for commands --- doc/filters.texi | 4 ++++ libavfilter/af_stereowiden.c | 10 ++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/doc/filters.texi b/doc/filters.texi index d09dd38958..ca12bf1b91 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -5171,6 +5171,10 @@ channels. Default is 0.3. Set level of input signal of original channel. Default is 0.8. @end table +@subsection Commands + +This filter supports the all above options except @code{delay} as @ref{commands}. + @section superequalizer Apply 18 band equalizer. diff --git a/libavfilter/af_stereowiden.c b/libavfilter/af_stereowiden.c index d23c8dba75..251f08438e 100644 --- a/libavfilter/af_stereowiden.c +++ b/libavfilter/af_stereowiden.c @@ -39,13 +39,14 @@ typedef struct StereoWidenContext { } StereoWidenContext; #define OFFSET(x) offsetof(StereoWidenContext, x) -#define A AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM +#define A AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM +#define AT AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_RUNTIME_PARAM static const AVOption stereowiden_options[] = { { "delay", "set delay time", OFFSET(delay), AV_OPT_TYPE_FLOAT, {.dbl=20}, 1, 100, A }, - { "feedback", "set feedback gain", OFFSET(feedback), AV_OPT_TYPE_FLOAT, {.dbl=.3}, 0, 0.9, A }, - { "crossfeed", "set cross feed", OFFSET(crossfeed), AV_OPT_TYPE_FLOAT, {.dbl=.3}, 0, 0.8, A }, - { "drymix", "set dry-mix", OFFSET(drymix), AV_OPT_TYPE_FLOAT, {.dbl=.8}, 0, 1.0, A }, + { "feedback", "set feedback gain", OFFSET(feedback), AV_OPT_TYPE_FLOAT, {.dbl=.3}, 0, 0.9, AT }, + { "crossfeed", "set cross feed", OFFSET(crossfeed), AV_OPT_TYPE_FLOAT, {.dbl=.3}, 0, 0.8, AT }, + { "drymix", "set dry-mix", OFFSET(drymix), AV_OPT_TYPE_FLOAT, {.dbl=.8}, 0, 1.0, AT }, { NULL } }; @@ -165,4 +166,5 @@ AVFilter ff_af_stereowiden = { .inputs = inputs, .outputs = outputs, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, + .process_command = ff_filter_process_command, };