aboutsummaryrefslogtreecommitdiffstats
path: root/main/alaw.c
diff options
context:
space:
mode:
authormurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-21 16:36:34 +0000
committermurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-21 16:36:34 +0000
commit6bae76f8d4a6ab1ad9833daf06b34c17c116eb58 (patch)
tree3e0ade76930fc4b63d5181fd5bdbb9d6ccdfdfbc /main/alaw.c
parentd9e46ad2447f0c348262b101da297e5ace9a4f3a (diff)
This patch solves problem 1 in 8126; it should not slow down the alaw codec, but should prevent signal degradation via multiple trips thru the codec. Fossil estimates the twice thru this codec will prevent fax from working. 4-6 times thru would result hearable, noticeable, voice degradation.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@80166 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/alaw.c')
-rw-r--r--main/alaw.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/main/alaw.c b/main/alaw.c
index 782419d9e..b94772ea6 100644
--- a/main/alaw.c
+++ b/main/alaw.c
@@ -71,7 +71,7 @@ static inline short int alaw2linear (unsigned char alaw)
int seg;
alaw ^= AMI_MASK;
- i = ((alaw & 0x0F) << 4);
+ i = ((alaw & 0x0F) << 4) + 8 /* rounding error */;
seg = (((int) alaw & 0x70) >> 4);
if (seg)
i = (i + 0x100) << (seg - 1);