mirror of https://git.ffmpeg.org/ffmpeg.git
avfilter/af_compand: merge uninit() calls on error from af_compand_fork.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
8b80485960
commit
27ba05adbc
|
@ -324,16 +324,20 @@ static int config_output(AVFilterLink *outlink)
|
||||||
s->nb_segments = (nb_points + 4) * 2;
|
s->nb_segments = (nb_points + 4) * 2;
|
||||||
s->segments = av_mallocz_array(s->nb_segments, sizeof(*s->segments));
|
s->segments = av_mallocz_array(s->nb_segments, sizeof(*s->segments));
|
||||||
|
|
||||||
if (!s->channels || !s->segments)
|
if (!s->channels || !s->segments) {
|
||||||
|
uninit(ctx);
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
|
}
|
||||||
|
|
||||||
p = s->attacks;
|
p = s->attacks;
|
||||||
for (i = 0, new_nb_items = 0; i < nb_attacks; i++) {
|
for (i = 0, new_nb_items = 0; i < nb_attacks; i++) {
|
||||||
char *tstr = av_strtok(p, " |", &saveptr);
|
char *tstr = av_strtok(p, " |", &saveptr);
|
||||||
p = NULL;
|
p = NULL;
|
||||||
new_nb_items += sscanf(tstr, "%lf", &s->channels[i].attack) == 1;
|
new_nb_items += sscanf(tstr, "%lf", &s->channels[i].attack) == 1;
|
||||||
if (s->channels[i].attack < 0)
|
if (s->channels[i].attack < 0) {
|
||||||
|
uninit(ctx);
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
nb_attacks = new_nb_items;
|
nb_attacks = new_nb_items;
|
||||||
|
|
||||||
|
@ -342,8 +346,10 @@ static int config_output(AVFilterLink *outlink)
|
||||||
char *tstr = av_strtok(p, " |", &saveptr);
|
char *tstr = av_strtok(p, " |", &saveptr);
|
||||||
p = NULL;
|
p = NULL;
|
||||||
new_nb_items += sscanf(tstr, "%lf", &s->channels[i].decay) == 1;
|
new_nb_items += sscanf(tstr, "%lf", &s->channels[i].decay) == 1;
|
||||||
if (s->channels[i].decay < 0)
|
if (s->channels[i].decay < 0) {
|
||||||
|
uninit(ctx);
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
nb_decays = new_nb_items;
|
nb_decays = new_nb_items;
|
||||||
|
|
||||||
|
@ -351,6 +357,7 @@ static int config_output(AVFilterLink *outlink)
|
||||||
av_log(ctx, AV_LOG_ERROR,
|
av_log(ctx, AV_LOG_ERROR,
|
||||||
"Number of attacks %d differs from number of decays %d.\n",
|
"Number of attacks %d differs from number of decays %d.\n",
|
||||||
nb_attacks, nb_decays);
|
nb_attacks, nb_decays);
|
||||||
|
uninit(ctx);
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -362,11 +369,13 @@ static int config_output(AVFilterLink *outlink)
|
||||||
if (sscanf(tstr, "%lf/%lf", &S(i).x, &S(i).y) != 2) {
|
if (sscanf(tstr, "%lf/%lf", &S(i).x, &S(i).y) != 2) {
|
||||||
av_log(ctx, AV_LOG_ERROR,
|
av_log(ctx, AV_LOG_ERROR,
|
||||||
"Invalid and/or missing input/output value.\n");
|
"Invalid and/or missing input/output value.\n");
|
||||||
|
uninit(ctx);
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
}
|
}
|
||||||
if (i && S(i - 1).x > S(i).x) {
|
if (i && S(i - 1).x > S(i).x) {
|
||||||
av_log(ctx, AV_LOG_ERROR,
|
av_log(ctx, AV_LOG_ERROR,
|
||||||
"Transfer function input values must be increasing.\n");
|
"Transfer function input values must be increasing.\n");
|
||||||
|
uninit(ctx);
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
}
|
}
|
||||||
S(i).y -= S(i).x;
|
S(i).y -= S(i).x;
|
||||||
|
|
Loading…
Reference in New Issue