@ -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 ;