Unified · Split
| @@ -232,26 +232,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) · 231 unmodified lines | |||
| 232 | return ff_filter_frame(inlink->dst->outputs[0], insamples); | 232 | return ff_filter_frame(inlink->dst->outputs[0], insamples); |
| 233 | } | 233 | } |
| 234 | 234 | ||
| 235 | static int query_formats(AVFilterContext *ctx) | ||
| 236 | { | ||
| 237 | static const enum AVSampleFormat sample_fmts[] = { | ||
| 238 | AV_SAMPLE_FMT_DBL, AV_SAMPLE_FMT_DBLP, | ||
| 239 | AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_FLTP, | ||
| 240 | AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_S32P, | ||
| 241 | AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S16P, | ||
| 242 | AV_SAMPLE_FMT_NONE | ||
| 243 | }; | ||
| 244 | int ret = ff_set_common_all_channel_counts(ctx); | ||
| 245 | if (ret < 0) | ||
| 246 | return ret; | ||
| 247 | |||
| 248 | ret = ff_set_common_formats_from_list(ctx, sample_fmts); | ||
| 249 | if (ret < 0) | ||
| 250 | return ret; | ||
| 251 | |||
| 252 | return ff_set_common_all_samplerates(ctx); | ||
| 253 | } | ||
| 254 | |||
| 255 | static av_cold void uninit(AVFilterContext *ctx) | 235 | static av_cold void uninit(AVFilterContext *ctx) |
| 256 | { | 236 | { |
| 257 | SilenceDetectContext *s = ctx->priv; | 237 | SilenceDetectContext *s = ctx->priv; |
| @@ -287,6 +267,9 @@ const AVFilter ff_af_silencedetect = { · 29 unmodified lines | |||
| 287 | .uninit = uninit, | 267 | .uninit = uninit, |
| 288 | FILTER_INPUTS(silencedetect_inputs), | 268 | FILTER_INPUTS(silencedetect_inputs), |
| 289 | FILTER_OUTPUTS(silencedetect_outputs), | 269 | FILTER_OUTPUTS(silencedetect_outputs), |
| 290 | FILTER_QUERY_FUNC(query_formats), | 270 | FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_DBL, AV_SAMPLE_FMT_DBLP, |
| 271 | AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_FLTP, | ||
| 272 | AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_S32P, | ||
| 273 | AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S16P), | ||
| 291 | .priv_class = &silencedetect_class, | 274 | .priv_class = &silencedetect_class, |
| 292 | }; | 275 | }; |