Asterisk - The Open Source Telephony Project  21.4.1
Data Structures | Macros | Functions | Variables
format_g726.c File Reference

Headerless G.726 (16/24/32/40kbps) data format for Asterisk. More...

#include "asterisk.h"
#include "asterisk/mod_format.h"
#include "asterisk/module.h"
#include "asterisk/endian.h"
#include "asterisk/format_cache.h"

Go to the source code of this file.

Data Structures

struct  g726_desc
 

Macros

#define BUF_SIZE   (5*FRAME_TIME) /* max frame size in bytes ? */
 
#define FRAME_TIME   10 /* 10 ms size */
 
#define RATE_16   3
 
#define RATE_24   2
 
#define RATE_32   1
 
#define RATE_40   0
 

Functions

static void __reg_module (void)
 
static void __unreg_module (void)
 
struct ast_moduleAST_MODULE_SELF_SYM (void)
 
static int g726_16_open (struct ast_filestream *s)
 
static int g726_16_rewrite (struct ast_filestream *s, const char *comment)
 
static int g726_24_open (struct ast_filestream *s)
 
static int g726_24_rewrite (struct ast_filestream *s, const char *comment)
 
static int g726_32_open (struct ast_filestream *s)
 
static int g726_32_rewrite (struct ast_filestream *s, const char *comment)
 
static int g726_40_open (struct ast_filestream *s)
 
static int g726_40_rewrite (struct ast_filestream *s, const char *comment)
 
static int g726_open (struct ast_filestream *tmp, int rate)
 
static struct ast_frameg726_read (struct ast_filestream *s, int *whennext)
 
static int g726_seek (struct ast_filestream *fs, off_t sample_offset, int whence)
 
static off_t g726_tell (struct ast_filestream *fs)
 
static int g726_trunc (struct ast_filestream *fs)
 
static int g726_write (struct ast_filestream *s, struct ast_frame *f)
 
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 = "Raw G.726 (16/24/32/40kbps) data" , .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 = "da6642af068ee5e6490c5b1d2cc1d238" , .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_APP_DEPEND }
 
static const struct ast_module_infoast_module_info = &__mod_info
 
static struct ast_format_def f_def []
 
static int frame_size [4]
 

Detailed Description

Headerless G.726 (16/24/32/40kbps) data format for Asterisk.

File name extensions:

Definition in file format_g726.c.