]> git.sesse.net Git - ffmpeg/commitdiff
avfilter: switch to child_class_iterate()
authorAnton Khirnov <anton@khirnov.net>
Wed, 27 May 2020 13:34:07 +0000 (15:34 +0200)
committerAnton Khirnov <anton@khirnov.net>
Wed, 10 Jun 2020 10:36:44 +0000 (12:36 +0200)
libavfilter/avfilter.c

index 394811916df3673de7d60c0c535245d804e672de..dd8074e462f997da9cb88838ba572195c1baddf3 100644 (file)
@@ -583,6 +583,7 @@ static void *filter_child_next(void *obj, void *prev)
     return NULL;
 }
 
+#if FF_API_CHILD_CLASS_NEXT
 static const AVClass *filter_child_class_next(const AVClass *prev)
 {
     void *opaque = NULL;
@@ -604,6 +605,18 @@ static const AVClass *filter_child_class_next(const AVClass *prev)
 
     return NULL;
 }
+#endif
+
+static const AVClass *filter_child_class_iterate(void **iter)
+{
+    const AVFilter *f;
+
+    while ((f = av_filter_iterate(iter)))
+        if (f->priv_class)
+            return f->priv_class;
+
+    return NULL;
+}
 
 #define OFFSET(x) offsetof(AVFilterContext, x)
 #define FLAGS AV_OPT_FLAG_FILTERING_PARAM
@@ -625,7 +638,10 @@ static const AVClass avfilter_class = {
     .version    = LIBAVUTIL_VERSION_INT,
     .category   = AV_CLASS_CATEGORY_FILTER,
     .child_next = filter_child_next,
+#if FF_API_CHILD_CLASS_NEXT
     .child_class_next = filter_child_class_next,
+#endif
+    .child_class_iterate = filter_child_class_iterate,
     .option           = avfilter_options,
 };