codec_g722.c - translate between signed linear and ITU G.722-64kbps More...
#include "asterisk.h"#include "asterisk/linkedlists.h"#include "asterisk/module.h"#include "asterisk/config.h"#include "asterisk/translate.h"#include "asterisk/utils.h"#include "g722/g722.h"#include "asterisk/slin.h"#include "ex_g722.h"
Go to the source code of this file.
Data Structures | |
| struct | g722_decoder_pvt |
| struct | g722_encoder_pvt |
Defines | |
| #define | BUF_SHIFT 5 |
| #define | BUFFER_SAMPLES 8096 |
Functions | |
| static void | __reg_module (void) |
| static void | __unreg_module (void) |
| static int | g722tolin16_new (struct ast_trans_pvt *pvt) |
| static int | g722tolin_framein (struct ast_trans_pvt *pvt, struct ast_frame *f) |
| static int | g722tolin_new (struct ast_trans_pvt *pvt) |
| init a new instance of g722_encoder_pvt. | |
| static int | lin16tog722_new (struct ast_trans_pvt *pvt) |
| static int | lintog722_framein (struct ast_trans_pvt *pvt, struct ast_frame *f) |
| static int | lintog722_new (struct ast_trans_pvt *pvt) |
| init a new instance of g722_encoder_pvt. | |
| static int | load_module (void) |
| static int | reload (void) |
| static int | unload_module (void) |
Variables | |
| static struct ast_module_info __MODULE_INFO_SECTION | __mod_info = { __MODULE_INFO_GLOBALS .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "ITU G.722-64kbps G722 Transcoder" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, .reload = reload, } |
| static struct ast_module_info * | ast_module_info = &__mod_info |
| static struct ast_translator | g722tolin |
| static struct ast_translator | g722tolin16 |
| static struct ast_translator | lin16tog722 |
| static struct ast_translator | lintog722 |
codec_g722.c - translate between signed linear and ITU G.722-64kbps
Definition in file codec_g722.c.
| #define BUF_SHIFT 5 |
Definition at line 47 of file codec_g722.c.
| #define BUFFER_SAMPLES 8096 |
Definition at line 46 of file codec_g722.c.
| static void __reg_module | ( | void | ) | [static] |
Definition at line 221 of file codec_g722.c.
| static void __unreg_module | ( | void | ) | [static] |
Definition at line 221 of file codec_g722.c.
| static int g722tolin16_new | ( | struct ast_trans_pvt * | pvt | ) | [static] |
Definition at line 92 of file codec_g722.c.
References g722_decoder_pvt::g722, and ast_trans_pvt::pvt.
{
struct g722_decoder_pvt *tmp = pvt->pvt;
g722_decode_init(&tmp->g722, 64000, 0);
return 0;
}
| static int g722tolin_framein | ( | struct ast_trans_pvt * | pvt, |
| struct ast_frame * | f | ||
| ) | [static] |
Definition at line 101 of file codec_g722.c.
References ast_frame::data, ast_trans_pvt::datalen, g722_decoder_pvt::g722, ast_trans_pvt::i16, ast_trans_pvt::outbuf, ast_frame::ptr, ast_trans_pvt::pvt, ast_trans_pvt::samples, and ast_frame::samples.
{
struct g722_decoder_pvt *tmp = pvt->pvt;
int out_samples;
int in_samples;
/* g722_decode expects the samples to be in the invalid samples / 2 format */
in_samples = f->samples / 2;
out_samples = g722_decode(&tmp->g722, &pvt->outbuf.i16[pvt->samples * sizeof(int16_t)],
(uint8_t *) f->data.ptr, in_samples);
pvt->samples += out_samples;
pvt->datalen += (out_samples * sizeof(int16_t));
return 0;
}
| static int g722tolin_new | ( | struct ast_trans_pvt * | pvt | ) | [static] |
init a new instance of g722_encoder_pvt.
Definition at line 83 of file codec_g722.c.
References g722_decoder_pvt::g722, and ast_trans_pvt::pvt.
{
struct g722_decoder_pvt *tmp = pvt->pvt;
g722_decode_init(&tmp->g722, 64000, G722_SAMPLE_RATE_8000);
return 0;
}
| static int lin16tog722_new | ( | struct ast_trans_pvt * | pvt | ) | [static] |
Definition at line 73 of file codec_g722.c.
References g722_encoder_pvt::g722, and ast_trans_pvt::pvt.
{
struct g722_encoder_pvt *tmp = pvt->pvt;
g722_encode_init(&tmp->g722, 64000, 0);
return 0;
}
| static int lintog722_framein | ( | struct ast_trans_pvt * | pvt, |
| struct ast_frame * | f | ||
| ) | [static] |
Definition at line 120 of file codec_g722.c.
References ast_frame::data, ast_trans_pvt::datalen, g722_encoder_pvt::g722, ast_trans_pvt::outbuf, ast_frame::ptr, ast_trans_pvt::pvt, ast_trans_pvt::samples, ast_frame::samples, and ast_trans_pvt::ui8.
| static int lintog722_new | ( | struct ast_trans_pvt * | pvt | ) | [static] |
init a new instance of g722_encoder_pvt.
Definition at line 64 of file codec_g722.c.
References g722_encoder_pvt::g722, and ast_trans_pvt::pvt.
{
struct g722_encoder_pvt *tmp = pvt->pvt;
g722_encode_init(&tmp->g722, 64000, G722_SAMPLE_RATE_8000);
return 0;
}
| static int load_module | ( | void | ) | [static] |
Definition at line 200 of file codec_g722.c.
References AST_MODULE_LOAD_FAILURE, AST_MODULE_LOAD_SUCCESS, ast_register_translator, and unload_module().
{
int res = 0;
res |= ast_register_translator(&g722tolin);
res |= ast_register_translator(&lintog722);
res |= ast_register_translator(&g722tolin16);
res |= ast_register_translator(&lin16tog722);
if (res) {
unload_module();
return AST_MODULE_LOAD_FAILURE;
}
return AST_MODULE_LOAD_SUCCESS;
}
| static int reload | ( | void | ) | [static] |
Definition at line 183 of file codec_g722.c.
References AST_MODULE_LOAD_SUCCESS.
{
return AST_MODULE_LOAD_SUCCESS;
}
| static int unload_module | ( | void | ) | [static] |
Definition at line 188 of file codec_g722.c.
References ast_unregister_translator().
Referenced by load_module().
{
int res = 0;
res |= ast_unregister_translator(&g722tolin);
res |= ast_unregister_translator(&lintog722);
res |= ast_unregister_translator(&g722tolin16);
res |= ast_unregister_translator(&lin16tog722);
return res;
}
struct ast_module_info __MODULE_INFO_SECTION __mod_info = { __MODULE_INFO_GLOBALS .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "ITU G.722-64kbps G722 Transcoder" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, .reload = reload, } [static] |
Definition at line 221 of file codec_g722.c.
struct ast_module_info* ast_module_info = &__mod_info [static] |
Definition at line 221 of file codec_g722.c.
struct ast_translator g722tolin [static] |
Definition at line 135 of file codec_g722.c.
struct ast_translator g722tolin16 [static] |
Definition at line 159 of file codec_g722.c.
struct ast_translator lin16tog722 [static] |
Definition at line 171 of file codec_g722.c.
struct ast_translator lintog722 [static] |
Definition at line 147 of file codec_g722.c.