|
|
|
@ -296,31 +296,10 @@ static av_cold void uninit(AVFilterContext *ctx) |
|
|
|
|
ff_framesync_uninit(&s->fs); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int query_formats(AVFilterContext *ctx) |
|
|
|
|
{ |
|
|
|
|
AVFilterFormats *formats; |
|
|
|
|
int ret, i; |
|
|
|
|
|
|
|
|
|
for (i = 0; i < ctx->nb_inputs; i++) { |
|
|
|
|
formats = ff_all_formats(ctx->inputs[i]->type); |
|
|
|
|
if ((ret = ff_set_common_formats(ctx, formats)) < 0) |
|
|
|
|
return ret; |
|
|
|
|
|
|
|
|
|
if (ctx->inputs[i]->type == AVMEDIA_TYPE_AUDIO) { |
|
|
|
|
if ((ret = ff_set_common_all_samplerates (ctx)) < 0 || |
|
|
|
|
(ret = ff_set_common_all_channel_counts(ctx)) < 0) |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const AVFilter ff_vf_streamselect = { |
|
|
|
|
.name = "streamselect", |
|
|
|
|
.description = NULL_IF_CONFIG_SMALL("Select video streams"), |
|
|
|
|
.init = init, |
|
|
|
|
FILTER_QUERY_FUNC(query_formats), |
|
|
|
|
.process_command = process_command, |
|
|
|
|
.uninit = uninit, |
|
|
|
|
.activate = activate, |
|
|
|
@ -334,7 +313,6 @@ const AVFilter ff_af_astreamselect = { |
|
|
|
|
.description = NULL_IF_CONFIG_SMALL("Select audio streams"), |
|
|
|
|
.priv_class = &streamselect_class, |
|
|
|
|
.init = init, |
|
|
|
|
FILTER_QUERY_FUNC(query_formats), |
|
|
|
|
.process_command = process_command, |
|
|
|
|
.uninit = uninit, |
|
|
|
|
.activate = activate, |
|
|
|
|