mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-23 13:09:00 +00:00
- Fix the last set of places where incorrect assumptions were made about the
sample length with g722. It is _2_ samples per byte, not 1. This was all over the place, and I believed it, and it is what caused me to take so long to figure out what was broken. - Update copyright information on codec_g722. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
/*
|
||||
* Asterisk -- An open source telephony toolkit.
|
||||
*
|
||||
* Copyright (C) 1999 - 2006, Digium, Inc.
|
||||
* Copyright (C) 1999 - 2008, Digium, Inc.
|
||||
*
|
||||
* Matthew Fredrickson <creslin@digium.com>
|
||||
* Russell Bryant <russell@digium.com>
|
||||
*
|
||||
* Special thanks to Steve Underwood for the implementation
|
||||
* and for doing the 8khz<->g.722 direct translation code.
|
||||
@@ -23,6 +24,9 @@
|
||||
*
|
||||
* \brief codec_g722.c - translate between signed linear and ITU G.722-64kbps
|
||||
*
|
||||
* \author Matthew Fredrickson <creslin@digium.com>
|
||||
* \author Russell Bryant <russell@digium.com>
|
||||
*
|
||||
* \arg http://soft-switch.org/downloads/non-gpl-bits.tgz
|
||||
* \arg http://lists.digium.com/pipermail/asterisk-dev/2006-September/022866.html
|
||||
*
|
||||
@@ -162,7 +166,7 @@ static struct ast_frame *g722tolin_sample(void)
|
||||
.frametype = AST_FRAME_VOICE,
|
||||
.subclass = AST_FORMAT_G722,
|
||||
.datalen = sizeof(g722_slin_ex),
|
||||
.samples = sizeof(g722_slin_ex),
|
||||
.samples = sizeof(g722_slin_ex) * 2,
|
||||
.src = __PRETTY_FUNCTION__,
|
||||
.data = g722_slin_ex,
|
||||
};
|
||||
@@ -176,7 +180,7 @@ static struct ast_frame *g722tolin16_sample(void)
|
||||
.frametype = AST_FRAME_VOICE,
|
||||
.subclass = AST_FORMAT_G722,
|
||||
.datalen = sizeof(slin_g722_ex),
|
||||
.samples = sizeof(slin_g722_ex),
|
||||
.samples = sizeof(slin_g722_ex) * 2,
|
||||
.src = __PRETTY_FUNCTION__,
|
||||
.data = slin_g722_ex,
|
||||
};
|
||||
@@ -233,7 +237,7 @@ static struct ast_translator lintog722 = {
|
||||
.framein = lintog722_framein,
|
||||
.sample = lintog722_sample,
|
||||
.desc_size = sizeof(struct g722_encoder_pvt),
|
||||
.buffer_samples = BUFFER_SAMPLES,
|
||||
.buffer_samples = BUFFER_SAMPLES * 2,
|
||||
.buf_size = BUFFER_SAMPLES,
|
||||
};
|
||||
|
||||
@@ -258,7 +262,7 @@ static struct ast_translator lin16tog722 = {
|
||||
.framein = lin16tog722_framein,
|
||||
.sample = lin16tog722_sample,
|
||||
.desc_size = sizeof(struct g722_encoder_pvt),
|
||||
.buffer_samples = BUFFER_SAMPLES,
|
||||
.buffer_samples = BUFFER_SAMPLES * 2,
|
||||
.buf_size = BUFFER_SAMPLES,
|
||||
};
|
||||
|
||||
|
@@ -1372,9 +1372,9 @@ 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_G722:
|
||||
case AST_FORMAT_ADPCM:
|
||||
case AST_FORMAT_G726:
|
||||
case AST_FORMAT_G726_AAL2:
|
||||
@@ -1410,9 +1410,9 @@ int ast_codec_get_len(int format, int samples)
|
||||
break;
|
||||
case AST_FORMAT_ULAW:
|
||||
case AST_FORMAT_ALAW:
|
||||
case AST_FORMAT_G722:
|
||||
len = samples;
|
||||
break;
|
||||
case AST_FORMAT_G722:
|
||||
case AST_FORMAT_ADPCM:
|
||||
case AST_FORMAT_G726:
|
||||
case AST_FORMAT_G726_AAL2:
|
||||
|
Reference in New Issue
Block a user