From: Joshua Colp Date: Fri, 5 Jan 2007 23:51:43 +0000 (+0000) Subject: It is possible for framein to get called and no channel be available, so do a check... X-Git-Tag: 1.6.0-beta1~3^2~3540 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=130eb5602f8e4b9d5ecf91091607ca47f2a4eea6;p=thirdparty%2Fasterisk.git It is possible for framein to get called and no channel be available, so do a check before we increment the count. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49716 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/codecs/codec_zap.c b/codecs/codec_zap.c index b07d3e586f..8cd4862a50 100644 --- a/codecs/codec_zap.c +++ b/codecs/codec_zap.c @@ -142,10 +142,18 @@ static int zap_framein(struct ast_trans_pvt *pvt, struct ast_frame *f) if(!ztp->inuse) { ast_mutex_lock(&channelcount); if(pvt->t->dstfmt == 8 || pvt->t->dstfmt == 0 ) { + if (complexinuse == totalchannels) { + ast_mutex_unlock(&channelcount); + return -1; + } complexinuse++; if(complexinuse == totalchannels) deactivate_translator(0); } else { + if (simpleinuse == totalchannels) { + ast_mutex_unlock(&channelcount); + return -1; + } simpleinuse++; if(simpleinuse == totalchannels) deactivate_translator(1);