aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2015-09-12 07:31:49 +0000
committerPaul B Mahol <onemda@gmail.com>2015-09-12 13:07:55 +0000
commita0a2ca024bd0e6e3cd6cfa3fb878871a18a611e6 (patch)
tree1e138682090d748972277edc9e17afd87ac3241c
parent56291434335c56fd436646338e5088c2c90b81bb (diff)
downloadffmpeg-a0a2ca024bd0e6e3cd6cfa3fb878871a18a611e6.tar.gz
avfilter/af_ladspa: support simpler syntax for controls
Signed-off-by: Paul B Mahol <onemda@gmail.com>
-rw-r--r--doc/filters.texi3
-rw-r--r--libavfilter/af_ladspa.c9
2 files changed, 9 insertions, 3 deletions
diff --git a/doc/filters.texi b/doc/filters.texi
index 930129cb5c..447caf5251 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -1970,6 +1970,9 @@ threshold or gain).
Controls need to be defined using the following syntax:
c0=@var{value0}|c1=@var{value1}|c2=@var{value2}|..., where
@var{valuei} is the value set on the @var{i}-th control.
+Alternatively they can be also defined using the following syntax:
+@var{value0}|@var{value1}|@var{value2}|..., where
+@var{valuei} is the value set on the @var{i}-th control.
If @option{controls} is set to @code{help}, all available controls and
their valid ranges are printed.
diff --git a/libavfilter/af_ladspa.c b/libavfilter/af_ladspa.c
index 1efe3f0bf7..655c01811d 100644
--- a/libavfilter/af_ladspa.c
+++ b/libavfilter/af_ladspa.c
@@ -396,7 +396,7 @@ static av_cold int init(AVFilterContext *ctx)
AVFilterPad pad = { NULL };
char *p, *arg, *saveptr = NULL;
unsigned long nb_ports;
- int i;
+ int i, j = 0;
if (!s->dl_name) {
av_log(ctx, AV_LOG_ERROR, "No plugin name provided\n");
@@ -543,8 +543,11 @@ static av_cold int init(AVFilterContext *ctx)
p = NULL;
if (sscanf(arg, "c%d=%f", &i, &val) != 2) {
- av_log(ctx, AV_LOG_ERROR, "Invalid syntax.\n");
- return AVERROR(EINVAL);
+ if (sscanf(arg, "%f", &val) != 1) {
+ av_log(ctx, AV_LOG_ERROR, "Invalid syntax.\n");
+ return AVERROR(EINVAL);
+ }
+ i = j++;
}
if ((ret = set_control(ctx, i, val)) < 0)