From: Mark Spencer Date: Mon, 28 Apr 2003 01:13:19 +0000 (+0000) Subject: Fix CNG issues in G.723.1 X-Git-Tag: 0.5.0~575 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=29ac09a2aa1b75ae9e11c14da944f840f37a0735;p=thirdparty%2Fasterisk.git Fix CNG issues in G.723.1 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@921 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/codecs/codec_g723_1.c b/codecs/codec_g723_1.c index e8fd71198c..ad56bb02ec 100755 --- a/codecs/codec_g723_1.c +++ b/codecs/codec_g723_1.c @@ -15,9 +15,10 @@ * the GNU General Public License */ -#define TYPE_SILENCE 0x2 #define TYPE_HIGH 0x0 #define TYPE_LOW 0x1 +#define TYPE_SILENCE 0x2 +#define TYPE_DONTSEND 0x3 #define TYPE_MASK 0x3 #include @@ -189,7 +190,9 @@ static struct ast_frame *g723tolin_frameout(struct ast_translator_pvt *pvt) static int g723_len(unsigned char buf) { switch(buf & TYPE_MASK) { - case TYPE_MASK: + case TYPE_DONTSEND: + return 0; + break; case TYPE_SILENCE: return 4; break; @@ -293,6 +296,7 @@ static struct ast_frame *lintog723_frameout(struct ast_translator_pvt *pvt) #endif /* Assume 8000 Hz */ tmp->f.samples += 30; + /* FIXME:SLD: Shouldn't the [0] be [cnt]?? */ cnt += g723_len(tmp->outbuf[0]); tmp->tail -= Frame; /* Move the data at the end of the buffer to the front */ diff --git a/rtp.c b/rtp.c index 6f628fee87..aed30a379c 100755 --- a/rtp.c +++ b/rtp.c @@ -33,9 +33,10 @@ #include #include -#define TYPE_SILENCE 0x2 #define TYPE_HIGH 0x0 #define TYPE_LOW 0x1 +#define TYPE_SILENCE 0x2 +#define TYPE_DONTSEND 0x3 #define TYPE_MASK 0x3 static int dtmftimeout = 300; /* 300 samples */ @@ -88,7 +89,9 @@ int ast_rtp_fd(struct ast_rtp *rtp) static int g723_len(unsigned char buf) { switch(buf & TYPE_MASK) { - case TYPE_MASK: + case TYPE_DONTSEND: + return 0; + break; case TYPE_SILENCE: return 4; break;