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