codec_a_mu.c - translate between alaw and ulaw directly More...
#include "asterisk.h"#include "asterisk/module.h"#include "asterisk/translate.h"#include "asterisk/alaw.h"#include "asterisk/ulaw.h"#include "asterisk/utils.h"#include "ex_ulaw.h"#include "ex_alaw.h"
Go to the source code of this file.
Defines | |
| #define | BUFFER_SAMPLES 8000 |
Functions | |
| static void | __reg_module (void) |
| static void | __unreg_module (void) |
| static int | alawtoulaw_framein (struct ast_trans_pvt *pvt, struct ast_frame *f) |
| convert frame data and store into the buffer | |
| static int | load_module (void) |
| static int | ulawtoalaw_framein (struct ast_trans_pvt *pvt, struct ast_frame *f) |
| convert frame data and store into the buffer | |
| static int | unload_module (void) |
| standard module glue | |
Variables | |
| static struct ast_module_info __MODULE_INFO_SECTION | __mod_info = { __MODULE_INFO_GLOBALS .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "A-law and Mulaw direct Coder/Decoder" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, } |
| static unsigned char | a2mu [256] |
| static struct ast_translator | alawtoulaw |
| static struct ast_module_info * | ast_module_info = &__mod_info |
| static unsigned char | mu2a [256] |
| static struct ast_translator | ulawtoalaw |
codec_a_mu.c - translate between alaw and ulaw directly
Definition in file codec_a_mu.c.
| #define BUFFER_SAMPLES 8000 |
Definition at line 36 of file codec_a_mu.c.
| static void __reg_module | ( | void | ) | [static] |
Definition at line 128 of file codec_a_mu.c.
| static void __unreg_module | ( | void | ) | [static] |
Definition at line 128 of file codec_a_mu.c.
| static int alawtoulaw_framein | ( | struct ast_trans_pvt * | pvt, |
| struct ast_frame * | f | ||
| ) | [static] |
convert frame data and store into the buffer
Definition at line 46 of file codec_a_mu.c.
References ast_frame::data, ast_trans_pvt::datalen, ast_trans_pvt::outbuf, ast_frame::ptr, ast_trans_pvt::samples, ast_frame::samples, and ast_trans_pvt::uc.
| static int load_module | ( | void | ) | [static] |
Definition at line 109 of file codec_a_mu.c.
References AST_ALAW, AST_LIN2A, AST_LIN2MU, AST_MODULE_LOAD_FAILURE, AST_MODULE_LOAD_SUCCESS, AST_MULAW, ast_register_translator, and ast_unregister_translator().
{
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);
if (res)
return AST_MODULE_LOAD_FAILURE;
return AST_MODULE_LOAD_SUCCESS;
}
| static int ulawtoalaw_framein | ( | struct ast_trans_pvt * | pvt, |
| struct ast_frame * | f | ||
| ) | [static] |
convert frame data and store into the buffer
Definition at line 62 of file codec_a_mu.c.
References ast_frame::data, ast_trans_pvt::datalen, ast_trans_pvt::outbuf, ast_frame::ptr, ast_trans_pvt::samples, ast_frame::samples, and ast_trans_pvt::uc.
| static int unload_module | ( | void | ) | [static] |
standard module glue
Definition at line 99 of file codec_a_mu.c.
References ast_unregister_translator().
{
int res;
res = ast_unregister_translator(&ulawtoalaw);
res |= ast_unregister_translator(&alawtoulaw);
return res;
}
struct ast_module_info __MODULE_INFO_SECTION __mod_info = { __MODULE_INFO_GLOBALS .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "A-law and Mulaw direct Coder/Decoder" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, } [static] |
Definition at line 128 of file codec_a_mu.c.
unsigned char a2mu[256] [static] |
Definition at line 39 of file codec_a_mu.c.
struct ast_translator alawtoulaw [static] |
Definition at line 77 of file codec_a_mu.c.
struct ast_module_info* ast_module_info = &__mod_info [static] |
Definition at line 128 of file codec_a_mu.c.
unsigned char mu2a[256] [static] |
Definition at line 38 of file codec_a_mu.c.
struct ast_translator ulawtoalaw [static] |
Definition at line 87 of file codec_a_mu.c.