| Asterisk - The Open Source Telephony Project GIT-master-27fb039
    | 
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 | htoll(b) (b) | 
| #define | htols(b) (b) | 
| #define | ltohl(b) (b) | 
| #define | ltohs(b) (b) | 
| #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 = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .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.
Definition at line 50 of file format_wav_gsm.c.
Definition at line 69 of file format_wav_gsm.c.
Definition at line 70 of file format_wav_gsm.c.
Definition at line 71 of file format_wav_gsm.c.
Definition at line 72 of file format_wav_gsm.c.
| #define MSGSM_DATA_OFFSET 60 /* offset of data bytes */ | 
Definition at line 49 of file format_wav_gsm.c.
| #define MSGSM_FRAME_SIZE 65 | 
Definition at line 48 of file format_wav_gsm.c.
| #define MSGSM_SAMPLES (2*GSM_SAMPLES) /* samples in an MSGSM block */ | 
Definition at line 51 of file format_wav_gsm.c.
| 
 | 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, DEFAULT_SAMPLE_RATE, LOG_WARNING, ltohl, ltohs, 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, ast_format_def::format, and wav49_f.
| 
 | static | 
Definition at line 578 of file format_wav_gsm.c.
References ast_format_def_unregister(), ast_format_def::name, and wav49_f.
| 
 | static | 
Definition at line 211 of file format_wav_gsm.c.
References ast_log, end, htoll, 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, 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 | 
Definition at line 386 of file format_wav_gsm.c.
References ast_filestream::f, and write_header().
| 
 | static | 
Definition at line 478 of file format_wav_gsm.c.
References ast_filestream::_private, ast_log, AST_LOG_WARNING, errno, ast_filestream::f, 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, 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, htoll, htols, 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.
Referenced by load_module(), and unload_module().