From 88efcea05e9e81aadf916d549dbcceeadf0387f3 Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Wed, 25 Oct 2006 00:32:23 +0000 Subject: Merged revisions 46154 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r46154 | kpfleming | 2006-10-24 19:26:17 -0500 (Tue, 24 Oct 2006) | 2 lines add passthrough and file format support for G.722 16KHz audio (issue #5084, original patch by andrew, updated by mithraen) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46155 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- formats/format_pcm.c | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) (limited to 'formats') diff --git a/formats/format_pcm.c b/formats/format_pcm.c index 9ae1398e6..a3a40b7d4 100644 --- a/formats/format_pcm.c +++ b/formats/format_pcm.c @@ -443,6 +443,18 @@ static const struct ast_format pcm_f = { .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, }; +static const struct ast_format g722_f = { + .name = "g722", + .exts = "g722", + .format = AST_FORMAT_G722, + .write = pcm_write, + .seek = pcm_seek, + .trunc = pcm_trunc, + .tell = pcm_tell, + .read = pcm_read, + .buf_size = (BUF_SIZE * 2) + AST_FRIENDLY_OFFSET, +}; + static const struct ast_format au_f = { .name = "au", .exts = "au", @@ -467,14 +479,18 @@ static int load_module(void) for (index = 0; index < (sizeof(alaw_silence) / sizeof(alaw_silence[0])); index++) alaw_silence[index] = AST_LIN2A(0); - return ast_format_register(&pcm_f) || ast_format_register(&alaw_f) - || ast_format_register(&au_f); + return ast_format_register(&pcm_f) + || ast_format_register(&alaw_f) + || ast_format_register(&au_f) + || ast_format_register(&g722_f); } static int unload_module(void) { - return ast_format_unregister(pcm_f.name) || ast_format_unregister(alaw_f.name) - || ast_format_unregister(au_f.name); + return ast_format_unregister(pcm_f.name) + || ast_format_unregister(alaw_f.name) + || ast_format_unregister(au_f.name) + || ast_format_unregister(g722_f.name); } -AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw/Sun uLaw/ALaw 8khz Audio support (PCM,PCMA,AU)"); +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw/Sun uLaw/ALaw 8KHz Audio support (PCM,PCMA,AU) and G.722 16Khz Audio Support"); -- cgit v1.2.3