mirror of https://git.ffmpeg.org/ffmpeg.git
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:
parent
257cd5fa38
commit
e013a71fe3
|
@ -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…
Reference in New Issue