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

Flat, binary, ulaw PCM file format. More...

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

Go to the source code of this file.

Data Structures

struct  au_desc
 

Macros

#define AU_ENC_8BIT_ULAW   1
 
#define AU_HDR_CHANNELS_OFF   5
 
#define AU_HDR_DATA_SIZE_OFF   2
 
#define AU_HDR_ENCODING_OFF   3
 
#define AU_HDR_HDR_SIZE_OFF   1
 
#define AU_HDR_MAGIC_OFF   0
 
#define AU_HDR_SAMPLE_RATE_OFF   4
 
#define AU_HEADER(var)   uint32_t var[6]
 
#define AU_MAGIC   0x2e736e64
 
#define BUF_SIZE   160 /* 160 bytes, and same number of samples */
 
#define MIN_AU_HEADER_SIZE   24
 

Functions

static void __reg_module (void)
 
static void __unreg_module (void)
 
struct ast_moduleAST_MODULE_SELF_SYM (void)
 
static int au_open (struct ast_filestream *s)
 
static int au_rewrite (struct ast_filestream *s, const char *comment)
 
static int au_seek (struct ast_filestream *fs, off_t sample_offset, int whence)
 
static off_t au_tell (struct ast_filestream *fs)
 
static int au_trunc (struct ast_filestream *fs)
 
static int check_header (struct ast_filestream *fs)
 
static struct ast_frameg722_read (struct ast_filestream *s, int *whennext)
 
static int g722_seek (struct ast_filestream *fs, off_t sample_offset, int whence)
 
static off_t g722_tell (struct ast_filestream *fs)
 
static int load_module (void)
 
static struct ast_framepcm_read (struct ast_filestream *s, int *whennext)
 
static int pcm_seek (struct ast_filestream *fs, off_t sample_offset, int whence)
 
static off_t pcm_tell (struct ast_filestream *fs)
 
static int pcm_trunc (struct ast_filestream *fs)
 
static int pcm_write (struct ast_filestream *fs, struct ast_frame *f)
 
static int unload_module (void)
 
static int update_header (struct ast_filestream *fs)
 
static int write_header (struct ast_filestream *fs)
 

Variables

static struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "Raw/Sun uLaw/ALaw 8KHz (PCM,PCMA,AU), G.722 16Khz" , .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 struct ast_format_def alaw_f
 
static char alaw_silence [BUF_SIZE]
 
static const struct ast_module_infoast_module_info = &__mod_info
 
static struct ast_format_def au_f
 
static struct ast_format_def g722_f
 
static struct ast_format_def pcm_f
 
static char ulaw_silence [BUF_SIZE]
 

Detailed Description

Flat, binary, ulaw PCM file format.

Definition in file format_pcm.c.