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 | static const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_DBLP, AV_SAMPLE_FMT_NONE }; | 247 | static const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_DBLP, AV_SAMPLE_FMT_NONE }; |
| 248 | int64_t chlayouts[] = { eval->chlayout ? eval->chlayout : FF_COUNT2LAYOUT(eval->nb_channels) , -1 }; | 248 | int64_t chlayouts[] = { eval->chlayout ? eval->chlayout : FF_COUNT2LAYOUT(eval->nb_channels) , -1 }; |
| 249 | int sample_rates[] = { eval->sample_rate, -1 }; | 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)); | 261 | layouts = avfilter_make_format64_list(chlayouts); |
| 252 | ff_set_common_channel_layouts(ctx, avfilter_make_format64_list(chlayouts)); | 262 | if (!layouts) |
| 253 | ff_set_common_samplerates(ctx, ff_make_format_list(sample_rates)); | 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 | static int request_frame(AVFilterLink *outlink) | 274 | static int request_frame(AVFilterLink *outlink) |