diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-01-20 23:23:00 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-01-20 23:23:00 +0000 |
commit | 2e857ae5e5fec8858e7a9681ca5fa9ac1550fc30 (patch) | |
tree | 44804ffc1d3919a10e83f7a4ad91a00911b10802 /codecs | |
parent | c9fafda4b1b1e4d3db0a9321ea1f61a1905dd4cc (diff) |
formatting and doxygen fixes (issue #6300)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8360 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'codecs')
-rw-r--r-- | codecs/codec_a_mu.c | 346 | ||||
-rw-r--r-- | codecs/codec_adpcm.c | 504 | ||||
-rw-r--r-- | codecs/codec_alaw.c | 385 | ||||
-rw-r--r-- | codecs/codec_ulaw.c | 452 |
4 files changed, 809 insertions, 878 deletions
diff --git a/codecs/codec_a_mu.c b/codecs/codec_a_mu.c index a3c8cc264..47644a735 100644 --- a/codecs/codec_a_mu.c +++ b/codecs/codec_a_mu.c @@ -62,10 +62,10 @@ static unsigned char a2mu[256]; struct alaw_encoder_pvt { - struct ast_frame f; - char offset[AST_FRIENDLY_OFFSET]; /* Space to build offset */ - unsigned char outbuf[BUFFER_SIZE]; /* Encoded alaw, two nibbles to a word */ - int tail; + struct ast_frame f; + char offset[AST_FRIENDLY_OFFSET]; /* Space to build offset */ + unsigned char outbuf[BUFFER_SIZE]; /* Encoded alaw, two nibbles to a word */ + int tail; }; /* @@ -74,99 +74,91 @@ struct alaw_encoder_pvt struct ulaw_encoder_pvt { - struct ast_frame f; - char offset[AST_FRIENDLY_OFFSET]; /* Space to build offset */ - unsigned char outbuf[BUFFER_SIZE]; /* Encoded ulaw values */ - int tail; + struct ast_frame f; + char offset[AST_FRIENDLY_OFFSET]; /* Space to build offset */ + unsigned char outbuf[BUFFER_SIZE]; /* Encoded ulaw values */ + int tail; }; -static struct ast_translator_pvt * -alawtoulaw_new (void) +static struct ast_translator_pvt *alawtoulaw_new(void) { - struct ulaw_encoder_pvt *tmp; - tmp = malloc (sizeof (struct ulaw_encoder_pvt)); - if (tmp) - { - memset(tmp, 0, sizeof(*tmp)); - tmp->tail = 0; - localusecnt++; - ast_update_use_count (); - } - return (struct ast_translator_pvt *) tmp; + struct ulaw_encoder_pvt *tmp; + tmp = malloc(sizeof(struct ulaw_encoder_pvt)); + if (tmp) { + memset(tmp, 0, sizeof(*tmp)); + tmp->tail = 0; + localusecnt++; + ast_update_use_count(); + } + return (struct ast_translator_pvt *)tmp; } -static struct ast_translator_pvt * -ulawtoalaw_new (void) +static struct ast_translator_pvt *ulawtoalaw_new(void) { - struct alaw_encoder_pvt *tmp; - tmp = malloc (sizeof (struct alaw_encoder_pvt)); - if (tmp) - { - memset(tmp, 0, sizeof(*tmp)); - localusecnt++; - ast_update_use_count (); - tmp->tail = 0; - } - return (struct ast_translator_pvt *) tmp; + struct alaw_encoder_pvt *tmp; + tmp = malloc(sizeof(struct alaw_encoder_pvt)); + if (tmp) { + memset(tmp, 0, sizeof(*tmp)); + localusecnt++; + ast_update_use_count(); + tmp->tail = 0; + } + return (struct ast_translator_pvt *)tmp; } -static int -alawtoulaw_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) +static int alawtoulaw_framein(struct ast_translator_pvt *pvt, struct ast_frame *f) { - struct ulaw_encoder_pvt *tmp = (struct ulaw_encoder_pvt *) pvt; - int x; - unsigned char *b; - - if ((tmp->tail + f->datalen)> sizeof(tmp->outbuf)) { - ast_log(LOG_WARNING, "Out of buffer space\n"); - return -1; - } - - /* Reset ssindex and signal to frame's specified values */ - b = f->data; - for (x=0;x<f->datalen;x++) - tmp->outbuf[tmp->tail + x] = a2mu[b[x]]; - - tmp->tail += f->datalen; - return 0; + struct ulaw_encoder_pvt *tmp = (struct ulaw_encoder_pvt *)pvt; + int x; + unsigned char *b; + + if ((tmp->tail + f->datalen) > sizeof(tmp->outbuf)) { + ast_log(LOG_WARNING, "Out of buffer space\n"); + return -1; + } + + /* Reset ssindex and signal to frame's specified values */ + b = f->data; + for (x=0;x<f->datalen;x++) + tmp->outbuf[tmp->tail + x] = a2mu[b[x]]; + + tmp->tail += f->datalen; + return 0; } -static struct ast_frame * -alawtoulaw_frameout (struct ast_translator_pvt *pvt) +static struct ast_frame *alawtoulaw_frameout(struct ast_translator_pvt *pvt) { - struct ulaw_encoder_pvt *tmp = (struct ulaw_encoder_pvt *) pvt; - - if (!tmp->tail) - return NULL; - - tmp->f.frametype = AST_FRAME_VOICE; - tmp->f.subclass = AST_FORMAT_ULAW; - tmp->f.datalen = tmp->tail; - tmp->f.samples = tmp->tail; - tmp->f.mallocd = 0; - tmp->f.offset = AST_FRIENDLY_OFFSET; - tmp->f.src = __PRETTY_FUNCTION__; - tmp->f.data = tmp->outbuf; - tmp->tail = 0; - return &tmp->f; + struct ulaw_encoder_pvt *tmp = (struct ulaw_encoder_pvt *)pvt; + + if (!tmp->tail) + return NULL; + + tmp->f.frametype = AST_FRAME_VOICE; + tmp->f.subclass = AST_FORMAT_ULAW; + tmp->f.datalen = tmp->tail; + tmp->f.samples = tmp->tail; + tmp->f.mallocd = 0; + tmp->f.offset = AST_FRIENDLY_OFFSET; + tmp->f.src = __PRETTY_FUNCTION__; + tmp->f.data = tmp->outbuf; + tmp->tail = 0; + return &tmp->f; } -static int -ulawtoalaw_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) +static int ulawtoalaw_framein(struct ast_translator_pvt *pvt, struct ast_frame *f) { - struct alaw_encoder_pvt *tmp = (struct alaw_encoder_pvt *) pvt; - int x; - unsigned char *s; - if (tmp->tail + f->datalen >= sizeof(tmp->outbuf)) - { - ast_log (LOG_WARNING, "Out of buffer space\n"); - return -1; - } - s = f->data; - for (x=0;x<f->datalen;x++) - tmp->outbuf[x+tmp->tail] = mu2a[s[x]]; - tmp->tail += f->datalen; - return 0; + struct alaw_encoder_pvt *tmp = (struct alaw_encoder_pvt *)pvt; + int x; + unsigned char *s; + if (tmp->tail + f->datalen >= sizeof(tmp->outbuf)) { + ast_log(LOG_WARNING, "Out of buffer space\n"); + return -1; + } + s = f->data; + for (x=0;x<f->datalen;x++) + tmp->outbuf[x+tmp->tail] = mu2a[s[x]]; + tmp->tail += f->datalen; + return 0; } /* @@ -181,61 +173,57 @@ ulawtoalaw_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) * Leftover inbuf data gets packed, tail gets updated. */ -static struct ast_frame * -ulawtoalaw_frameout (struct ast_translator_pvt *pvt) +static struct ast_frame *ulawtoalaw_frameout(struct ast_translator_pvt *pvt) { - struct alaw_encoder_pvt *tmp = (struct alaw_encoder_pvt *) pvt; + struct alaw_encoder_pvt *tmp = (struct alaw_encoder_pvt *)pvt; - if (tmp->tail) { - tmp->f.frametype = AST_FRAME_VOICE; - tmp->f.subclass = AST_FORMAT_ALAW; - tmp->f.samples = tmp->tail; - tmp->f.mallocd = 0; - tmp->f.offset = AST_FRIENDLY_OFFSET; - tmp->f.src = __PRETTY_FUNCTION__; - tmp->f.data = tmp->outbuf; - tmp->f.datalen = tmp->tail; - tmp->tail = 0; - return &tmp->f; - } else return NULL; + if (tmp->tail) { + tmp->f.frametype = AST_FRAME_VOICE; + tmp->f.subclass = AST_FORMAT_ALAW; + tmp->f.samples = tmp->tail; + tmp->f.mallocd = 0; + tmp->f.offset = AST_FRIENDLY_OFFSET; + tmp->f.src = __PRETTY_FUNCTION__; + tmp->f.data = tmp->outbuf; + tmp->f.datalen = tmp->tail; + tmp->tail = 0; + return &tmp->f; + } else + return NULL; } - /* * alawToLin_Sample */ -static struct ast_frame * -alawtoulaw_sample (void) +static struct ast_frame *alawtoulaw_sample(void) { - static struct ast_frame f; - f.frametype = AST_FRAME_VOICE; - f.subclass = AST_FORMAT_ALAW; - f.datalen = sizeof (ulaw_slin_ex); - f.samples = sizeof(ulaw_slin_ex); - f.mallocd = 0; - f.offset = 0; - f.src = __PRETTY_FUNCTION__; - f.data = ulaw_slin_ex; - return &f; + static struct ast_frame f; + f.frametype = AST_FRAME_VOICE; + f.subclass = AST_FORMAT_ALAW; + f.datalen = sizeof(ulaw_slin_ex); + f.samples = sizeof(ulaw_slin_ex); + f.mallocd = 0; + f.offset = 0; + f.src = __PRETTY_FUNCTION__; + f.data = ulaw_slin_ex; + return &f; } -static struct ast_frame * -ulawtoalaw_sample (void) +static struct ast_frame *ulawtoalaw_sample(void) { - static struct ast_frame f; - f.frametype = AST_FRAME_VOICE; - f.subclass = AST_FORMAT_ULAW; - f.datalen = sizeof (ulaw_slin_ex); - f.samples = sizeof(ulaw_slin_ex); - f.mallocd = 0; - f.offset = 0; - f.src = __PRETTY_FUNCTION__; - f.data = ulaw_slin_ex; - return &f; + static struct ast_frame f; + f.frametype = AST_FRAME_VOICE; + f.subclass = AST_FORMAT_ULAW; + f.datalen = sizeof(ulaw_slin_ex); + f.samples = sizeof(ulaw_slin_ex); + f.mallocd = 0; + f.offset = 0; + f.src = __PRETTY_FUNCTION__; + f.data = ulaw_slin_ex; + return &f; } - /* * alaw_Destroy * Destroys a private workspace. @@ -247,12 +235,11 @@ ulawtoalaw_sample (void) * None. */ -static void -alaw_destroy (struct ast_translator_pvt *pvt) +static void alaw_destroy(struct ast_translator_pvt *pvt) { - free (pvt); - localusecnt--; - ast_update_use_count (); + free(pvt); + localusecnt--; + ast_update_use_count(); } /* @@ -260,15 +247,15 @@ alaw_destroy (struct ast_translator_pvt *pvt) */ static struct ast_translator alawtoulaw = { - "alawtoulaw", - AST_FORMAT_ALAW, - AST_FORMAT_ULAW, - alawtoulaw_new, - alawtoulaw_framein, - alawtoulaw_frameout, - alaw_destroy, - /* NULL */ - alawtoulaw_sample + "alawtoulaw", + AST_FORMAT_ALAW, + AST_FORMAT_ULAW, + alawtoulaw_new, + alawtoulaw_framein, + alawtoulaw_frameout, + alaw_destroy, + /* NULL */ + alawtoulaw_sample }; /* @@ -276,68 +263,63 @@ static struct ast_translator alawtoulaw = { */ static struct ast_translator ulawtoalaw = { - "ulawtoalaw", - AST_FORMAT_ULAW, - AST_FORMAT_ALAW, - ulawtoalaw_new, - ulawtoalaw_framein, - ulawtoalaw_frameout, - alaw_destroy, - /* NULL */ - ulawtoalaw_sample + "ulawtoalaw", + AST_FORMAT_ULAW, + AST_FORMAT_ALAW, + ulawtoalaw_new, + ulawtoalaw_framein, + ulawtoalaw_frameout, + alaw_destroy, + /* NULL */ + ulawtoalaw_sample }; -int -unload_module (void) +int unload_module(void) { - int res; - ast_mutex_lock (&localuser_lock); - res = ast_unregister_translator (&ulawtoalaw); - if (!res) - res = ast_unregister_translator (&alawtoulaw); - if (localusecnt) - res = -1; - ast_mutex_unlock (&localuser_lock); - return res; + int res; + ast_mutex_lock(&localuser_lock); + res = ast_unregister_translator(&ulawtoalaw); + if (!res) + res = ast_unregister_translator(&alawtoulaw); + if (localusecnt) + res = -1; + ast_mutex_unlock(&localuser_lock); + return res; } -int -load_module (void) +int load_module(void) { - int res; - int x; - for (x=0;x<256;x++) { - mu2a[x] = AST_LIN2A(AST_MULAW(x)); - a2mu[x] = AST_LIN2MU(AST_ALAW(x)); - } - res = ast_register_translator (&alawtoulaw); - if (!res) - res = ast_register_translator (&ulawtoalaw); - else - ast_unregister_translator (&alawtoulaw); - return res; + int res; + int x; + for (x=0;x<256;x++) { + mu2a[x] = AST_LIN2A(AST_MULAW(x)); + a2mu[x] = AST_LIN2MU(AST_ALAW(x)); + } + res = ast_register_translator(&alawtoulaw); + if (!res) + res = ast_register_translator(&ulawtoalaw); + else + ast_unregister_translator(&alawtoulaw); + return res; } /* * Return a description of this module. */ -char * -description (void) +char *description(void) { - return tdesc; + return tdesc; } -int -usecount (void) +int usecount(void) { - int res; - STANDARD_USECOUNT (res); - return res; + int res; + STANDARD_USECOUNT(res); + return res; } -char * -key () +char *key() { - return ASTERISK_GPL_KEY; + return ASTERISK_GPL_KEY; } diff --git a/codecs/codec_adpcm.c b/codecs/codec_adpcm.c index 187c42442..e62755074 100644 --- a/codecs/codec_adpcm.c +++ b/codecs/codec_adpcm.c @@ -102,8 +102,7 @@ struct adpcm_state { * Sets the index to the step size table for the next encode. */ -static inline short -decode(int encoded, struct adpcm_state* state) +static inline short decode(int encoded, struct adpcm_state *state) { int diff; int step; @@ -117,9 +116,12 @@ decode(int encoded, struct adpcm_state* state) diff = (((encoded << 1) + 1) * step) >> 3; #else /* BLI code */ diff = step >> 3; - if (encoded & 4) diff += step; - if (encoded & 2) diff += step >> 1; - if (encoded & 1) diff += step >> 2; + if (encoded & 4) + diff += step; + if (encoded & 2) + diff += step >> 1; + if (encoded & 1) + diff += step >> 2; if ((encoded >> 1) & step & 0x1) diff++; #endif @@ -143,8 +145,7 @@ decode(int encoded, struct adpcm_state* state) #ifdef AUTO_RETURN if (encoded) state->zero_count = 0; - else if (++(state->zero_count) == 24) - { + else if (++(state->zero_count) == 24) { state->zero_count = 0; if (state->signal > 0) state->next_flag = 0x1; @@ -174,51 +175,43 @@ decode(int encoded, struct adpcm_state* state) * signal gets updated with each pass. */ -static inline int -adpcm(short csig, struct adpcm_state* state) +static inline int adpcm(short csig, struct adpcm_state *state) { int diff; int step; int encoded; /* - * Clip csig if too large or too small - */ + * Clip csig if too large or too small + */ csig >>= 4; step = stpsz[state->ssindex]; diff = csig - state->signal; #ifdef NOT_BLI - if (diff < 0) - { + if (diff < 0) { encoded = (-diff << 2) / step; if (encoded > 7) encoded = 7; encoded |= 0x08; - } - else - { + } else { encoded = (diff << 2) / step; if (encoded > 7) encoded = 7; } #else /* BLI code */ - if (diff < 0) - { + if (diff < 0) { encoded = 8; diff = -diff; - } - else + } else encoded = 0; - if (diff >= step) - { + if (diff >= step) { encoded |= 4; diff -= step; } step >>= 1; - if (diff >= step) - { + if (diff >= step) { encoded |= 2; diff -= step; } @@ -239,12 +232,12 @@ adpcm(short csig, struct adpcm_state* state) struct adpcm_encoder_pvt { - struct ast_frame f; - char offset[AST_FRIENDLY_OFFSET]; /* Space to build offset */ - short inbuf[BUFFER_SIZE]; /* Unencoded signed linear values */ - unsigned char outbuf[BUFFER_SIZE]; /* Encoded ADPCM, two nibbles to a word */ - struct adpcm_state state; - int tail; + struct ast_frame f; + char offset[AST_FRIENDLY_OFFSET]; /* Space to build offset */ + short inbuf[BUFFER_SIZE]; /* Unencoded signed linear values */ + unsigned char outbuf[BUFFER_SIZE]; /* Encoded ADPCM, two nibbles to a word */ + struct adpcm_state state; + int tail; }; /* @@ -253,12 +246,12 @@ struct adpcm_encoder_pvt struct adpcm_decoder_pvt { - struct ast_frame f; - char offset[AST_FRIENDLY_OFFSET]; /* Space to build offset */ - short outbuf[BUFFER_SIZE]; /* Decoded signed linear values */ - struct adpcm_state state; - int tail; - plc_state_t plc; + struct ast_frame f; + char offset[AST_FRIENDLY_OFFSET]; /* Space to build offset */ + short outbuf[BUFFER_SIZE]; /* Decoded signed linear values */ + struct adpcm_state state; + int tail; + plc_state_t plc; }; /* @@ -272,20 +265,18 @@ struct adpcm_decoder_pvt * None. */ -static struct ast_translator_pvt * -adpcmtolin_new (void) +static struct ast_translator_pvt *adpcmtolin_new(void) { - struct adpcm_decoder_pvt *tmp; - tmp = malloc (sizeof (struct adpcm_decoder_pvt)); - if (tmp) - { - memset(tmp, 0, sizeof(*tmp)); - tmp->tail = 0; - plc_init(&tmp->plc); - localusecnt++; - ast_update_use_count (); - } - return (struct ast_translator_pvt *) tmp; + struct adpcm_decoder_pvt *tmp; + tmp = malloc(sizeof(struct adpcm_decoder_pvt)); + if (tmp) { + memset(tmp, 0, sizeof(*tmp)); + tmp->tail = 0; + plc_init(&tmp->plc); + localusecnt++; + ast_update_use_count(); + } + return (struct ast_translator_pvt *)tmp; } /* @@ -299,19 +290,17 @@ adpcmtolin_new (void) * None. */ -static struct ast_translator_pvt * -lintoadpcm_new (void) +static struct ast_translator_pvt *lintoadpcm_new(void) { - struct adpcm_encoder_pvt *tmp; - tmp = malloc (sizeof (struct adpcm_encoder_pvt)); - if (tmp) - { - memset(tmp, 0, sizeof(*tmp)); - localusecnt++; - ast_update_use_count (); - tmp->tail = 0; - } - return (struct ast_translator_pvt *) tmp; + struct adpcm_encoder_pvt *tmp; + tmp = malloc(sizeof(struct adpcm_encoder_pvt)); + if (tmp) { + memset(tmp, 0, sizeof(*tmp)); + localusecnt++; + ast_update_use_count(); + tmp->tail = 0; + } + return (struct ast_translator_pvt *)tmp; } /* @@ -326,40 +315,40 @@ lintoadpcm_new (void) * tmp->tail is the number of packed values in the buffer. */ -static int -adpcmtolin_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) +static int adpcmtolin_framein(struct ast_translator_pvt *pvt, struct ast_frame *f) { - struct adpcm_decoder_pvt *tmp = (struct adpcm_decoder_pvt *) pvt; - int x; - unsigned char *b; - - if(f->datalen == 0) { /* perform PLC with nominal framesize of 20ms/160 samples */ - if((tmp->tail + 160) > sizeof(tmp->outbuf) / 2) { - ast_log(LOG_WARNING, "Out of buffer space\n"); - return -1; - } - if(useplc) { - plc_fillin(&tmp->plc, tmp->outbuf+tmp->tail, 160); - tmp->tail += 160; + struct adpcm_decoder_pvt *tmp = (struct adpcm_decoder_pvt *)pvt; + int x; + unsigned char *b; + + if(f->datalen == 0) { /* perform PLC with nominal framesize of 20ms/160 samples */ + if((tmp->tail + 160) > sizeof(tmp->outbuf) / 2) { + ast_log(LOG_WARNING, "Out of buffer space\n"); + return -1; + } + if(useplc) { + plc_fillin(&tmp->plc, tmp->outbuf+tmp->tail, 160); + tmp->tail += 160; + } + return 0; } - return 0; - } - if (f->datalen * 4 + tmp->tail * 2 > sizeof(tmp->outbuf)) { - ast_log(LOG_WARNING, "Out of buffer space\n"); - return -1; - } + if (f->datalen * 4 + tmp->tail * 2 > sizeof(tmp->outbuf)) { + ast_log(LOG_WARNING, "Out of buffer space\n"); + return -1; + } - b = f->data; + b = f->data; - for (x=0;x<f->datalen;x++) { - tmp->outbuf[tmp->tail++] = decode((b[x] >> 4) & 0xf, &tmp->state); - tmp->outbuf[tmp->tail++] = decode(b[x] & 0x0f, &tmp->state); - } + for (x=0;x<f->datalen;x++) { + tmp->outbuf[tmp->tail++] = decode((b[x] >> 4) & 0xf, &tmp->state); + tmp->outbuf[tmp->tail++] = decode(b[x] & 0x0f, &tmp->state); + } - if(useplc) plc_rx(&tmp->plc, tmp->outbuf+tmp->tail-f->datalen*2, f->datalen*2); + if(useplc) + plc_rx(&tmp->plc, tmp->outbuf+tmp->tail-f->datalen*2, f->datalen*2); - return 0; + return 0; } /* @@ -374,24 +363,23 @@ adpcmtolin_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) * None. */ -static struct ast_frame * -adpcmtolin_frameout (struct ast_translator_pvt *pvt) +static struct ast_frame *adpcmtolin_frameout(struct ast_translator_pvt *pvt) { - struct adpcm_decoder_pvt *tmp = (struct adpcm_decoder_pvt *) pvt; - - if (!tmp->tail) - return NULL; - - tmp->f.frametype = AST_FRAME_VOICE; - tmp->f.subclass = AST_FORMAT_SLINEAR; - tmp->f.datalen = tmp->tail *2; - tmp->f.samples = tmp->tail; - tmp->f.mallocd = 0; - tmp->f.offset = AST_FRIENDLY_OFFSET; - tmp->f.src = __PRETTY_FUNCTION__; - tmp->f.data = tmp->outbuf; - tmp->tail = 0; - return &tmp->f; + struct adpcm_decoder_pvt *tmp = (struct adpcm_decoder_pvt *)pvt; + + if (!tmp->tail) + return NULL; + + tmp->f.frametype = AST_FRAME_VOICE; + tmp->f.subclass = AST_FORMAT_SLINEAR; + tmp->f.datalen = tmp->tail * 2; + tmp->f.samples = tmp->tail; + tmp->f.mallocd = 0; + tmp->f.offset = AST_FRIENDLY_OFFSET; + tmp->f.src = __PRETTY_FUNCTION__; + tmp->f.data = tmp->outbuf; + tmp->tail = 0; + return &tmp->f; } /* @@ -405,22 +393,18 @@ adpcmtolin_frameout (struct ast_translator_pvt *pvt) * tmp->tail is number of signal values in the input buffer. */ -static int -lintoadpcm_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) +static int lintoadpcm_framein(struct ast_translator_pvt *pvt, struct ast_frame *f) { - struct adpcm_encoder_pvt *tmp = (struct adpcm_encoder_pvt *) pvt; - - if ((tmp->tail + f->datalen / 2) < (sizeof (tmp->inbuf) / 2)) - { - memcpy (&tmp->inbuf[tmp->tail], f->data, f->datalen); - tmp->tail += f->datalen / 2; - } - else - { - ast_log (LOG_WARNING, "Out of buffer space\n"); - return -1; - } - return 0; + struct adpcm_encoder_pvt *tmp = (struct adpcm_encoder_pvt *)pvt; + + if ((tmp->tail + f->datalen / 2) < (sizeof(tmp->inbuf) / 2)) { + memcpy(&tmp->inbuf[tmp->tail], f->data, f->datalen); + tmp->tail += f->datalen / 2; + } else { + ast_log(LOG_WARNING, "Out of buffer space\n"); + return -1; + } + return 0; } /* @@ -435,54 +419,50 @@ lintoadpcm_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) * Leftover inbuf data gets packed, tail gets updated. */ -static struct ast_frame * -lintoadpcm_frameout (struct ast_translator_pvt *pvt) +static struct ast_frame *lintoadpcm_frameout(struct ast_translator_pvt *pvt) { - struct adpcm_encoder_pvt *tmp = (struct adpcm_encoder_pvt *) pvt; - int i_max, i; + struct adpcm_encoder_pvt *tmp = (struct adpcm_encoder_pvt *)pvt; + int i_max, i; - if (tmp->tail < 2) return NULL; - - - i_max = tmp->tail & ~1; /* atomic size is 2 samples */ - - /* What is this, state debugging? should be #ifdef'd then - tmp->outbuf[0] = tmp->ssindex & 0xff; - tmp->outbuf[1] = (tmp->signal >> 8) & 0xff; - tmp->outbuf[2] = (tmp->signal & 0xff); - tmp->outbuf[3] = tmp->zero_count; - tmp->outbuf[4] = tmp->next_flag; - */ - for (i = 0; i < i_max; i+=2) - { - tmp->outbuf[i/2] = - (adpcm(tmp->inbuf[i ], &tmp->state) << 4) | - (adpcm(tmp->inbuf[i+1], &tmp->state) ); - }; - - - tmp->f.frametype = AST_FRAME_VOICE; - tmp->f.subclass = AST_FORMAT_ADPCM; - tmp->f.samples = i_max; - tmp->f.mallocd = 0; - tmp->f.offset = AST_FRIENDLY_OFFSET; - tmp->f.src = __PRETTY_FUNCTION__; - tmp->f.data = tmp->outbuf; - tmp->f.datalen = i_max / 2; - - /* - * If there is a signal left over (there should be no more than - * one) move it to the beginning of the input buffer. - */ - - if (tmp->tail == i_max) - tmp->tail = 0; - else - { - tmp->inbuf[0] = tmp->inbuf[tmp->tail]; - tmp->tail = 1; - } - return &tmp->f; + if (tmp->tail < 2) + return NULL; + + i_max = tmp->tail & ~1; /* atomic size is 2 samples */ + + /* What is this, state debugging? should be #ifdef'd then + tmp->outbuf[0] = tmp->ssindex & 0xff; + tmp->outbuf[1] = (tmp->signal >> 8) & 0xff; + tmp->outbuf[2] = (tmp->signal & 0xff); + tmp->outbuf[3] = tmp->zero_count; + tmp->outbuf[4] = tmp->next_flag; + */ + for (i = 0; i < i_max; i+=2) { + tmp->outbuf[i/2] = + (adpcm(tmp->inbuf[i ], &tmp->state) << 4) | + (adpcm(tmp->inbuf[i+1], &tmp->state) ); + }; + + tmp->f.frametype = AST_FRAME_VOICE; + tmp->f.subclass = AST_FORMAT_ADPCM; + tmp->f.samples = i_max; + tmp->f.mallocd = 0; + tmp->f.offset = AST_FRIENDLY_OFFSET; + tmp->f.src = __PRETTY_FUNCTION__; + tmp->f.data = tmp->outbuf; + tmp->f.datalen = i_max / 2; + + /* + * If there is a signal left over (there should be no more than + * one) move it to the beginning of the input buffer. + */ + + if (tmp->tail == i_max) + tmp->tail = 0; + else { + tmp->inbuf[0] = tmp->inbuf[tmp->tail]; + tmp->tail = 1; + } + return &tmp->f; } @@ -490,39 +470,37 @@ lintoadpcm_frameout (struct ast_translator_pvt *pvt) * AdpcmToLin_Sample */ -static struct ast_frame * -adpcmtolin_sample (void) +static struct ast_frame *adpcmtolin_sample(void) { - static struct ast_frame f; - f.frametype = AST_FRAME_VOICE; - f.subclass = AST_FORMAT_ADPCM; - f.datalen = sizeof (adpcm_slin_ex); - f.samples = sizeof(adpcm_slin_ex) * 2; - f.mallocd = 0; - f.offset = 0; - f.src = __PRETTY_FUNCTION__; - f.data = adpcm_slin_ex; - return &f; + static struct ast_frame f; + f.frametype = AST_FRAME_VOICE; + f.subclass = AST_FORMAT_ADPCM; + f.datalen = sizeof(adpcm_slin_ex); + f.samples = sizeof(adpcm_slin_ex) * 2; + f.mallocd = 0; + f.offset = 0; + f.src = __PRETTY_FUNCTION__; + f.data = adpcm_slin_ex; + return &f; } /* * LinToAdpcm_Sample */ -static struct ast_frame * -lintoadpcm_sample (void) +static struct ast_frame *lintoadpcm_sample(void) { - static struct ast_frame f; - f.frametype = AST_FRAME_VOICE; - f.subclass = AST_FORMAT_SLINEAR; - f.datalen = sizeof (slin_adpcm_ex); - /* Assume 8000 Hz */ - f.samples = sizeof (slin_adpcm_ex) / 2; - f.mallocd = 0; - f.offset = 0; - f.src = __PRETTY_FUNCTION__; - f.data = slin_adpcm_ex; - return &f; + static struct ast_frame f; + f.frametype = AST_FRAME_VOICE; + f.subclass = AST_FORMAT_SLINEAR; + f.datalen = sizeof(slin_adpcm_ex); + /* Assume 8000 Hz */ + f.samples = sizeof(slin_adpcm_ex) / 2; + f.mallocd = 0; + f.offset = 0; + f.src = __PRETTY_FUNCTION__; + f.data = slin_adpcm_ex; + return &f; } /* @@ -536,12 +514,11 @@ lintoadpcm_sample (void) * None. */ -static void -adpcm_destroy (struct ast_translator_pvt *pvt) +static void adpcm_destroy(struct ast_translator_pvt *pvt) { - free (pvt); - localusecnt--; - ast_update_use_count (); + free(pvt); + localusecnt--; + ast_update_use_count(); } /* @@ -549,15 +526,15 @@ adpcm_destroy (struct ast_translator_pvt *pvt) */ static struct ast_translator adpcmtolin = { - "adpcmtolin", - AST_FORMAT_ADPCM, - AST_FORMAT_SLINEAR, - adpcmtolin_new, - adpcmtolin_framein, - adpcmtolin_frameout, - adpcm_destroy, - /* NULL */ - adpcmtolin_sample + "adpcmtolin", + AST_FORMAT_ADPCM, + AST_FORMAT_SLINEAR, + adpcmtolin_new, + adpcmtolin_framein, + adpcmtolin_frameout, + adpcm_destroy, + /* NULL */ + adpcmtolin_sample }; /* @@ -565,91 +542,84 @@ static struct ast_translator adpcmtolin = { */ static struct ast_translator lintoadpcm = { - "lintoadpcm", - AST_FORMAT_SLINEAR, - AST_FORMAT_ADPCM, - lintoadpcm_new, - lintoadpcm_framein, - lintoadpcm_frameout, - adpcm_destroy, - /* NULL */ - lintoadpcm_sample + "lintoadpcm", + AST_FORMAT_SLINEAR, + AST_FORMAT_ADPCM, + lintoadpcm_new, + lintoadpcm_framein, + lintoadpcm_frameout, + adpcm_destroy, + /* NULL */ + lintoadpcm_sample }; -static void -parse_config(void) +static void parse_config(void) { - struct ast_config *cfg; - struct ast_variable *var; - if ((cfg = ast_config_load("codecs.conf"))) { - if ((var = ast_variable_browse(cfg, "plc"))) { - while (var) { - if (!strcasecmp(var->name, "genericplc")) { - useplc = ast_true(var->value) ? 1 : 0; - if (option_verbose > 2) - ast_verbose(VERBOSE_PREFIX_3 "codec_adpcm: %susing generic PLC\n", useplc ? "" : "not "); - } - var = var->next; - } - } - ast_config_destroy(cfg); - } + struct ast_config *cfg; + struct ast_variable *var; + if ((cfg = ast_config_load("codecs.conf"))) { + if ((var = ast_variable_browse(cfg, "plc"))) { + while (var) { + if (!strcasecmp(var->name, "genericplc")) { + useplc = ast_true(var->value) ? 1 : 0; + if (option_verbose > 2) + ast_verbose(VERBOSE_PREFIX_3 "codec_adpcm: %susing generic PLC\n", useplc ? "" : "not "); + } + var = var->next; + } + } + ast_config_destroy(cfg); + } } -int -reload(void) +int reload(void) { - parse_config(); - return 0; + parse_config(); + return 0; } -int -unload_module (void) +int unload_module(void) { - int res; - ast_mutex_lock (&localuser_lock); - res = ast_unregister_translator (&lintoadpcm); - if (!res) - res = ast_unregister_translator (&adpcmtolin); - if (localusecnt) - res = -1; - ast_mutex_unlock (&localuser_lock); - return res; + int res; + ast_mutex_lock(&localuser_lock); + res = ast_unregister_translator(&lintoadpcm); + if (!res) + res = ast_unregister_translator(&adpcmtolin); + if (localusecnt) + res = -1; + ast_mutex_unlock(&localuser_lock); + return res; } -int -load_module (void) +int load_module(void) { - int res; - parse_config(); - res = ast_register_translator (&adpcmtolin); - if (!res) - res = ast_register_translator (&lintoadpcm); - else - ast_unregister_translator (&adpcmtolin); - return res; + int res; + parse_config(); + res = ast_register_translator(&adpcmtolin); + if (!res) + res = ast_register_translator(&lintoadpcm); + else + ast_unregister_translator(&adpcmtolin); + return res; } /* * Return a description of this module. */ -char * -description (void) +char *description(void) { - return tdesc; + return tdesc; } -int -usecount (void) +int usecount(void) { - int res; - STANDARD_USECOUNT (res); - return res; + int res; + STANDARD_USECOUNT(res); + return res; } -char * -key () +char *key() { - return ASTERISK_GPL_KEY; + return ASTERISK_GPL_KEY; } diff --git a/codecs/codec_alaw.c b/codecs/codec_alaw.c index 86e3a6592..1c44d3434 100644 --- a/codecs/codec_alaw.c +++ b/codecs/codec_alaw.c @@ -62,10 +62,10 @@ static int useplc = 0; */ struct alaw_encoder_pvt { - struct ast_frame f; - char offset[AST_FRIENDLY_OFFSET]; /*!< Space to build offset */ - unsigned char outbuf[BUFFER_SIZE]; /*!< Encoded alaw, two nibbles to a word */ - int tail; + struct ast_frame f; + char offset[AST_FRIENDLY_OFFSET]; /*!< Space to build offset */ + unsigned char outbuf[BUFFER_SIZE]; /*!< Encoded alaw, two nibbles to a word */ + int tail; }; /*! @@ -73,11 +73,11 @@ struct alaw_encoder_pvt */ struct alaw_decoder_pvt { - struct ast_frame f; - char offset[AST_FRIENDLY_OFFSET]; /* Space to build offset */ - short outbuf[BUFFER_SIZE]; /* Decoded signed linear values */ - int tail; - plc_state_t plc; + struct ast_frame f; + char offset[AST_FRIENDLY_OFFSET]; /* Space to build offset */ + short outbuf[BUFFER_SIZE]; /* Decoded signed linear values */ + int tail; + plc_state_t plc; }; /*! @@ -91,19 +91,18 @@ struct alaw_decoder_pvt * None. */ -static struct ast_translator_pvt * alawtolin_new (void) +static struct ast_translator_pvt *alawtolin_new(void) { - struct alaw_decoder_pvt *tmp; - tmp = malloc (sizeof (struct alaw_decoder_pvt)); - if (tmp) - { - memset(tmp, 0, sizeof(*tmp)); - tmp->tail = 0; - plc_init(&tmp->plc); - localusecnt++; - ast_update_use_count (); - } - return (struct ast_translator_pvt *) tmp; + struct alaw_decoder_pvt *tmp; + tmp = malloc(sizeof(struct alaw_decoder_pvt)); + if (tmp) { + memset(tmp, 0, sizeof(*tmp)); + tmp->tail = 0; + plc_init(&tmp->plc); + localusecnt++; + ast_update_use_count(); + } + return (struct ast_translator_pvt *)tmp; } /*! @@ -117,18 +116,17 @@ static struct ast_translator_pvt * alawtolin_new (void) * None. */ -static struct ast_translator_pvt * lintoalaw_new (void) +static struct ast_translator_pvt *lintoalaw_new(void) { - struct alaw_encoder_pvt *tmp; - tmp = malloc (sizeof (struct alaw_encoder_pvt)); - if (tmp) - { - memset(tmp, 0, sizeof(*tmp)); - localusecnt++; - ast_update_use_count (); - tmp->tail = 0; - } - return (struct ast_translator_pvt *) tmp; + struct alaw_encoder_pvt *tmp; + tmp = malloc(sizeof(struct alaw_encoder_pvt)); + if (tmp) { + memset(tmp, 0, sizeof(*tmp)); + localusecnt++; + ast_update_use_count(); + tmp->tail = 0; + } + return (struct ast_translator_pvt *)tmp; } /*! @@ -143,39 +141,39 @@ static struct ast_translator_pvt * lintoalaw_new (void) * tmp->tail is the number of packed values in the buffer. */ -static int -alawtolin_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) +static int alawtolin_framein(struct ast_translator_pvt *pvt, struct ast_frame *f) { - struct alaw_decoder_pvt *tmp = (struct alaw_decoder_pvt *) pvt; - int x; - unsigned char *b; - - if(f->datalen == 0) { /* perform PLC with nominal framesize of 20ms/160 samples */ - if((tmp->tail + 160) * 2 > sizeof(tmp->outbuf)) { - ast_log(LOG_WARNING, "Out of buffer space\n"); - return -1; - } - if(useplc) { - plc_fillin(&tmp->plc, tmp->outbuf+tmp->tail, 160); - tmp->tail += 160; + struct alaw_decoder_pvt *tmp = (struct alaw_decoder_pvt *)pvt; + int x; + unsigned char *b; + + if(f->datalen == 0) { /* perform PLC with nominal framesize of 20ms/160 samples */ + if((tmp->tail + 160) * 2 > sizeof(tmp->outbuf)) { + ast_log(LOG_WARNING, "Out of buffer space\n"); + return -1; + } + if(useplc) { + plc_fillin(&tmp->plc, tmp->outbuf+tmp->tail, 160); + tmp->tail += 160; + } + return 0; } - return 0; - } - if ((tmp->tail + f->datalen) * 2 > sizeof(tmp->outbuf)) { - ast_log(LOG_WARNING, "Out of buffer space\n"); - return -1; - } + if ((tmp->tail + f->datalen) * 2 > sizeof(tmp->outbuf)) { + ast_log(LOG_WARNING, "Out of buffer space\n"); + return -1; + } - /* Reset ssindex and signal to frame's specified values */ - b = f->data; - for (x=0;x<f->datalen;x++) - tmp->outbuf[tmp->tail + x] = AST_ALAW(b[x]); + /* Reset ssindex and signal to frame's specified values */ + b = f->data; + for (x=0;x<f->datalen;x++) + tmp->outbuf[tmp->tail + x] = AST_ALAW(b[x]); - if(useplc) plc_rx(&tmp->plc, tmp->outbuf+tmp->tail, f->datalen); + if(useplc) + plc_rx(&tmp->plc, tmp->outbuf+tmp->tail, f->datalen); - tmp->tail += f->datalen; - return 0; + tmp->tail += f->datalen; + return 0; } /*! @@ -190,23 +188,23 @@ alawtolin_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) * None. */ -static struct ast_frame * alawtolin_frameout (struct ast_translator_pvt *pvt) +static struct ast_frame *alawtolin_frameout(struct ast_translator_pvt *pvt) { - struct alaw_decoder_pvt *tmp = (struct alaw_decoder_pvt *) pvt; - - if (!tmp->tail) - return NULL; - - tmp->f.frametype = AST_FRAME_VOICE; - tmp->f.subclass = AST_FORMAT_SLINEAR; - tmp->f.datalen = tmp->tail *2; - tmp->f.samples = tmp->tail; - tmp->f.mallocd = 0; - tmp->f.offset = AST_FRIENDLY_OFFSET; - tmp->f.src = __PRETTY_FUNCTION__; - tmp->f.data = tmp->outbuf; - tmp->tail = 0; - return &tmp->f; + struct alaw_decoder_pvt *tmp = (struct alaw_decoder_pvt *)pvt; + + if (!tmp->tail) + return NULL; + + tmp->f.frametype = AST_FRAME_VOICE; + tmp->f.subclass = AST_FORMAT_SLINEAR; + tmp->f.datalen = tmp->tail * 2; + tmp->f.samples = tmp->tail; + tmp->f.mallocd = 0; + tmp->f.offset = AST_FRIENDLY_OFFSET; + tmp->f.src = __PRETTY_FUNCTION__; + tmp->f.data = tmp->outbuf; + tmp->tail = 0; + return &tmp->f; } /*! @@ -220,21 +218,20 @@ static struct ast_frame * alawtolin_frameout (struct ast_translator_pvt *pvt) * tmp->tail is number of signal values in the input buffer. */ -static int lintoalaw_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) +static int lintoalaw_framein(struct ast_translator_pvt *pvt, struct ast_frame *f) { - struct alaw_encoder_pvt *tmp = (struct alaw_encoder_pvt *) pvt; - int x; - short *s; - if (tmp->tail + f->datalen/2 >= sizeof(tmp->outbuf)) - { - ast_log (LOG_WARNING, "Out of buffer space\n"); - return -1; - } - s = f->data; - for (x=0;x<f->datalen/2;x++) - tmp->outbuf[x+tmp->tail] = AST_LIN2A(s[x]); - tmp->tail += f->datalen/2; - return 0; + struct alaw_encoder_pvt *tmp = (struct alaw_encoder_pvt *)pvt; + int x; + short *s; + if (tmp->tail + f->datalen / 2 >= sizeof(tmp->outbuf)) { + ast_log(LOG_WARNING, "Out of buffer space\n"); + return -1; + } + s = f->data; + for (x=0;x<f->datalen/2;x++) + tmp->outbuf[x+tmp->tail] = AST_LIN2A(s[x]); + tmp->tail += f->datalen/2; + return 0; } /*! @@ -249,60 +246,60 @@ static int lintoalaw_framein (struct ast_translator_pvt *pvt, struct ast_frame * * Leftover inbuf data gets packed, tail gets updated. */ -static struct ast_frame * lintoalaw_frameout (struct ast_translator_pvt *pvt) +static struct ast_frame *lintoalaw_frameout(struct ast_translator_pvt *pvt) { - struct alaw_encoder_pvt *tmp = (struct alaw_encoder_pvt *) pvt; + struct alaw_encoder_pvt *tmp = (struct alaw_encoder_pvt *)pvt; - if (tmp->tail) { - tmp->f.frametype = AST_FRAME_VOICE; - tmp->f.subclass = AST_FORMAT_ALAW; - tmp->f.samples = tmp->tail; - tmp->f.mallocd = 0; - tmp->f.offset = AST_FRIENDLY_OFFSET; - tmp->f.src = __PRETTY_FUNCTION__; - tmp->f.data = tmp->outbuf; - tmp->f.datalen = tmp->tail; - tmp->tail = 0; - return &tmp->f; - } else return NULL; + if (tmp->tail) { + tmp->f.frametype = AST_FRAME_VOICE; + tmp->f.subclass = AST_FORMAT_ALAW; + tmp->f.samples = tmp->tail; + tmp->f.mallocd = 0; + tmp->f.offset = AST_FRIENDLY_OFFSET; + tmp->f.src = __PRETTY_FUNCTION__; + tmp->f.data = tmp->outbuf; + tmp->f.datalen = tmp->tail; + tmp->tail = 0; + return &tmp->f; + } else + return NULL; } - /*! * \brief alawToLin_Sample */ -static struct ast_frame * alawtolin_sample (void) +static struct ast_frame *alawtolin_sample(void) { - static struct ast_frame f; - f.frametype = AST_FRAME_VOICE; - f.subclass = AST_FORMAT_ALAW; - f.datalen = sizeof (ulaw_slin_ex); - f.samples = sizeof(ulaw_slin_ex); - f.mallocd = 0; - f.offset = 0; - f.src = __PRETTY_FUNCTION__; - f.data = ulaw_slin_ex; - return &f; + static struct ast_frame f; + f.frametype = AST_FRAME_VOICE; + f.subclass = AST_FORMAT_ALAW; + f.datalen = sizeof(ulaw_slin_ex); + f.samples = sizeof(ulaw_slin_ex); + f.mallocd = 0; + f.offset = 0; + f.src = __PRETTY_FUNCTION__; + f.data = ulaw_slin_ex; + return &f; } /*! * \brief LinToalaw_Sample */ -static struct ast_frame * lintoalaw_sample (void) +static struct ast_frame *lintoalaw_sample(void) { - static struct ast_frame f; - f.frametype = AST_FRAME_VOICE; - f.subclass = AST_FORMAT_SLINEAR; - f.datalen = sizeof (slin_ulaw_ex); - /* Assume 8000 Hz */ - f.samples = sizeof (slin_ulaw_ex) / 2; - f.mallocd = 0; - f.offset = 0; - f.src = __PRETTY_FUNCTION__; - f.data = slin_ulaw_ex; - return &f; + static struct ast_frame f; + f.frametype = AST_FRAME_VOICE; + f.subclass = AST_FORMAT_SLINEAR; + f.datalen = sizeof(slin_ulaw_ex); + /* Assume 8000 Hz */ + f.samples = sizeof(slin_ulaw_ex) / 2; + f.mallocd = 0; + f.offset = 0; + f.src = __PRETTY_FUNCTION__; + f.data = slin_ulaw_ex; + return &f; } /*! @@ -316,11 +313,11 @@ static struct ast_frame * lintoalaw_sample (void) * None. */ -static void alaw_destroy (struct ast_translator_pvt *pvt) +static void alaw_destroy(struct ast_translator_pvt *pvt) { - free (pvt); - localusecnt--; - ast_update_use_count (); + free(pvt); + localusecnt--; + ast_update_use_count(); } /*! @@ -328,15 +325,15 @@ static void alaw_destroy (struct ast_translator_pvt *pvt) */ static struct ast_translator alawtolin = { - "alawtolin", - AST_FORMAT_ALAW, - AST_FORMAT_SLINEAR, - alawtolin_new, - alawtolin_framein, - alawtolin_frameout, - alaw_destroy, - /* NULL */ - alawtolin_sample + "alawtolin", + AST_FORMAT_ALAW, + AST_FORMAT_SLINEAR, + alawtolin_new, + alawtolin_framein, + alawtolin_frameout, + alaw_destroy, + /* NULL */ + alawtolin_sample }; /*! @@ -344,85 +341,85 @@ static struct ast_translator alawtolin = { */ static struct ast_translator lintoalaw = { - "lintoalaw", - AST_FORMAT_SLINEAR, - AST_FORMAT_ALAW, - lintoalaw_new, - lintoalaw_framein, - lintoalaw_frameout, - alaw_destroy, - /* NULL */ - lintoalaw_sample + "lintoalaw", + AST_FORMAT_SLINEAR, + AST_FORMAT_ALAW, + lintoalaw_new, + lintoalaw_framein, + lintoalaw_frameout, + alaw_destroy, + /* NULL */ + lintoalaw_sample }; static void parse_config(void) { - struct ast_config *cfg; - struct ast_variable *var; - - if ((cfg = ast_config_load("codecs.conf"))) { - if ((var = ast_variable_browse(cfg, "plc"))) { - while (var) { - if (!strcasecmp(var->name, "genericplc")) { - useplc = ast_true(var->value) ? 1 : 0; - if (option_verbose > 2) - ast_verbose(VERBOSE_PREFIX_3 "codec_alaw: %susing generic PLC\n", useplc ? "" : "not "); - } - var = var->next; - } - } - ast_config_destroy(cfg); - } + struct ast_config *cfg; + struct ast_variable *var; + + if ((cfg = ast_config_load("codecs.conf"))) { + if ((var = ast_variable_browse(cfg, "plc"))) { + while (var) { + if (!strcasecmp(var->name, "genericplc")) { + useplc = ast_true(var->value) ? 1 : 0; + if (option_verbose > 2) + ast_verbose(VERBOSE_PREFIX_3 "codec_alaw: %susing generic PLC\n", useplc ? "" : "not "); + } + var = var->next; + } + } + ast_config_destroy(cfg); + } } int reload(void) { - parse_config(); - return 0; + parse_config(); + return 0; } -int unload_module (void) +int unload_module(void) { - int res; - ast_mutex_lock (&localuser_lock); - res = ast_unregister_translator (&lintoalaw); - if (!res) - res = ast_unregister_translator (&alawtolin); - if (localusecnt) - res = -1; - ast_mutex_unlock (&localuser_lock); - return res; + int res; + ast_mutex_lock(&localuser_lock); + res = ast_unregister_translator(&lintoalaw); + if (!res) + res = ast_unregister_translator(&alawtolin); + if (localusecnt) + res = -1; + ast_mutex_unlock(&localuser_lock); + return res; } -int load_module (void) +int load_module(void) { - int res; - parse_config(); - res = ast_register_translator (&alawtolin); - if (!res) - res = ast_register_translator (&lintoalaw); - else - ast_unregister_translator (&alawtolin); - return res; + int res; + parse_config(); + res = ast_register_translator(&alawtolin); + if (!res) + res = ast_register_translator(&lintoalaw); + else + ast_unregister_translator(&alawtolin); + return res; } /* * Return a description of this module. */ -char * description (void) +char *description(void) { - return tdesc; + return tdesc; } -int usecount (void) +int usecount(void) { - int res; - STANDARD_USECOUNT (res); - return res; + int res; + STANDARD_USECOUNT(res); + return res; } -char * key () +char *key() { - return ASTERISK_GPL_KEY; + return ASTERISK_GPL_KEY; } diff --git a/codecs/codec_ulaw.c b/codecs/codec_ulaw.c index 79a1657b9..236d07d93 100644 --- a/codecs/codec_ulaw.c +++ b/codecs/codec_ulaw.c @@ -57,33 +57,33 @@ static int useplc = 0; #include "slin_ulaw_ex.h" #include "ulaw_slin_ex.h" -/* - * Private workspace for translating signed linear signals to ulaw. +/*! + * \brief Private workspace for translating signed linear signals to ulaw. */ struct ulaw_encoder_pvt { - struct ast_frame f; - char offset[AST_FRIENDLY_OFFSET]; /* Space to build offset */ - unsigned char outbuf[BUFFER_SIZE]; /* Encoded ulaw, two nibbles to a word */ - int tail; + struct ast_frame f; + char offset[AST_FRIENDLY_OFFSET]; /*!< Space to build offset */ + unsigned char outbuf[BUFFER_SIZE]; /*!< Encoded ulaw, two nibbles to a word */ + int tail; }; -/* - * Private workspace for translating ulaw signals to signed linear. +/*! + * \brief Private workspace for translating ulaw signals to signed linear. */ struct ulaw_decoder_pvt { - struct ast_frame f; - char offset[AST_FRIENDLY_OFFSET]; /* Space to build offset */ - short outbuf[BUFFER_SIZE]; /* Decoded signed linear values */ - int tail; - plc_state_t plc; + struct ast_frame f; + char offset[AST_FRIENDLY_OFFSET]; /* Space to build offset */ + short outbuf[BUFFER_SIZE]; /* Decoded signed linear values */ + int tail; + plc_state_t plc; }; -/* - * ulawToLin_New +/*! + * \brief ulawToLin_New * Create a new instance of ulaw_decoder_pvt. * * Results: @@ -93,24 +93,22 @@ struct ulaw_decoder_pvt * None. */ -static struct ast_translator_pvt * -ulawtolin_new (void) +static struct ast_translator_pvt *ulawtolin_new(void) { - struct ulaw_decoder_pvt *tmp; - tmp = malloc (sizeof (struct ulaw_decoder_pvt)); - if (tmp) - { - memset(tmp, 0, sizeof(*tmp)); - tmp->tail = 0; - plc_init(&tmp->plc); - localusecnt++; - ast_update_use_count (); - } - return (struct ast_translator_pvt *) tmp; + struct ulaw_decoder_pvt *tmp; + tmp = malloc(sizeof(struct ulaw_decoder_pvt)); + if (tmp) { + memset(tmp, 0, sizeof(*tmp)); + tmp->tail = 0; + plc_init(&tmp->plc); + localusecnt++; + ast_update_use_count(); + } + return (struct ast_translator_pvt *)tmp; } -/* - * LinToulaw_New +/*! + * \brief LinToulaw_New * Create a new instance of ulaw_encoder_pvt. * * Results: @@ -120,23 +118,21 @@ ulawtolin_new (void) * None. */ -static struct ast_translator_pvt * -lintoulaw_new (void) +static struct ast_translator_pvt *lintoulaw_new(void) { - struct ulaw_encoder_pvt *tmp; - tmp = malloc (sizeof (struct ulaw_encoder_pvt)); - if (tmp) - { - memset(tmp, 0, sizeof(*tmp)); - localusecnt++; - ast_update_use_count (); - tmp->tail = 0; - } - return (struct ast_translator_pvt *) tmp; + struct ulaw_encoder_pvt *tmp; + tmp = malloc(sizeof(struct ulaw_encoder_pvt)); + if (tmp) { + memset(tmp, 0, sizeof(*tmp)); + localusecnt++; + ast_update_use_count(); + tmp->tail = 0; + } + return (struct ast_translator_pvt *)tmp; } -/* - * ulawToLin_FrameIn +/*! + * \brief ulawToLin_FrameIn * Fill an input buffer with packed 4-bit ulaw values if there is room * left. * @@ -147,43 +143,43 @@ lintoulaw_new (void) * tmp->tail is the number of packed values in the buffer. */ -static int -ulawtolin_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) +static int ulawtolin_framein(struct ast_translator_pvt *pvt, struct ast_frame *f) { - struct ulaw_decoder_pvt *tmp = (struct ulaw_decoder_pvt *) pvt; - int x; - unsigned char *b; - - if(f->datalen == 0) { /* perform PLC with nominal framesize of 20ms/160 samples */ - if((tmp->tail + 160) * 2 > sizeof(tmp->outbuf)) { - ast_log(LOG_WARNING, "Out of buffer space\n"); - return -1; - } - if(useplc) { - plc_fillin(&tmp->plc, tmp->outbuf+tmp->tail, 160); - tmp->tail += 160; + struct ulaw_decoder_pvt *tmp = (struct ulaw_decoder_pvt *)pvt; + int x; + unsigned char *b; + + if(f->datalen == 0) { /* perform PLC with nominal framesize of 20ms/160 samples */ + if((tmp->tail + 160) * 2 > sizeof(tmp->outbuf)) { + ast_log(LOG_WARNING, "Out of buffer space\n"); + return -1; + } + if(useplc) { + plc_fillin(&tmp->plc, tmp->outbuf+tmp->tail, 160); + tmp->tail += 160; + } + return 0; } - return 0; - } - if ((tmp->tail + f->datalen) * 2 > sizeof(tmp->outbuf)) { - ast_log(LOG_WARNING, "Out of buffer space\n"); - return -1; - } + if ((tmp->tail + f->datalen) * 2 > sizeof(tmp->outbuf)) { + ast_log(LOG_WARNING, "Out of buffer space\n"); + return -1; + } - /* Reset ssindex and signal to frame's specified values */ - b = f->data; - for (x=0;x<f->datalen;x++) - tmp->outbuf[tmp->tail + x] = AST_MULAW(b[x]); + /* Reset ssindex and signal to frame's specified values */ + b = f->data; + for (x=0;x<f->datalen;x++) + tmp->outbuf[tmp->tail + x] = AST_MULAW(b[x]); - if(useplc) plc_rx(&tmp->plc, tmp->outbuf+tmp->tail, f->datalen); + if(useplc) + plc_rx(&tmp->plc, tmp->outbuf+tmp->tail, f->datalen); - tmp->tail += f->datalen; - return 0; + tmp->tail += f->datalen; + return 0; } -/* - * ulawToLin_FrameOut +/*! + * \brief ulawToLin_FrameOut * Convert 4-bit ulaw encoded signals to 16-bit signed linear. * * Results: @@ -194,28 +190,27 @@ ulawtolin_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) * None. */ -static struct ast_frame * -ulawtolin_frameout (struct ast_translator_pvt *pvt) +static struct ast_frame *ulawtolin_frameout(struct ast_translator_pvt *pvt) { - struct ulaw_decoder_pvt *tmp = (struct ulaw_decoder_pvt *) pvt; - - if (!tmp->tail) - return NULL; - - tmp->f.frametype = AST_FRAME_VOICE; - tmp->f.subclass = AST_FORMAT_SLINEAR; - tmp->f.datalen = tmp->tail *2; - tmp->f.samples = tmp->tail; - tmp->f.mallocd = 0; - tmp->f.offset = AST_FRIENDLY_OFFSET; - tmp->f.src = __PRETTY_FUNCTION__; - tmp->f.data = tmp->outbuf; - tmp->tail = 0; - return &tmp->f; + struct ulaw_decoder_pvt *tmp = (struct ulaw_decoder_pvt *)pvt; + + if (!tmp->tail) + return NULL; + + tmp->f.frametype = AST_FRAME_VOICE; + tmp->f.subclass = AST_FORMAT_SLINEAR; + tmp->f.datalen = tmp->tail * 2; + tmp->f.samples = tmp->tail; + tmp->f.mallocd = 0; + tmp->f.offset = AST_FRIENDLY_OFFSET; + tmp->f.src = __PRETTY_FUNCTION__; + tmp->f.data = tmp->outbuf; + tmp->tail = 0; + return &tmp->f; } -/* - * LinToulaw_FrameIn +/*! + * \brief LinToulaw_FrameIn * Fill an input buffer with 16-bit signed linear PCM values. * * Results: @@ -225,26 +220,24 @@ ulawtolin_frameout (struct ast_translator_pvt *pvt) * tmp->tail is number of signal values in the input buffer. */ -static int -lintoulaw_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) +static int lintoulaw_framein(struct ast_translator_pvt *pvt, struct ast_frame *f) { - struct ulaw_encoder_pvt *tmp = (struct ulaw_encoder_pvt *) pvt; - int x; - short *s; - if (tmp->tail + f->datalen/2 >= sizeof(tmp->outbuf)) - { - ast_log (LOG_WARNING, "Out of buffer space\n"); - return -1; - } - s = f->data; - for (x=0;x<f->datalen/2;x++) - tmp->outbuf[x+tmp->tail] = AST_LIN2MU(s[x]); - tmp->tail += f->datalen/2; - return 0; + struct ulaw_encoder_pvt *tmp = (struct ulaw_encoder_pvt *)pvt; + int x; + short *s; + if (tmp->tail + f->datalen / 2 >= sizeof(tmp->outbuf)) { + ast_log(LOG_WARNING, "Out of buffer space\n"); + return -1; + } + s = f->data; + for (x=0;x<f->datalen/2;x++) + tmp->outbuf[x+tmp->tail] = AST_LIN2MU(s[x]); + tmp->tail += f->datalen/2; + return 0; } -/* - * LinToulaw_FrameOut +/*! + * \brief LinToulaw_FrameOut * Convert a buffer of raw 16-bit signed linear PCM to a buffer * of 4-bit ulaw packed two to a byte (Big Endian). * @@ -255,67 +248,65 @@ lintoulaw_framein (struct ast_translator_pvt *pvt, struct ast_frame *f) * Leftover inbuf data gets packed, tail gets updated. */ -static struct ast_frame * -lintoulaw_frameout (struct ast_translator_pvt *pvt) +static struct ast_frame *lintoulaw_frameout(struct ast_translator_pvt *pvt) { - struct ulaw_encoder_pvt *tmp = (struct ulaw_encoder_pvt *) pvt; + struct ulaw_encoder_pvt *tmp = (struct ulaw_encoder_pvt *)pvt; - if (tmp->tail) { - tmp->f.frametype = AST_FRAME_VOICE; - tmp->f.subclass = AST_FORMAT_ULAW; - tmp->f.samples = tmp->tail; - tmp->f.mallocd = 0; - tmp->f.offset = AST_FRIENDLY_OFFSET; - tmp->f.src = __PRETTY_FUNCTION__; - tmp->f.data = tmp->outbuf; - tmp->f.datalen = tmp->tail; - tmp->tail = 0; - return &tmp->f; - } else return NULL; + if (tmp->tail) { + tmp->f.frametype = AST_FRAME_VOICE; + tmp->f.subclass = AST_FORMAT_ULAW; + tmp->f.samples = tmp->tail; + tmp->f.mallocd = 0; + tmp->f.offset = AST_FRIENDLY_OFFSET; + tmp->f.src = __PRETTY_FUNCTION__; + tmp->f.data = tmp->outbuf; + tmp->f.datalen = tmp->tail; + tmp->tail = 0; + return &tmp->f; + } else + return NULL; } -/* - * ulawToLin_Sample +/*! + * \brief ulawToLin_Sample */ -static struct ast_frame * -ulawtolin_sample (void) +static struct ast_frame *ulawtolin_sample(void) { - static struct ast_frame f; - f.frametype = AST_FRAME_VOICE; - f.subclass = AST_FORMAT_ULAW; - f.datalen = sizeof (ulaw_slin_ex); - f.samples = sizeof(ulaw_slin_ex); - f.mallocd = 0; - f.offset = 0; - f.src = __PRETTY_FUNCTION__; - f.data = ulaw_slin_ex; - return &f; + static struct ast_frame f; + f.frametype = AST_FRAME_VOICE; + f.subclass = AST_FORMAT_ULAW; + f.datalen = sizeof(ulaw_slin_ex); + f.samples = sizeof(ulaw_slin_ex); + f.mallocd = 0; + f.offset = 0; + f.src = __PRETTY_FUNCTION__; + f.data = ulaw_slin_ex; + return &f; } -/* - * LinToulaw_Sample +/*! + * \brief LinToulaw_Sample */ -static struct ast_frame * -lintoulaw_sample (void) +static struct ast_frame *lintoulaw_sample(void) { - static struct ast_frame f; - f.frametype = AST_FRAME_VOICE; - f.subclass = AST_FORMAT_SLINEAR; - f.datalen = sizeof (slin_ulaw_ex); - /* Assume 8000 Hz */ - f.samples = sizeof (slin_ulaw_ex) / 2; - f.mallocd = 0; - f.offset = 0; - f.src = __PRETTY_FUNCTION__; - f.data = slin_ulaw_ex; - return &f; + static struct ast_frame f; + f.frametype = AST_FRAME_VOICE; + f.subclass = AST_FORMAT_SLINEAR; + f.datalen = sizeof(slin_ulaw_ex); + /* Assume 8000 Hz */ + f.samples = sizeof(slin_ulaw_ex) / 2; + f.mallocd = 0; + f.offset = 0; + f.src = __PRETTY_FUNCTION__; + f.data = slin_ulaw_ex; + return &f; } -/* - * ulaw_Destroy +/*! + * \brief ulaw_Destroy * Destroys a private workspace. * * Results: @@ -325,121 +316,112 @@ lintoulaw_sample (void) * None. */ -static void -ulaw_destroy (struct ast_translator_pvt *pvt) +static void ulaw_destroy(struct ast_translator_pvt *pvt) { - free (pvt); - localusecnt--; - ast_update_use_count (); + free(pvt); + localusecnt--; + ast_update_use_count(); } -/* - * The complete translator for ulawToLin. +/*! + * \brief The complete translator for ulawToLin. */ static struct ast_translator ulawtolin = { - "ulawtolin", - AST_FORMAT_ULAW, - AST_FORMAT_SLINEAR, - ulawtolin_new, - ulawtolin_framein, - ulawtolin_frameout, - ulaw_destroy, - /* NULL */ - ulawtolin_sample + "ulawtolin", + AST_FORMAT_ULAW, + AST_FORMAT_SLINEAR, + ulawtolin_new, + ulawtolin_framein, + ulawtolin_frameout, + ulaw_destroy, + /* NULL */ + ulawtolin_sample }; -/* - * The complete translator for LinToulaw. +/*! + * \brief The complete translator for LinToulaw. */ static struct ast_translator lintoulaw = { - "lintoulaw", - AST_FORMAT_SLINEAR, - AST_FORMAT_ULAW, - lintoulaw_new, - lintoulaw_framein, - lintoulaw_frameout, - ulaw_destroy, - /* NULL */ - lintoulaw_sample + "lintoulaw", + AST_FORMAT_SLINEAR, + AST_FORMAT_ULAW, + lintoulaw_new, + lintoulaw_framein, + lintoulaw_frameout, + ulaw_destroy, + /* NULL */ + lintoulaw_sample }; -static void -parse_config(void) +static void parse_config(void) { - struct ast_config *cfg; - struct ast_variable *var; - if ((cfg = ast_config_load("codecs.conf"))) { - if ((var = ast_variable_browse(cfg, "plc"))) { - while (var) { - if (!strcasecmp(var->name, "genericplc")) { - useplc = ast_true(var->value) ? 1 : 0; - if (option_verbose > 2) - ast_verbose(VERBOSE_PREFIX_3 "codec_ulaw: %susing generic PLC\n", useplc ? "" : "not "); + struct ast_config *cfg; + struct ast_variable *var; + if ((cfg = ast_config_load("codecs.conf"))) { + if ((var = ast_variable_browse(cfg, "plc"))) { + while (var) { + if (!strcasecmp(var->name, "genericplc")) { + useplc = ast_true(var->value) ? 1 : 0; + if (option_verbose > 2) + ast_verbose(VERBOSE_PREFIX_3 "codec_ulaw: %susing generic PLC\n", useplc ? "" : "not "); + } + var = var->next; + } + } + ast_config_destroy(cfg); } - var = var->next; - } - } - ast_config_destroy(cfg); - } } -int -reload(void) +int reload(void) { - parse_config(); - return 0; + parse_config(); + return 0; } - -int -unload_module (void) +int unload_module(void) { - int res; - ast_mutex_lock (&localuser_lock); - res = ast_unregister_translator (&lintoulaw); - if (!res) - res = ast_unregister_translator (&ulawtolin); - if (localusecnt) - res = -1; - ast_mutex_unlock (&localuser_lock); - return res; + int res; + ast_mutex_lock(&localuser_lock); + res = ast_unregister_translator(&lintoulaw); + if (!res) + res = ast_unregister_translator(&ulawtolin); + if (localusecnt) + res = -1; + ast_mutex_unlock(&localuser_lock); + return res; } -int -load_module (void) +int load_module(void) { - int res; - parse_config(); - res = ast_register_translator (&ulawtolin); - if (!res) - res = ast_register_translator (&lintoulaw); - else - ast_unregister_translator (&ulawtolin); - return res; + int res; + parse_config(); + res = ast_register_translator(&ulawtolin); + if (!res) + res = ast_register_translator(&lintoulaw); + else + ast_unregister_translator(&ulawtolin); + return res; } /* * Return a description of this module. */ -char * -description (void) +char *description(void) { - return tdesc; + return tdesc; } -int -usecount (void) +int usecount(void) { - int res; - STANDARD_USECOUNT (res); - return res; + int res; + STANDARD_USECOUNT(res); + return res; } -char * -key () +char *key() { - return ASTERISK_GPL_KEY; + return ASTERISK_GPL_KEY; } |