From: Marton Balint Date: Thu, 15 Dec 2016 02:28:20 +0000 (+0100) Subject: avfilter/af_amerge: properly handle unknown input layouts X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=0db48ee4257c16f583b7b077fdbd13cfd0b9f037;p=ffmpeg avfilter/af_amerge: properly handle unknown input layouts Reviewed-by: Nicolas George Signed-off-by: Marton Balint --- diff --git a/libavfilter/af_amerge.c b/libavfilter/af_amerge.c index 40bf7ab209a..8ea01e206bd 100644 --- a/libavfilter/af_amerge.c +++ b/libavfilter/af_amerge.c @@ -96,10 +96,15 @@ static int query_formats(AVFilterContext *ctx) av_get_channel_layout_string(buf, sizeof(buf), 0, inlayout[i]); av_log(ctx, AV_LOG_INFO, "Using \"%s\" for input %d\n", buf, i + 1); } - s->in[i].nb_ch = av_get_channel_layout_nb_channels(inlayout[i]); - if (outlayout & inlayout[i]) + s->in[i].nb_ch = FF_LAYOUT2COUNT(inlayout[i]); + if (s->in[i].nb_ch) { overlap++; - outlayout |= inlayout[i]; + } else { + s->in[i].nb_ch = av_get_channel_layout_nb_channels(inlayout[i]); + if (outlayout & inlayout[i]) + overlap++; + outlayout |= inlayout[i]; + } nb_ch += s->in[i].nb_ch; } if (nb_ch > SWR_CH_MAX) {