From 23a750c9940e3dd25d779bddc732c124a980c17d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20B=C5=93sch?= Date: Thu, 11 Apr 2013 17:59:54 +0200 Subject: lavfi: do not warn inappropriately with aevalsrc. --- libavfilter/avfilter.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'libavfilter') diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 18efe80..334598d 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(©); -- cgit v1.1