diff --git a/libavfilter/af_silencedetect.c b/libavfilter/af_silencedetect.c index 482270d3f7..fa0884bee8 100644 --- a/libavfilter/af_silencedetect.c +++ b/libavfilter/af_silencedetect.c @@ -232,26 +232,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) return ff_filter_frame(inlink->dst->outputs[0], insamples); } -static int query_formats(AVFilterContext *ctx) -{ - static const enum AVSampleFormat sample_fmts[] = { - AV_SAMPLE_FMT_DBL, AV_SAMPLE_FMT_DBLP, - AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_FLTP, - AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_S32P, - AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S16P, - AV_SAMPLE_FMT_NONE - }; - int ret = ff_set_common_all_channel_counts(ctx); - if (ret < 0) - return ret; - - ret = ff_set_common_formats_from_list(ctx, sample_fmts); - if (ret < 0) - return ret; - - return ff_set_common_all_samplerates(ctx); -} - static av_cold void uninit(AVFilterContext *ctx) { SilenceDetectContext *s = ctx->priv; @@ -287,6 +267,9 @@ const AVFilter ff_af_silencedetect = { .uninit = uninit, FILTER_INPUTS(silencedetect_inputs), FILTER_OUTPUTS(silencedetect_outputs), - FILTER_QUERY_FUNC(query_formats), + FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_DBL, AV_SAMPLE_FMT_DBLP, + AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_FLTP, + AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_S32P, + AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S16P), .priv_class = &silencedetect_class, };