aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas George <nicolas.george@normalesup.org>2013-09-03 22:13:49 +0200
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2013-11-28 01:08:52 +0100
commitc2d37e736428d3daf9d0d0795af2815fd11dc432 (patch)
tree96db7c283fe8a4a25e8d5289cd105cbdf3c066b3
parent62baf22ec085a52a4ccb09cbd20a8d15c8496bdd (diff)
downloadffmpeg-c2d37e736428d3daf9d0d0795af2815fd11dc432.tar.gz
lavfi/avfiltergraph: do not reduce incompatible lists.
A list of "all channel layouts" but not "all channel counts" can not be reduced to a single unknown channel count. (cherry picked from commit d300f5f6f570659e4b58567b35c9e8600c9f2956)
-rw-r--r--libavfilter/avfiltergraph.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c
index 444a1a130a..4ae108f810 100644
--- a/libavfilter/avfiltergraph.c
+++ b/libavfilter/avfiltergraph.c
@@ -661,7 +661,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);