@@ -108,9 +108,11 @@ static const AVOption acrossover_options[] = {
AVFILTER_DEFINE_CLASS(acrossover);
-static int query_formats(AVFilterContext *ctx)
+static int query_formats(const AVFilterContext *ctx,
+ AVFilterFormatsConfig **cfg_in,
+ AVFilterFormatsConfig **cfg_out)
{
- AudioCrossoverContext *s = ctx->priv;
+ const AudioCrossoverContext *s = ctx->priv;
static const enum AVSampleFormat auto_sample_fmts[] = {
AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_DBLP,
@@ -121,9 +123,7 @@ static int query_formats(AVFilterContext *ctx)
AV_SAMPLE_FMT_NONE
};
const enum AVSampleFormat *sample_fmts_list = sample_fmts;
- int ret = ff_set_common_all_channel_counts(ctx);
- if (ret < 0)
- return ret;
+ int ret;
switch (s->precision) {
case 0:
@@ -138,11 +138,11 @@ static int query_formats(AVFilterContext *ctx)
default:
break;
}
- ret = ff_set_common_formats_from_list(ctx, sample_fmts_list);
+ ret = ff_set_common_formats_from_list2(ctx, cfg_in, cfg_out, sample_fmts_list);
if (ret < 0)
return ret;
- return ff_set_common_all_samplerates(ctx);
+ return 0;
}
static int parse_gains(AVFilterContext *ctx)
@@ -627,7 +627,7 @@ const AVFilter ff_af_acrossover = {
.uninit = uninit,
FILTER_INPUTS(inputs),
.outputs = NULL,
- FILTER_QUERY_FUNC(query_formats),
+ FILTER_QUERY_FUNC2(query_formats),
.flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS |
AVFILTER_FLAG_SLICE_THREADS,
};