Asterisk - The Open Source Telephony Project GIT-master-b023714
|
Translate between signed linear and Codec 2. More...
#include "asterisk.h"
#include "asterisk/codec.h"
#include "asterisk/frame.h"
#include "asterisk/linkedlists.h"
#include "asterisk/logger.h"
#include "asterisk/module.h"
#include "asterisk/rtp_engine.h"
#include "asterisk/translate.h"
#include <codec2/codec2.h>
#include "asterisk/slin.h"
#include "ex_codec2.h"
Go to the source code of this file.
Data Structures | |
struct | codec2_translator_pvt |
Macros | |
#define | BUFFER_SAMPLES 8000 |
#define | CODEC2_FRAME_LEN 6 /* consider codec2_bits_per_frame(.) */ |
#define | CODEC2_SAMPLES 160 /* consider codec2_samples_per_frame(.) */ |
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
struct ast_module * | AST_MODULE_SELF_SYM (void) |
static void | codec2_destroy_stuff (struct ast_trans_pvt *pvt) |
static int | codec2_new (struct ast_trans_pvt *pvt) |
static int | codec2tolin_framein (struct ast_trans_pvt *pvt, struct ast_frame *f) |
decode and store in outbuf. | |
static int | lintocodec2_framein (struct ast_trans_pvt *pvt, struct ast_frame *f) |
store samples into working buffer for later decode | |
static struct ast_frame * | lintocodec2_frameout (struct ast_trans_pvt *pvt) |
encode and produce a frame | |
static int | load_module (void) |
static int | unload_module (void) |
Variables | |
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "Codec 2 Coder/Decoder" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEFAULT, .support_level = AST_MODULE_SUPPORT_CORE, } |
static const struct ast_module_info * | ast_module_info = &__mod_info |
static struct ast_translator | codec2tolin |
static struct ast_translator | lintocodec2 |
Translate between signed linear and Codec 2.
Definition in file codec_codec2.c.
#define BUFFER_SAMPLES 8000 |
Definition at line 47 of file codec_codec2.c.
#define CODEC2_FRAME_LEN 6 /* consider codec2_bits_per_frame(.) */ |
Definition at line 49 of file codec_codec2.c.
#define CODEC2_SAMPLES 160 /* consider codec2_samples_per_frame(.) */ |
Definition at line 48 of file codec_codec2.c.
|
static |
Definition at line 222 of file codec_codec2.c.
|
static |
Definition at line 222 of file codec_codec2.c.
struct ast_module * AST_MODULE_SELF_SYM | ( | void | ) |
Definition at line 222 of file codec_codec2.c.
|
static |
Definition at line 141 of file codec_codec2.c.
References ast_trans_pvt::pvt, and codec2_translator_pvt::state.
|
static |
Definition at line 60 of file codec_codec2.c.
References ast_log, LOG_ERROR, ast_trans_pvt::pvt, and codec2_translator_pvt::state.
|
static |
decode and store in outbuf.
Definition at line 75 of file codec_codec2.c.
References CODEC2_FRAME_LEN, CODEC2_SAMPLES, ast_frame::data, ast_frame::datalen, ast_trans_pvt::datalen, ast_trans_pvt::i16, ast_trans_pvt::outbuf, ast_frame::ptr, ast_trans_pvt::pvt, ast_trans_pvt::samples, and codec2_translator_pvt::state.
|
static |
store samples into working buffer for later decode
Definition at line 94 of file codec_codec2.c.
References codec2_translator_pvt::buf, ast_frame::data, ast_frame::datalen, ast_frame::ptr, ast_trans_pvt::pvt, ast_frame::samples, and ast_trans_pvt::samples.
|
static |
encode and produce a frame
Definition at line 105 of file codec_codec2.c.
References AST_LIST_NEXT, ast_trans_frameout(), codec2_translator_pvt::buf, CODEC2_FRAME_LEN, CODEC2_SAMPLES, current, last, NULL, ast_trans_pvt::outbuf, ast_trans_pvt::pvt, result, ast_frame::samples, ast_trans_pvt::samples, codec2_translator_pvt::state, and ast_trans_pvt::uc.
|
static |
Definition at line 206 of file codec_codec2.c.
References ast_format_codec2, AST_MODULE_LOAD_DECLINE, AST_MODULE_LOAD_SUCCESS, ast_register_translator, ast_rtp_engine_load_format(), codec2tolin, lintocodec2, and unload_module().
|
static |
Definition at line 195 of file codec_codec2.c.
References ast_format_codec2, ast_rtp_engine_unload_format(), ast_unregister_translator(), codec2tolin, and lintocodec2.
Referenced by load_module().
|
static |
Definition at line 222 of file codec_codec2.c.
|
static |
Definition at line 222 of file codec_codec2.c.
|
static |
Definition at line 150 of file codec_codec2.c.
Referenced by load_module(), and unload_module().
|
static |
Definition at line 172 of file codec_codec2.c.
Referenced by load_module(), and unload_module().