1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-08 13:22:53 +02:00

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 <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2020-10-13 03:44:37 +02:00
parent 746ab8327c
commit 6ef55f54fe

View File

@ -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);