lavfi/avfiltergraph: do not reduce incompatible lists.
authorNicolas George <nicolas.george@normalesup.org>
Tue, 3 Sep 2013 20:13:49 +0000 (22:13 +0200)
committerNicolas George <george@nsup.org>
Sun, 3 Nov 2013 09:30:16 +0000 (10:30 +0100)
A list of "all channel layouts" but not "all channel counts"
can not be reduced to a single unknown channel count.

libavfilter/avfiltergraph.c

index bcdcde0..1fb83c4 100644 (file)
@@ -741,7 +741,8 @@ static int reduce_formats_on_filter(AVFilterContext *filter)
             if (inlink->type != outlink->type || fmts->nb_channel_layouts == 1)
                 continue;
 
-            if (fmts->all_layouts) {
+            if (fmts->all_layouts &&
+                (!FF_LAYOUT2COUNT(fmt) || fmts->all_counts)) {
                 /* Turn the infinite list into a singleton */
                 fmts->all_layouts = fmts->all_counts  = 0;
                 ff_add_channel_layout(&outlink->in_channel_layouts, fmt);