Merged revisions 80166 via svnmerge from
authorSteve Murphy <murf@digium.com>
Wed, 22 Aug 2007 14:12:24 +0000 (14:12 +0000)
committerSteve Murphy <murf@digium.com>
Wed, 22 Aug 2007 14:12:24 +0000 (14:12 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80166 | murf | 2007-08-21 10:36:34 -0600 (Tue, 21 Aug 2007) | 1 line

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: https://origsvn.digium.com/svn/asterisk/trunk@80241 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/alaw.c

index fbc99b0..8baa6a7 100644 (file)
@@ -112,7 +112,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);