From ad7d972e08dddb1788ac6a434d1be314febcb09d Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Mon, 17 Aug 2015 20:04:57 -0400 Subject: [PATCH] lavfi: add error message to help users convert to new lavfi syntax. --- libavfilter/avfilter.c | 13 ++++++++++++- libavfilter/version.h | 3 +++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 700baa29cce..6475f29f26d 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -895,7 +895,7 @@ int avfilter_init_str(AVFilterContext *filter, const char *args) return AVERROR(EINVAL); } -#if FF_API_OLD_FILTER_OPTS +#if FF_API_OLD_FILTER_OPTS || FF_API_OLD_FILTER_OPTS_ERROR if ( !strcmp(filter->filter->name, "format") || !strcmp(filter->filter->name, "noformat") || !strcmp(filter->filter->name, "frei0r") || @@ -955,12 +955,23 @@ int avfilter_init_str(AVFilterContext *filter, const char *args) while ((p = strchr(p, ':'))) *p++ = '|'; +#if FF_API_OLD_FILTER_OPTS 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); +#else + if (deprecated) { + av_log(filter, AV_LOG_ERROR, "This syntax is deprecated. Use " + "'|' to separate the list items ('%s' instead of '%s')\n", + copy, args); + ret = AVERROR(EINVAL); + } else { + ret = process_options(filter, &options, copy); + } +#endif av_freep(©); if (ret < 0) diff --git a/libavfilter/version.h b/libavfilter/version.h index 90a6dc05b16..6fc41451ed1 100644 --- a/libavfilter/version.h +++ b/libavfilter/version.h @@ -61,6 +61,9 @@ #ifndef FF_API_OLD_FILTER_OPTS #define FF_API_OLD_FILTER_OPTS (LIBAVFILTER_VERSION_MAJOR < 6) #endif +#ifndef FF_API_OLD_FILTER_OPTS_ERROR +#define FF_API_OLD_FILTER_OPTS_ERROR (LIBAVFILTER_VERSION_MAJOR < 7) +#endif #ifndef FF_API_AVFILTER_OPEN #define FF_API_AVFILTER_OPEN (LIBAVFILTER_VERSION_MAJOR < 6) #endif -- 2.39.2