Showing the changes to libavfilter/aeval.c (1 of 81 files). Show all
Unified · Split
| @@ -247,12 +247,28 @@ static int query_formats(AVFilterContext *ctx) · 246 unmodified lines | ||
| 247 | 247 | static const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_DBLP, AV_SAMPLE_FMT_NONE }; |
| 248 | 248 | int64_t chlayouts[] = { eval->chlayout ? eval->chlayout : FF_COUNT2LAYOUT(eval->nb_channels) , -1 }; |
| 249 | 249 | int sample_rates[] = { eval->sample_rate, -1 }; |
| 250 | + AVFilterFormats *formats; | |
| 251 | + AVFilterChannelLayouts *layouts; | |
| 252 | + int ret; | |
| 253 | + | |
| 254 | + formats = ff_make_format_list(sample_fmts); | |
| 255 | + if (!formats) | |
| 256 | + return AVERROR(ENOMEM); | |
| 257 | + ret = ff_set_common_formats (ctx, formats); | |
| 258 | + if (ret < 0) | |
| 259 | + return ret; | |
| 250 | 260 | |
| 251 | − ff_set_common_formats (ctx, ff_make_format_list(sample_fmts)); | |
| 252 | − ff_set_common_channel_layouts(ctx, avfilter_make_format64_list(chlayouts)); | |
| 253 | − ff_set_common_samplerates(ctx, ff_make_format_list(sample_rates)); | |
| 261 | + layouts = avfilter_make_format64_list(chlayouts); | |
| 262 | + if (!layouts) | |
| 263 | + return AVERROR(ENOMEM); | |
| 264 | + ret = ff_set_common_channel_layouts(ctx, layouts); | |
| 265 | + if (ret < 0) | |
| 266 | + return ret; | |
| 254 | 267 | |
| 255 | − return 0; | |
| 268 | + formats = ff_make_format_list(sample_rates); | |
| 269 | + if (!formats) | |
| 270 | + return AVERROR(ENOMEM); | |
| 271 | + return ff_set_common_samplerates(ctx, formats); | |
| 256 | 272 | } |
| 257 | 273 | |
| 258 | 274 | static int request_frame(AVFilterLink *outlink) |