if (ret < 0)
return ret;
- layouts = avfilter_make_format64_list(chlayouts);
+ layouts = ff_make_format64_list(chlayouts);
if (!layouts)
return AVERROR(ENOMEM);
ret = ff_set_common_channel_layouts(ctx, layouts);
{ NULL }
};
-AVFilter ff_asrc_aevalsrc = {
+const AVFilter ff_asrc_aevalsrc = {
.name = "aevalsrc",
.description = NULL_IF_CONFIG_SMALL("Generate an audio signal generated by an expression."),
.query_formats = query_formats,
// inlink supports any channel layout
layouts = ff_all_channel_counts();
- if ((ret = ff_channel_layouts_ref(layouts, &inlink->out_channel_layouts)) < 0)
+ if ((ret = ff_channel_layouts_ref(layouts, &inlink->outcfg.channel_layouts)) < 0)
return ret;
if (eval->same_chlayout) {
eval->out_channel_layout ? eval->out_channel_layout :
FF_COUNT2LAYOUT(eval->nb_channels))) < 0)
return ret;
- if ((ret = ff_channel_layouts_ref(layouts, &outlink->in_channel_layouts)) < 0)
+ if ((ret = ff_channel_layouts_ref(layouts, &outlink->incfg.channel_layouts)) < 0)
return ret;
}
return 0;
}
-#define TS2T(ts, tb) ((ts) == AV_NOPTS_VALUE ? NAN : (double)(ts)*av_q2d(tb))
-
static int filter_frame(AVFilterLink *inlink, AVFrame *in)
{
EvalContext *eval = inlink->dst->priv;
{ NULL }
};
-AVFilter ff_af_aeval = {
+const AVFilter ff_af_aeval = {
.name = "aeval",
.description = NULL_IF_CONFIG_SMALL("Filter audio signal according to a specified expression."),
.query_formats = aeval_query_formats,
.inputs = aeval_inputs,
.outputs = aeval_outputs,
.priv_class = &aeval_class,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
};
#endif /* CONFIG_AEVAL_FILTER */