mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-16 03:50:05 +01:00
avfilter: handle error in query_formats() in bunch of filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
@@ -247,12 +247,28 @@ static int query_formats(AVFilterContext *ctx)
|
||||
static const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_DBLP, AV_SAMPLE_FMT_NONE };
|
||||
int64_t chlayouts[] = { eval->chlayout ? eval->chlayout : FF_COUNT2LAYOUT(eval->nb_channels) , -1 };
|
||||
int sample_rates[] = { eval->sample_rate, -1 };
|
||||
AVFilterFormats *formats;
|
||||
AVFilterChannelLayouts *layouts;
|
||||
int ret;
|
||||
|
||||
ff_set_common_formats (ctx, ff_make_format_list(sample_fmts));
|
||||
ff_set_common_channel_layouts(ctx, avfilter_make_format64_list(chlayouts));
|
||||
ff_set_common_samplerates(ctx, ff_make_format_list(sample_rates));
|
||||
formats = ff_make_format_list(sample_fmts);
|
||||
if (!formats)
|
||||
return AVERROR(ENOMEM);
|
||||
ret = ff_set_common_formats (ctx, formats);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
layouts = avfilter_make_format64_list(chlayouts);
|
||||
if (!layouts)
|
||||
return AVERROR(ENOMEM);
|
||||
ret = ff_set_common_channel_layouts(ctx, layouts);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
formats = ff_make_format_list(sample_rates);
|
||||
if (!formats)
|
||||
return AVERROR(ENOMEM);
|
||||
return ff_set_common_samplerates(ctx, formats);
|
||||
}
|
||||
|
||||
static int request_frame(AVFilterLink *outlink)
|
||||
|
||||
Reference in New Issue
Block a user