From 258a49e0dc845eaf4e285b58a71198bf17da43b2 Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Tue, 10 Nov 2009 20:03:14 +0000 Subject: [PATCH] Remove broken support for direct transcoding between G.726 RFC3551 and G.726 AAL2. On some systems the translation core would actually consider g726aal2 -> g726 -> signed linear to be a quicker path then g726aal2 -> signed linear which exposed this problem. (closes issue #15504) Reported by: globalnetinc git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@229281 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- codecs/codec_g726.c | 42 ------------------------------------------ 1 file changed, 42 deletions(-) diff --git a/codecs/codec_g726.c b/codecs/codec_g726.c index bfc49ad9c8..dade0bdca3 100644 --- a/codecs/codec_g726.c +++ b/codecs/codec_g726.c @@ -780,22 +780,6 @@ static int lintog726_framein(struct ast_trans_pvt *pvt, struct ast_frame *f) return 0; } -/*! \brief convert G726-32 RFC3551 packed data into AAL2 packed data (or vice-versa) */ -static int g726tog726aal2_framein(struct ast_trans_pvt *pvt, struct ast_frame *f) -{ - unsigned char *src = f->data; - unsigned char *dst = (unsigned char *) pvt->outbuf + pvt->samples; - unsigned int i; - - for (i = 0; i < f->datalen; i++) - *dst++ = ((src[i] & 0xf) << 4) | (src[i] >> 4); - - pvt->samples += f->samples; - pvt->datalen += f->samples; /* 1 byte/sample */ - - return 0; -} - static struct ast_frame *g726tolin_sample(void) { static struct ast_frame f = { @@ -874,26 +858,6 @@ static struct ast_translator lintog726aal2 = { .buf_size = BUFFER_SAMPLES / 2, }; -static struct ast_translator g726tog726aal2 = { - .name = "g726tog726aal2", - .srcfmt = AST_FORMAT_G726, - .dstfmt = AST_FORMAT_G726_AAL2, - .framein = g726tog726aal2_framein, /* same for both directions */ - .sample = lintog726_sample, - .buffer_samples = BUFFER_SAMPLES, - .buf_size = BUFFER_SAMPLES, -}; - -static struct ast_translator g726aal2tog726 = { - .name = "g726aal2tog726", - .srcfmt = AST_FORMAT_G726_AAL2, - .dstfmt = AST_FORMAT_G726, - .framein = g726tog726aal2_framein, /* same for both directions */ - .sample = lintog726_sample, - .buffer_samples = BUFFER_SAMPLES, - .buf_size = BUFFER_SAMPLES, -}; - static void parse_config(void) { struct ast_variable *var; @@ -929,9 +893,6 @@ static int unload_module(void) res |= ast_unregister_translator(&g726aal2tolin); res |= ast_unregister_translator(&lintog726aal2); - res |= ast_unregister_translator(&g726aal2tog726); - res |= ast_unregister_translator(&g726tog726aal2); - return res; } @@ -948,9 +909,6 @@ static int load_module(void) res |= ast_register_translator(&g726aal2tolin); res |= ast_register_translator(&lintog726aal2); - res |= ast_register_translator(&g726aal2tog726); - res |= ast_register_translator(&g726tog726aal2); - if (res) unload_module();