[FFmpeg-devel] [PATCH 1/2] avfilter/af_amerge: properly handle unknown input layouts
Marton Balint
cus at passwd.hu
Thu Dec 15 05:39:18 EET 2016
Signed-off-by: Marton Balint <cus at passwd.hu>
---
libavfilter/af_amerge.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/libavfilter/af_amerge.c b/libavfilter/af_amerge.c
index 4a8c6d5..3bc7d89 100644
--- a/libavfilter/af_amerge.c
+++ b/libavfilter/af_amerge.c
@@ -93,10 +93,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) {
--
2.10.2
More information about the ffmpeg-devel
mailing list