Asterisk - The Open Source Telephony Project
18.5.0
|
Save GSM in the proprietary Microsoft format. More...
#include "asterisk.h"
#include "asterisk/mod_format.h"
#include "asterisk/module.h"
#include "asterisk/endian.h"
#include "asterisk/format_cache.h"
#include "msgsm.h"
Go to the source code of this file.
Data Structures | |
struct | wavg_desc |
Macros | |
#define | GSM_FRAME_SIZE 33 |
#define | GSM_SAMPLES 160 /* samples in a GSM block */ |
#define | MSGSM_DATA_OFFSET 60 /* offset of data bytes */ |
#define | MSGSM_FRAME_SIZE 65 |
#define | MSGSM_SAMPLES (2*GSM_SAMPLES) /* samples in an MSGSM block */ |
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
struct ast_module * | AST_MODULE_SELF_SYM (void) |
static int | check_header (FILE *f) |
static int | load_module (void) |
static int | unload_module (void) |
static int | update_header (FILE *f) |
static void | wav_close (struct ast_filestream *s) |
static int | wav_open (struct ast_filestream *s) |
static struct ast_frame * | wav_read (struct ast_filestream *s, int *whennext) |
static int | wav_rewrite (struct ast_filestream *s, const char *comment) |
static int | wav_seek (struct ast_filestream *fs, off_t sample_offset, int whence) |
static off_t | wav_tell (struct ast_filestream *fs) |
static int | wav_trunc (struct ast_filestream *fs) |
static int | wav_write (struct ast_filestream *s, struct ast_frame *f) |
static int | write_header (FILE *f) |
Variables | |
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "Microsoft WAV format (Proprietary GSM)" , .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" , .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_APP_DEPEND } |
static const struct ast_module_info * | ast_module_info = &__mod_info |
static char | msgsm_silence [] |
static struct ast_format_def | wav49_f |
Save GSM in the proprietary Microsoft format.
Microsoft WAV format (Proprietary GSM)
Definition in file format_wav_gsm.c.
#define GSM_FRAME_SIZE 33 |
Definition at line 47 of file format_wav_gsm.c.
Referenced by wav_read(), and wav_write().
Definition at line 50 of file format_wav_gsm.c.
Referenced by wav_read().
#define MSGSM_DATA_OFFSET 60 /* offset of data bytes */ |
Definition at line 49 of file format_wav_gsm.c.
Referenced by update_header(), wav_seek(), and wav_tell().
#define MSGSM_FRAME_SIZE 65 |
Definition at line 48 of file format_wav_gsm.c.
Referenced by update_header(), wav_read(), wav_seek(), wav_tell(), wav_write(), and write_header().
#define MSGSM_SAMPLES (2*GSM_SAMPLES) /* samples in an MSGSM block */ |
Definition at line 51 of file format_wav_gsm.c.
Referenced by update_header(), wav_seek(), wav_tell(), and write_header().
|
static |
Definition at line 588 of file format_wav_gsm.c.
|
static |
Definition at line 588 of file format_wav_gsm.c.
struct ast_module* AST_MODULE_SELF_SYM | ( | void | ) |
Definition at line 588 of file format_wav_gsm.c.
|
static |
Definition at line 91 of file format_wav_gsm.c.
References ast_log, chans, DEFAULT_SAMPLE_RATE, format, LOG_WARNING, and type.
Referenced by wav_open().
|
static |
Definition at line 570 of file format_wav_gsm.c.
References ast_format_def_register, ast_format_gsm, AST_MODULE_LOAD_DECLINE, AST_MODULE_LOAD_SUCCESS, and ast_format_def::format.
Referenced by unload_module().
|
static |
Definition at line 578 of file format_wav_gsm.c.
References ast_format_def_unregister(), AST_MODFLAG_LOAD_ORDER, AST_MODPRI_APP_DEPEND, AST_MODULE_INFO(), AST_MODULE_SUPPORT_CORE, ASTERISK_GPL_KEY, load_module(), and ast_format_def::name.
|
static |
Definition at line 211 of file format_wav_gsm.c.
References ast_log, end, LOG_WARNING, MSGSM_DATA_OFFSET, MSGSM_FRAME_SIZE, and MSGSM_SAMPLES.
Referenced by wav_close(), and wav_trunc().
|
static |
Definition at line 397 of file format_wav_gsm.c.
References ast_filestream::f, ast_filestream::filename, ast_filestream::mode, and update_header().
|
static |
Definition at line 373 of file format_wav_gsm.c.
References ast_filestream::_private, check_header(), ast_filestream::f, if(), and wavg_desc::secondhalf.
|
static |
Definition at line 408 of file format_wav_gsm.c.
References ast_filestream::_private, ast_format_get_name(), AST_FRAME_SET_BUFFER, AST_FRIENDLY_OFFSET, ast_log, ast_filestream::buf, conv65(), ast_frame::data, errno, ast_filestream::f, ast_frame_subclass::format, ast_filestream::fr, GSM_FRAME_SIZE, GSM_SAMPLES, LOG_WARNING, MSGSM_FRAME_SIZE, NULL, ast_frame::offset, ast_frame::ptr, ast_frame::samples, wavg_desc::secondhalf, and ast_frame::subclass.
|
static |
|
static |
Definition at line 478 of file format_wav_gsm.c.
References ast_filestream::_private, ast_log, AST_LOG_WARNING, errno, ast_filestream::f, if(), LOG_WARNING, max, min, MSGSM_DATA_OFFSET, MSGSM_FRAME_SIZE, MSGSM_SAMPLES, msgsm_silence, wavg_desc::secondhalf, and SEEK_FORCECUR.
|
static |
Definition at line 546 of file format_wav_gsm.c.
References ast_filestream::f, MSGSM_DATA_OFFSET, MSGSM_FRAME_SIZE, and MSGSM_SAMPLES.
|
static |
Definition at line 526 of file format_wav_gsm.c.
References ast_log, AST_LOG_WARNING, errno, ast_filestream::f, and update_header().
|
static |
Definition at line 440 of file format_wav_gsm.c.
References ast_filestream::_private, ast_log, ast_filestream::buf, conv66(), ast_frame::data, ast_frame::datalen, errno, ast_filestream::f, GSM_FRAME_SIZE, if(), len(), LOG_WARNING, MSGSM_FRAME_SIZE, NULL, ast_frame::ptr, and wavg_desc::secondhalf.
|
static |
Definition at line 259 of file format_wav_gsm.c.
References ast_log, LOG_WARNING, MSGSM_FRAME_SIZE, and MSGSM_SAMPLES.
Referenced by wav_rewrite().
|
static |
Definition at line 588 of file format_wav_gsm.c.
|
static |
Definition at line 588 of file format_wav_gsm.c.
|
static |
Definition at line 54 of file format_wav_gsm.c.
Referenced by wav_seek().
|
static |
Definition at line 555 of file format_wav_gsm.c.