codec_ulaw.c - translate between signed linear and ulaw More...
#include "asterisk.h"
#include "asterisk/module.h"
#include "asterisk/config.h"
#include "asterisk/translate.h"
#include "asterisk/ulaw.h"
#include "asterisk/utils.h"
#include "asterisk/slin.h"
#include "ex_ulaw.h"
Go to the source code of this file.
Defines | |
#define | BUFFER_SAMPLES 8096 |
Functions | |
AST_MODULE_INFO (ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT,"mu-Law Coder/Decoder",.load=load_module,.unload=unload_module,.reload=reload,) | |
static int | lintoulaw_framein (struct ast_trans_pvt *pvt, struct ast_frame *f) |
convert and store samples in outbuf | |
static int | load_module (void) |
static int | reload (void) |
static int | ulawtolin_framein (struct ast_trans_pvt *pvt, struct ast_frame *f) |
convert and store samples in outbuf | |
static int | unload_module (void) |
Variables | |
static struct ast_translator | lintotestlaw |
static struct ast_translator | lintoulaw |
The complete translator for LinToulaw. | |
static struct ast_translator | testlawtolin |
static struct ast_translator | ulawtolin |
The complete translator for ulawToLin. |
codec_ulaw.c - translate between signed linear and ulaw
Definition in file codec_ulaw.c.
#define BUFFER_SAMPLES 8096 |
Definition at line 40 of file codec_ulaw.c.
AST_MODULE_INFO | ( | ASTERISK_GPL_KEY | , | |
AST_MODFLAG_DEFAULT | , | |||
"mu-Law Coder/Decoder" | , | |||
. | load = load_module , |
|||
. | unload = unload_module , |
|||
. | reload = reload | |||
) |
static int lintoulaw_framein | ( | struct ast_trans_pvt * | pvt, | |
struct ast_frame * | f | |||
) | [static] |
convert and store samples in outbuf
Definition at line 64 of file codec_ulaw.c.
References AST_LIN2MU, ast_trans_pvt::c, ast_frame::data, ast_trans_pvt::datalen, ast_trans_pvt::outbuf, ast_frame::ptr, ast_trans_pvt::samples, and ast_frame::samples.
static int load_module | ( | void | ) | [static] |
Definition at line 144 of file codec_ulaw.c.
References AST_MODULE_LOAD_FAILURE, AST_MODULE_LOAD_SUCCESS, ast_register_translator, and ast_unregister_translator().
00145 { 00146 int res; 00147 00148 res = ast_register_translator(&ulawtolin); 00149 if (!res) { 00150 res = ast_register_translator(&lintoulaw); 00151 res |= ast_register_translator(&lintotestlaw); 00152 res |= ast_register_translator(&testlawtolin); 00153 } else 00154 ast_unregister_translator(&ulawtolin); 00155 if (res) 00156 return AST_MODULE_LOAD_FAILURE; 00157 return AST_MODULE_LOAD_SUCCESS; 00158 }
static int reload | ( | void | ) | [static] |
Definition at line 127 of file codec_ulaw.c.
References AST_MODULE_LOAD_SUCCESS.
00128 { 00129 return AST_MODULE_LOAD_SUCCESS; 00130 }
static int ulawtolin_framein | ( | struct ast_trans_pvt * | pvt, | |
struct ast_frame * | f | |||
) | [static] |
convert and store samples in outbuf
Definition at line 47 of file codec_ulaw.c.
References AST_MULAW, ast_frame::data, ast_trans_pvt::datalen, ast_trans_pvt::i16, ast_trans_pvt::outbuf, ast_frame::ptr, ast_trans_pvt::samples, and ast_frame::samples.
00048 { 00049 int i = f->samples; 00050 unsigned char *src = f->data.ptr; 00051 int16_t *dst = pvt->outbuf.i16 + pvt->samples; 00052 00053 pvt->samples += i; 00054 pvt->datalen += i * 2; /* 2 bytes/sample */ 00055 00056 /* convert and copy in outbuf */ 00057 while (i--) 00058 *dst++ = AST_MULAW(*src++); 00059 00060 return 0; 00061 }
static int unload_module | ( | void | ) | [static] |
Definition at line 132 of file codec_ulaw.c.
References ast_unregister_translator().
00133 { 00134 int res; 00135 00136 res = ast_unregister_translator(&lintoulaw); 00137 res |= ast_unregister_translator(&ulawtolin); 00138 res |= ast_unregister_translator(&testlawtolin); 00139 res |= ast_unregister_translator(&lintotestlaw); 00140 00141 return res; 00142 }
struct ast_translator lintotestlaw [static] |
Definition at line 117 of file codec_ulaw.c.
struct ast_translator lintoulaw [static] |
The complete translator for LinToulaw.
Definition at line 107 of file codec_ulaw.c.
struct ast_translator testlawtolin [static] |
Definition at line 93 of file codec_ulaw.c.
struct ast_translator ulawtolin [static] |
The complete translator for ulawToLin.
Definition at line 83 of file codec_ulaw.c.