diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-10-25 00:26:17 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-10-25 00:26:17 +0000 |
commit | cec97ad9e6af609b380638ae925c761a436d5e2d (patch) | |
tree | c5fba23cdf2823e522b09d655d337c60dd46174b /main | |
parent | d51feffdaff85b820880b7646cb3a461938579e8 (diff) |
add passthrough and file format support for G.722 16KHz audio (issue #5084, original patch by andrew, updated by mithraen)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@46154 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r-- | main/frame.c | 10 | ||||
-rw-r--r-- | main/rtp.c | 2 | ||||
-rw-r--r-- | main/translate.c | 3 |
3 files changed, 9 insertions, 6 deletions
diff --git a/main/frame.c b/main/frame.c index 4bbbcbdae..9bb40cd17 100644 --- a/main/frame.c +++ b/main/frame.c @@ -106,14 +106,15 @@ static struct ast_format_list AST_FORMAT_LIST[] = { /*!< Bit number: comment { 1, AST_FORMAT_GSM, "gsm" , "GSM", 33, 20, 300, 20, 20 }, /*!< 2: codec_gsm.c */ { 1, AST_FORMAT_ULAW, "ulaw", "G.711 u-law", 80, 10, 150, 10, 20 }, /*!< 3: codec_ulaw.c */ { 1, AST_FORMAT_ALAW, "alaw", "G.711 A-law", 80, 10, 150, 10, 20 }, /*!< 4: codec_alaw.c */ - { 1, AST_FORMAT_G726, "g726", "G.726 RFC3551", 40, 10, 300, 10, 20 },/*!< 5: codec_g726.c */ + { 1, AST_FORMAT_G726, "g726", "G.726 RFC3551", 40, 10, 300, 10, 20 }, /*!< 5: codec_g726.c */ { 1, AST_FORMAT_ADPCM, "adpcm" , "ADPCM", 40, 10, 300, 10, 20 }, /*!< 6: codec_adpcm.c */ { 1, AST_FORMAT_SLINEAR, "slin", "16 bit Signed Linear PCM", 160, 10, 70, 10, 20, AST_SMOOTHER_FLAG_BE }, /*!< 7 */ - { 1, AST_FORMAT_LPC10, "lpc10", "LPC10", 7, 20, 20, 20, 20 }, /*!< 8: codec_lpc10.c */ + { 1, AST_FORMAT_LPC10, "lpc10", "LPC10", 7, 20, 20, 20, 20 }, /*!< 8: codec_lpc10.c */ { 1, AST_FORMAT_G729A, "g729", "G.729A", 10, 10, 230, 10, 20, AST_SMOOTHER_FLAG_G729 }, /*!< 9: Binary commercial distribution */ - { 1, AST_FORMAT_SPEEX, "speex", "SpeeX", 10, 10, 60, 10, 20 }, /*!< 10: codec_speex.c */ + { 1, AST_FORMAT_SPEEX, "speex", "SpeeX", 10, 10, 60, 10, 20 }, /*!< 10: codec_speex.c */ { 1, AST_FORMAT_ILBC, "ilbc", "iLBC", 50, 30, 30, 30, 30 }, /*!< 11: codec_ilbc.c */ /* inc=30ms - workaround */ { 1, AST_FORMAT_G726_AAL2, "g726aal2", "G.726 AAL2", 40, 10, 300, 10, 20 }, /*!< 12: codec_g726.c */ + { 1, AST_FORMAT_G722, "g722", "G722"}, /*!< 13 */ { 0, 0, "nothing", "undefined" }, { 0, 0, "nothing", "undefined" }, { 0, 0, "nothing", "undefined" }, @@ -611,7 +612,7 @@ static int show_codecs_deprecated(int fd, int argc, char *argv[]) ast_cli(fd, "--------------------------------------------------------------------------------\n"); if ((argc == 2) || (!strcasecmp(argv[1],"audio"))) { found = 1; - for (i=0;i<12;i++) { + for (i=0;i<13;i++) { snprintf(hex,25,"(0x%x)",1<<i); ast_cli(fd, "%11u (1 << %2d) %10s audio %8s (%s)\n",1 << i,i,hex,ast_getformatname(1<<i),ast_codec2str(1<<i)); } @@ -1471,6 +1472,7 @@ int ast_codec_get_samples(struct ast_frame *f) break; case AST_FORMAT_ULAW: case AST_FORMAT_ALAW: + case AST_FORMAT_G722: samples = f->datalen; break; case AST_FORMAT_ADPCM: diff --git a/main/rtp.c b/main/rtp.c index 6be71d3e6..4d2b1e247 100644 --- a/main/rtp.c +++ b/main/rtp.c @@ -1273,6 +1273,7 @@ static struct { {{1, AST_FORMAT_G729A}, "audio", "G729"}, {{1, AST_FORMAT_SPEEX}, "audio", "speex"}, {{1, AST_FORMAT_ILBC}, "audio", "iLBC"}, + {{1, AST_FORMAT_G722}, "audio", "G722"}, {{1, AST_FORMAT_G726_AAL2}, "audio", "AAL2-G726-32"}, {{0, AST_RTP_DTMF}, "audio", "telephone-event"}, {{0, AST_RTP_CISCO_DTMF}, "audio", "cisco-telephone-event"}, @@ -1299,6 +1300,7 @@ static struct rtpPayloadType static_RTP_PT[MAX_RTP_PT] = { [6] = {1, AST_FORMAT_ADPCM}, /* 16 kHz */ [7] = {1, AST_FORMAT_LPC10}, [8] = {1, AST_FORMAT_ALAW}, + [9] = {1, AST_FORMAT_G722}, [10] = {1, AST_FORMAT_SLINEAR}, /* 2 channels */ [11] = {1, AST_FORMAT_SLINEAR}, /* 1 channel */ [13] = {0, AST_RTP_CN}, diff --git a/main/translate.c b/main/translate.c index f0685145d..1e9c1e77b 100644 --- a/main/translate.c +++ b/main/translate.c @@ -486,7 +486,7 @@ static void rebuild_matrix(int samples) /*! \brief CLI "show translation" command handler */ static int show_translation_deprecated(int fd, int argc, char *argv[]) { -#define SHOW_TRANS 12 +#define SHOW_TRANS 13 int x, y, z; int curlen = 0, longest = 0; @@ -555,7 +555,6 @@ static int show_translation_deprecated(int fd, int argc, char *argv[]) static int show_translation(int fd, int argc, char *argv[]) { -#define SHOW_TRANS 12 int x, y, z; int curlen = 0, longest = 0; |