diff mbox series

[FFmpeg-devel,26/38] avfilter/avfilter: Don't fail upon options for filter without AVClass

Message ID AM7PR03MB6660ED5A1D5EA39AC9911ADA8FD89@AM7PR03MB6660.eurprd03.prod.outlook.com
State New
Headers show
Series [FFmpeg-devel,01/39] avfilter/vf_maskedminmax: Simplify init | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 fail Make fate failed
andriy/make_ppc success Make finished
andriy/make_fate_ppc success Make fate finished

Commit Message

Andreas Rheinhardt Sept. 12, 2021, 10:53 a.m. UTC
Commit 62549f9655c48f0ec061087fa33a96040ce01145 added a check to
(the predecessor of) avfilter_init_str() to error out if options
were provided to a filter without options (or rather, without private
class). This was fine at the time, yet soon afterwards commit
fdd93eabfb2644f541f7aac9943abce26776ea73 added a generic option
for all AVFilterContexts and since then it is wrong to error out
in case options have been provided to a filter without AVClass.

To workaround this issue, several filters with timeline support
added AVClasses and empty options; these will be removed in subsequent
commits. Furthermore, the super2xsai filter supports slice threading,
but no options and so has no AVClass, making it impossible to set
the number of threads when using avfilter_init_str() (and therefore
from the ffmpeg-tool). This is fixed by this commit, too.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavfilter/avfilter.c | 6 ------
 1 file changed, 6 deletions(-)

Comments

Paul B Mahol Sept. 13, 2021, 11:54 a.m. UTC | #1
lgtm
diff mbox series

Patch

diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index 165ab1f44a..c76b74f214 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -922,12 +922,6 @@  int avfilter_init_str(AVFilterContext *filter, const char *args)
     int ret = 0;
 
     if (args && *args) {
-        if (!filter->filter->priv_class) {
-            av_log(filter, AV_LOG_ERROR, "This filter does not take any "
-                   "options, but options were provided: %s.\n", args);
-            return AVERROR(EINVAL);
-        }
-
         ret = process_options(filter, &options, args);
         if (ret < 0)
             goto fail;