avfilter: Remove redundant ff_formats/channel_layouts_unref()

ff_add_format() and ff_add_channel_layout() already unref the list upon
error.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2020-08-07 23:46:33 +02:00
parent 257cd5fa38
commit e013a71fe3
3 changed files with 4 additions and 7 deletions

View File

@ -60,7 +60,7 @@ static const AVOption aformat_options[] = {
AVFILTER_DEFINE_CLASS(aformat);
#define PARSE_FORMATS(str, type, list, add_to_list, unref_fn, get_fmt, none, desc) \
#define PARSE_FORMATS(str, type, list, add_to_list, get_fmt, none, desc) \
do { \
char *next, *cur = str, sep; \
int ret; \
@ -83,7 +83,6 @@ do { \
return AVERROR(EINVAL); \
} \
if ((ret = add_to_list(&list, fmt)) < 0) { \
unref_fn(&list); \
return ret; \
} \
\
@ -102,11 +101,11 @@ static av_cold int init(AVFilterContext *ctx)
AFormatContext *s = ctx->priv;
PARSE_FORMATS(s->formats_str, enum AVSampleFormat, s->formats,
ff_add_format, ff_formats_unref, av_get_sample_fmt, AV_SAMPLE_FMT_NONE, "sample format");
PARSE_FORMATS(s->sample_rates_str, int, s->sample_rates, ff_add_format, ff_formats_unref,
ff_add_format, av_get_sample_fmt, AV_SAMPLE_FMT_NONE, "sample format");
PARSE_FORMATS(s->sample_rates_str, int, s->sample_rates, ff_add_format,
get_sample_rate, 0, "sample rate");
PARSE_FORMATS(s->channel_layouts_str, uint64_t, s->channel_layouts,
ff_add_channel_layout, ff_channel_layouts_unref, av_get_channel_layout, 0,
ff_add_channel_layout, av_get_channel_layout, 0,
"channel layout");
return 0;

View File

@ -64,7 +64,6 @@ static int query_formats(AVFilterContext *ctx)
if (i != 4)
continue;
if ((ret = ff_add_format(&formats, fmt)) < 0) {
ff_formats_unref(&formats);
return ret;
}
}

View File

@ -60,7 +60,6 @@ static int query_formats(AVFilterContext *ctx)
if (!(desc->flags & AV_PIX_FMT_FLAG_PAL) &&
!(desc->flags & AV_PIX_FMT_FLAG_HWACCEL)) {
if ((ret = ff_add_format(&formats, fmt)) < 0) {
ff_formats_unref(&formats);
return ret;
}
}