@@ -553,10 +553,8 @@ static av_cold int init(AVFilterContext *ctx)
if (!pad.name)
return AVERROR(ENOMEM);
- if ((ret = ff_insert_inpad(ctx, i, &pad)) < 0) {
- av_freep(&pad.name);
+ if ((ret = ff_insert_inpad(ctx, i, &pad)) < 0)
return ret;
- }
}
s->fdsp = avpriv_float_dsp_alloc(0);
@@ -589,9 +587,6 @@ static av_cold void uninit(AVFilterContext *ctx)
av_freep(&s->scale_norm);
av_freep(&s->weights);
av_freep(&s->fdsp);
-
- for (i = 0; i < ctx->nb_inputs; i++)
- av_freep(&ctx->input_pads[i].name);
}
static int query_formats(AVFilterContext *ctx)
@@ -650,4 +645,5 @@ const AVFilter ff_af_amix = {
.outputs = avfilter_af_amix_outputs,
.process_command = process_command,
.flags = AVFILTER_FLAG_DYNAMIC_INPUTS,
+ .flags_internal = FF_FILTER_FLAG_FREE_INPADS,
};
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavfilter/af_amix.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)