From 6ef55f54fe0743699c346c3d4d882991fdcc80ff Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Tue, 13 Oct 2020 03:44:37 +0200 Subject: [PATCH] avfilter/af_mcompand: Remove redundant calls to AVFilter.uninit uninit is already called automatically (even when configuring the filter failed). Signed-off-by: Andreas Rheinhardt --- libavfilter/af_mcompand.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/libavfilter/af_mcompand.c b/libavfilter/af_mcompand.c index f142573bea..ce4f366ad7 100644 --- a/libavfilter/af_mcompand.c +++ b/libavfilter/af_mcompand.c @@ -361,10 +361,8 @@ static int config_output(AVFilterLink *outlink) char *p2, *p3, *saveptr2 = NULL, *saveptr3 = NULL; double radius; - if (!tstr) { - uninit(ctx); + if (!tstr) return AVERROR(EINVAL); - } p = NULL; p2 = tstr; @@ -372,7 +370,6 @@ static int config_output(AVFilterLink *outlink) tstr2 = av_strtok(p2, " ", &saveptr2); if (!tstr2) { av_log(ctx, AV_LOG_ERROR, "at least one attacks/decays rate is mandatory\n"); - uninit(ctx); return AVERROR(EINVAL); } p2 = NULL; @@ -381,7 +378,6 @@ static int config_output(AVFilterLink *outlink) count_items(tstr2, &nb_attacks, ','); if (!nb_attacks || nb_attacks & 1) { av_log(ctx, AV_LOG_ERROR, "number of attacks rate plus decays rate must be even\n"); - uninit(ctx); return AVERROR(EINVAL); } @@ -417,7 +413,6 @@ static int config_output(AVFilterLink *outlink) tstr2 = av_strtok(p2, " ", &saveptr2); if (!tstr2) { av_log(ctx, AV_LOG_ERROR, "transfer function curve in dB must be set\n"); - uninit(ctx); return AVERROR(EINVAL); } sscanf(tstr2, "%lf", &s->bands[i].transfer_fn.curve_dB); @@ -427,7 +422,6 @@ static int config_output(AVFilterLink *outlink) tstr2 = av_strtok(p2, " ", &saveptr2); if (!tstr2) { av_log(ctx, AV_LOG_ERROR, "transfer points missing\n"); - uninit(ctx); return AVERROR(EINVAL); } @@ -435,38 +429,31 @@ static int config_output(AVFilterLink *outlink) s->bands[i].transfer_fn.nb_segments = (nb_points + 4) * 2; s->bands[i].transfer_fn.segments = av_calloc(s->bands[i].transfer_fn.nb_segments, sizeof(CompandSegment)); - if (!s->bands[i].transfer_fn.segments) { - uninit(ctx); + if (!s->bands[i].transfer_fn.segments) return AVERROR(ENOMEM); - } ret = parse_points(tstr2, nb_points, radius, &s->bands[i].transfer_fn, ctx); if (ret < 0) { av_log(ctx, AV_LOG_ERROR, "transfer points parsing failed\n"); - uninit(ctx); return ret; } tstr2 = av_strtok(p2, " ", &saveptr2); if (!tstr2) { av_log(ctx, AV_LOG_ERROR, "crossover_frequency is missing\n"); - uninit(ctx); return AVERROR(EINVAL); } new_nb_items += sscanf(tstr2, "%lf", &s->bands[i].topfreq) == 1; if (s->bands[i].topfreq < 0 || s->bands[i].topfreq >= outlink->sample_rate / 2) { av_log(ctx, AV_LOG_ERROR, "crossover_frequency: %f, should be >=0 and lower than half of sample rate: %d.\n", s->bands[i].topfreq, outlink->sample_rate / 2); - uninit(ctx); return AVERROR(EINVAL); } if (s->bands[i].topfreq != 0) { ret = crossover_setup(outlink, &s->bands[i].filter, s->bands[i].topfreq); - if (ret < 0) { - uninit(ctx); + if (ret < 0) return ret; - } } tstr2 = av_strtok(p2, " ", &saveptr2);