From d6f4b91ba51775d04ee146794d1ea4767c5b6d0b Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sat, 11 Sep 2021 19:29:34 +0200 Subject: [PATCH] avfilter/framesync: Remove redundant setting of AVClass Every filter exposing the framesync options via its child_next callback already calls framesync_preinit() in its preinit callback. So the filter is already preinited whenever its child_next is called. Reviewed-by: Nicolas George Signed-off-by: Andreas Rheinhardt --- libavfilter/framesync.c | 5 ----- libavfilter/framesync.h | 9 +++------ 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/libavfilter/framesync.c b/libavfilter/framesync.c index bc6fce81f4..7510550d8e 100644 --- a/libavfilter/framesync.c +++ b/libavfilter/framesync.c @@ -68,11 +68,6 @@ enum { static int consume_from_fifos(FFFrameSync *fs); -const AVClass *ff_framesync_get_class(void) -{ - return &framesync_class; -} - void ff_framesync_preinit(FFFrameSync *fs) { if (fs->class) diff --git a/libavfilter/framesync.h b/libavfilter/framesync.h index a1db87187e..a246d2d1e5 100644 --- a/libavfilter/framesync.h +++ b/libavfilter/framesync.h @@ -208,11 +208,6 @@ typedef struct FFFrameSync { } FFFrameSync; -/** - * Get the class for the framesync object. - */ -const AVClass *ff_framesync_get_class(void); - /** * Pre-initialize a frame sync structure. * @@ -310,6 +305,9 @@ static const AVClass name##_class = { \ .child_next = func_prefix##_child_next, \ } +/* A filter that uses the *_child_next-function from this macro + * is required to initialize the FFFrameSync structure in AVFilter.preinit + * via the *_framesync_preinit function defined alongside it. */ #define FRAMESYNC_AUXILIARY_FUNCS(func_prefix, context, field) \ static int func_prefix##_framesync_preinit(AVFilterContext *ctx) \ { \ @@ -320,7 +318,6 @@ static int func_prefix##_framesync_preinit(AVFilterContext *ctx) \ static void *func_prefix##_child_next(void *obj, void *prev) \ { \ context *s = obj; \ - s->fs.class = ff_framesync_get_class(); /* FIXME */ \ return prev ? NULL : &s->field; \ }