avfilter/af_loudnorm: simplify query_formats even more

This commit is contained in:
Paul B Mahol 2023-05-12 17:49:42 +02:00
parent 7f890b2fbb
commit e65f03ca13
1 changed files with 9 additions and 11 deletions

View File

@ -730,26 +730,24 @@ static int activate(AVFilterContext *ctx)
static int query_formats(AVFilterContext *ctx)
{
LoudNormContext *s = ctx->priv;
AVFilterFormats *formats = NULL;
static const int input_srate[] = {192000, -1};
static const enum AVSampleFormat sample_fmts[] = {
AV_SAMPLE_FMT_DBL,
AV_SAMPLE_FMT_NONE
};
int ret = ff_set_common_all_channel_counts(ctx);
if (ret < 0)
return ret;
ret = ff_add_format(&formats, AV_SAMPLE_FMT_DBL);
if (ret)
return ret;
ret = ff_set_common_formats(ctx, formats);
if (ret)
ret = ff_set_common_formats_from_list(ctx, sample_fmts);
if (ret < 0)
return ret;
if (s->frame_type != LINEAR_MODE) {
formats = ff_make_format_list(input_srate);
if (s->frame_type == LINEAR_MODE) {
return ff_set_common_all_samplerates(ctx);
} else {
formats = ff_all_samplerates();
return ff_set_common_samplerates_from_list(ctx, input_srate);
}
return ff_set_common_samplerates(ctx, formats);
}
static int config_input(AVFilterLink *inlink)