Asterisk - The Open Source Telephony Project
18.5.0
|
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. More... | |
static int | lintocodec2_framein (struct ast_trans_pvt *pvt, struct ast_frame *f) |
store samples into working buffer for later decode More... | |
static struct ast_frame * | lintocodec2_frameout (struct ast_trans_pvt *pvt) |
encode and produce a frame More... | |
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 = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "30ef0c93b36035ec78c9cfd712d36d9b" , .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.
Referenced by codec2tolin_framein(), and lintocodec2_frameout().
#define CODEC2_SAMPLES 160 /* consider codec2_samples_per_frame(.) */ |
Definition at line 48 of file codec_codec2.c.
Referenced by codec2_sample(), codec2tolin_framein(), and lintocodec2_frameout().
|
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, codec2_translator_pvt::state, and tmp().
|
static |
Definition at line 60 of file codec_codec2.c.
References ast_log, LOG_ERROR, ast_trans_pvt::pvt, codec2_translator_pvt::state, and tmp().
|
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, codec2_translator_pvt::state, and tmp().
|
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, ast_trans_pvt::samples, and tmp().
|
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, last, NULL, ast_trans_pvt::outbuf, ast_trans_pvt::pvt, result, ast_frame::samples, ast_trans_pvt::samples, codec2_translator_pvt::state, tmp(), 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(), and unload_module().
|
static |
Definition at line 195 of file codec_codec2.c.
References ast_format_codec2, ast_rtp_engine_unload_format(), and ast_unregister_translator().
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.
|
static |
Definition at line 172 of file codec_codec2.c.