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; \
return AVERROR(EINVAL); \
} \
if ((ret = add_to_list(&list, fmt)) < 0) { \
- unref_fn(&list); \
return ret; \
} \
\
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;