summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavfilter/af_ladspa.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavfilter/af_ladspa.c b/libavfilter/af_ladspa.c
index 3ceb91e739..7578a385ff 100644
--- a/libavfilter/af_ladspa.c
+++ b/libavfilter/af_ladspa.c
@@ -612,6 +612,8 @@ static int query_formats(AVFilterContext *ctx)
ff_set_common_channel_layouts(ctx, layouts);
} else {
+ AVFilterLink *outlink = ctx->outputs[0];
+
if (s->nb_inputs >= 1) {
AVFilterLink *inlink = ctx->inputs[0];
int64_t inlayout = FF_COUNT2LAYOUT(s->nb_inputs);
@@ -619,10 +621,12 @@ static int query_formats(AVFilterContext *ctx)
layouts = NULL;
ff_add_channel_layout(&layouts, inlayout);
ff_channel_layouts_ref(layouts, &inlink->out_channel_layouts);
+
+ if (!s->nb_outputs)
+ ff_channel_layouts_ref(layouts, &outlink->in_channel_layouts);
}
if (s->nb_outputs >= 1) {
- AVFilterLink *outlink = ctx->outputs[0];
int64_t outlayout = FF_COUNT2LAYOUT(s->nb_outputs);
layouts = NULL;