Browse Source

avfilter/af_amerge: properly handle unknown input layouts

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
tags/n3.3
Marton Balint 9 years ago
parent
commit
0db48ee425
1 changed files with 8 additions and 3 deletions
  1. +8
    -3
      libavfilter/af_amerge.c

+ 8
- 3
libavfilter/af_amerge.c View File

@@ -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) {


Loading…
Cancel
Save