From 5750a95f8b1b67ee78e0a9e93c72dd7e07589107 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 20 Dec 2011 11:23:46 +0100 Subject: [PATCH] swr: fix assert failure Bug found by: Oana Stratulat GCI-id: 7211207 Signed-off-by: Michael Niedermayer (cherry picked from commit aa1c590b29d30b11c2f4830e6bc08e8f936f557f) Signed-off-by: Michael Niedermayer --- libswresample/swresample.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libswresample/swresample.c b/libswresample/swresample.c index 0575f7dead..f97a2c1b19 100644 --- a/libswresample/swresample.c +++ b/libswresample/swresample.c @@ -202,7 +202,12 @@ int swr_init(struct SwrContext *s){ if(!s->out.ch_count) s->out.ch_count= av_get_channel_layout_nb_channels(s->out_ch_layout); -av_assert0(s-> in.ch_count); + if(!s-> in.ch_count){ + av_assert0(!s->in_ch_layout); + av_log(s, AV_LOG_ERROR, "Input channel count and layout are unset\n"); + return -1; + } + av_assert0(s->used_ch_count); av_assert0(s->out.ch_count); s->resample_first= RSC*s->out.ch_count/s->in.ch_count - RSC < s->out_sample_rate/(float)s-> in_sample_rate - 1.0;