} ExtraStereoContext;
#define OFFSET(x) offsetof(ExtraStereoContext, x)
-#define A AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM
+#define A AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_RUNTIME_PARAM
static const AVOption extrastereo_options[] = {
{ "m", "set the difference coefficient", OFFSET(mult), AV_OPT_TYPE_FLOAT, {.dbl=2.5}, -10, 10, A },
if (av_frame_is_writable(in)) {
out = in;
} else {
- out = ff_get_audio_buffer(inlink, in->nb_samples);
+ out = ff_get_audio_buffer(outlink, in->nb_samples);
if (!out) {
av_frame_free(&in);
return AVERROR(ENOMEM);
.priv_class = &extrastereo_class,
.inputs = inputs,
.outputs = outputs,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .process_command = ff_filter_process_command,
};