diff options
author | Clément Bœsch <ubitux@gmail.com> | 2013-04-11 17:59:54 +0200 |
---|---|---|
committer | Clément Bœsch <ubitux@gmail.com> | 2013-04-11 18:01:12 +0200 |
commit | 23a750c9940e3dd25d779bddc732c124a980c17d (patch) | |
tree | e7123f61f5081bfa016364958302d8834d81f17c | |
parent | 937325f3db315a0e674d906d80ae517f71308ba8 (diff) | |
download | ffmpeg-23a750c9940e3dd25d779bddc732c124a980c17d.tar.gz |
lavfi: do not warn inappropriately with aevalsrc.
-rw-r--r-- | libavfilter/avfilter.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 18efe80e55..334598ddc7 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -763,6 +763,7 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque char *copy = av_strdup(args); char *p = copy; int nb_leading = 0; // number of leading colons to skip + int deprecated = 0; if (!copy) { ret = AVERROR(ENOMEM); @@ -784,12 +785,10 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque p++; } - if (strchr(p, ':')) { - av_log(filter, AV_LOG_WARNING, "This syntax is deprecated. Use " - "'|' to separate the list items.\n"); - } + deprecated = strchr(p, ':') != NULL; if (!strcmp(filter->filter->name, "aevalsrc")) { + deprecated = 0; while ((p = strchr(p, ':')) && p[1] != ':') { const char *epos = strchr(p + 1, '='); const char *spos = strchr(p + 1, ':'); @@ -798,14 +797,22 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque p++; break; } + /* next token does not contain a '=', assume a channel expression */ + deprecated = 1; *p++ = '|'; } - if (p && *p == ':') + if (p && *p == ':') { // double sep '::' found + deprecated = 1; memmove(p, p + 1, strlen(p)); + } } else while ((p = strchr(p, ':'))) *p++ = '|'; + if (deprecated) + av_log(filter, AV_LOG_WARNING, "This syntax is deprecated. Use " + "'|' to separate the list items.\n"); + av_log(filter, AV_LOG_DEBUG, "compat: called with args=[%s]\n", copy); ret = process_options(filter, &options, copy); av_freep(©); |