diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index e96c8f2381..c441629d96 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -456,28 +456,28 @@ static const char *default_filter_name(void *filter_ctx) static void *filter_child_next(void *obj, void *prev) { AVFilterContext *ctx = obj; - if (!prev && ctx->filter && ctx->filter->priv_class) + if (!prev && ctx->filter && ctx->filter->priv_class && ctx->priv) return ctx->priv; return NULL; } static const AVClass *filter_child_class_next(const AVClass *prev) { - AVFilter **filter_ptr = NULL; + AVFilter **f = NULL; /* find the filter that corresponds to prev */ - while (prev && *(filter_ptr = av_filter_next(filter_ptr))) - if ((*filter_ptr)->priv_class == prev) + while (prev && *(f = av_filter_next(f))) + if ((*f)->priv_class == prev) break; /* could not find filter corresponding to prev */ - if (prev && !(*filter_ptr)) + if (prev && !(*f)) return NULL; /* find next filter with specific options */ - while (*(filter_ptr = av_filter_next(filter_ptr))) - if ((*filter_ptr)->priv_class) - return (*filter_ptr)->priv_class; + while (*(f = av_filter_next(f))) + if ((*f)->priv_class) + return (*f)->priv_class; return NULL; }