From aba98de6b89fd5a50d6308e9cd81bf17ec6bbe3d Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 27 May 2020 15:34:07 +0200 Subject: avfilter: switch to child_class_iterate() --- libavfilter/avfilter.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'libavfilter/avfilter.c') diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 394811916d..dd8074e462 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -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, }; -- cgit v1.2.3