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>
pull/350/head
Andreas Rheinhardt 4 years ago
parent 257cd5fa38
commit e013a71fe3
  1. 9
      libavfilter/af_aformat.c
  2. 1
      libavfilter/vf_shuffleplanes.c
  3. 1
      libavfilter/vf_weave.c

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

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

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

Loading…
Cancel
Save