Author: adrian
Date: Wed Apr 27 14:17:16 2011
New Revision: 9435

URL: http://svn.slimdevices.com/jive?rev=9435&view=rev
Log:
Bug: 17187
Description: 8 bit wav files use unsigned not signed samples

Modified:
    7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_pcm.c

Modified: 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_pcm.c
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_pcm.c?rev=9435&r1=9434&r2=9435&view=diff
==============================================================================
--- 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_pcm.c 
(original)
+++ 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_pcm.c Wed Apr 
27 14:17:16 2011
@@ -37,12 +37,9 @@
 };
 
 
-static sample_t pcm_read8bitBE(u8_t *pos) { 
-       return (sample_t) (*pos << 24);
-}
-
-static sample_t pcm_read8bitLE(u8_t *pos) { 
-       return (sample_t) (*pos << 24);
+static sample_t pcm_read8bit(u8_t *pos) { 
+       // 8 bit wav stores samples as unsigned char
+       return (sample_t) ((((u8_t)*pos) - 128) << 24);
 }
 
 static sample_t pcm_read16bitBE(u8_t *pos) { 
@@ -87,8 +84,8 @@
 
 typedef sample_t (*pcm_read_func_t)(u8_t *pos);
 static pcm_read_func_t pcm_read_funcs[] = {
-       pcm_read8bitLE,
-       pcm_read8bitBE,
+       pcm_read8bit,
+       pcm_read8bit,
        pcm_read16bitLE,
        pcm_read16bitBE,
        pcm_read24bitLE,

_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins

Reply via email to