From 29ac09a2aa1b75ae9e11c14da944f840f37a0735 Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Mon, 28 Apr 2003 01:13:19 +0000 Subject: [PATCH] Fix CNG issues in G.723.1 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@921 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- codecs/codec_g723_1.c | 8 ++++++-- rtp.c | 7 +++++-- 2 files changed, 11 insertions(+), 4 deletions(-) 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;