Author: titmuss
Date: Wed May  7 05:36:58 2008
New Revision: 2429

URL: http://svn.slimdevices.com?rev=2429&root=Jive&view=rev
Log:
Bug: N/A
Description:
Fix WMA/AIFF playback (not all tested).


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

Modified: 7.2/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_pcm.c
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_pcm.c?rev=2429&root=Jive&r1=2428&r2=2429&view=diff
==============================================================================
--- 7.2/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_pcm.c 
(original)
+++ 7.2/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_pcm.c Wed May 
 7 05:36:58 2008
@@ -40,100 +40,106 @@
 
 
 static sample_t pcm_read8bitBE(u8_t *pos) { 
-       DEBUG_ERROR("here!");
-       return 0;
-
-/*
+       sample_t sample;
        struct { s32_t sign_extend:8; } s;
-       s32_t sample = s.sign_extend = mem_read_u8(MEM_DATA, pos+offset);
-       sample <<= 16;
+
+       /* XXXX: REVIEW */
+
+       sample = *pos;
+
+       sample = s.sign_extend = sample;
+       return sample << 16;
+}
+
+
+static sample_t pcm_read8bitLE(u8_t *pos) { 
+       sample_t sample;
+       struct { s32_t sign_extend:8; } s;
+
+       /* XXXX: REVIEW */
+
+       sample = *pos;
+
+       sample = s.sign_extend = sample;
+       return sample << 16;
+}
+
+
+static sample_t pcm_read16bitBE(u8_t *pos) { 
+       sample_t sample;
+       struct { s32_t sign_extend:16; } s;
+
+       /* XXXX: REVIEW */
+
+       sample = *pos++ << 8;
+       sample = *pos;
+
+       sample = s.sign_extend = sample;
+       return sample << 8;
+}
+
+
+static sample_t pcm_read16bitLE(u8_t *pos) {
+       sample_t sample;
+       struct { s32_t sign_extend:16; } s;
+
+       sample = *pos++;
+       sample = *pos << 8;
+
+       sample = s.sign_extend = sample;
+       return sample << 8;
+}
+
+
+static sample_t pcm_read24bitBE(u8_t *pos) { 
+       sample_t sample;
+       struct { s32_t sign_extend:24; } s;
+
+       /* XXXX: REVIEW */
+
+       sample = *pos++ << 16;
+       sample |= *pos++ << 8;
+       sample |= *pos;
+
+       sample = s.sign_extend = sample;
        return sample;
-*/
-}
-
-
-static sample_t pcm_read8bitLE(u8_t *pos) { 
-       DEBUG_ERROR("here!");
-       return 0;
-
-/*
-       struct { s32_t sign_extend:8; } s;
-       s32_t sample = s.sign_extend = mem_read_u8(MEM_DATA, pos+3-offset);
-       return sample << 16;
-*/
-}
-
-
-static sample_t pcm_read16bitBE(u8_t *pos) { 
-       DEBUG_ERROR("here!");
-       return 0;
-
-/*
-       struct { s32_t sign_extend:16; } s;
-       s32_t sample = s.sign_extend = mem_read_u16(MEM_DATA, pos+(offset * 
sizeof(u16_t)));
-       return sample << 8;     
-*/
-}
-
-
-static sample_t pcm_read16bitLE(u8_t *pos) { 
-       return ((*pos << 16) | (*(pos + 1) << 8));
-}
-
-
-static sample_t pcm_read24bitBE(u8_t *pos) { 
-       DEBUG_ERROR("here!");
-       return 0;
-
-/*
+}
+
+
+static sample_t pcm_read24bitLE(u8_t *pos) { 
+       sample_t sample;
        struct { s32_t sign_extend:24; } s;
 
-       s32_t sample = mem_read_u8(MEM_DATA, pos) << 16;
-       sample |= mem_read_u8(MEM_DATA, pos+1) << 8;
-       sample |= mem_read_u8(MEM_DATA, pos+2);
+       sample = *pos++;
+       sample |= *pos++ << 8;
+       sample |= *pos << 16;
 
        sample = s.sign_extend = sample;
        return sample;
-*/
-}
-
-
-static sample_t pcm_read24bitLE(u8_t *pos) { 
-       DEBUG_ERROR("here!");
-       return 0;
-
-/*
-       struct { s32_t sign_extend:24; } s;
-
-       s32_t sample = mem_read_u8(MEM_DATA, pos);
-       sample |= mem_read_u8(MEM_DATA, pos+1) << 8;
-       sample |= mem_read_u8(MEM_DATA, pos+2) << 16;
-
-       sample = s.sign_extend = sample;
-       return sample;
-*/
 }
 
 
 static sample_t pcm_read32bitBE(u8_t *pos) { 
-       DEBUG_ERROR("here!");
-       return 0;
-
-/*
-       s32_t sample = mem_read_u32(MEM_DATA, pos);
+       sample_t sample;
+       struct { s32_t sign_extend:32; } s;
+
+       /* XXXX: REVIEW */
+
+       sample = *pos++ << 24;
+       sample |= *pos++ << 16;
+       sample |= *pos++ << 8;
+       sample |= *pos;
+
+       sample = s.sign_extend = sample;
        return sample >> 8;
-*/
 }
 
 
 static sample_t pcm_read32bitLE(u8_t *pos) { 
-       DEBUG_ERROR("here!");
-       return 0;
-
-/*
-       s32_t sample = le_u32_to_arch_u32(mem_read_u32(MEM_DATA, pos));
+       sample_t sample;
+
+       sample = *((s32_t *)pos);
        return sample >> 8;
-*/
 }
 
 
@@ -214,7 +220,7 @@
                return 8;
        }
        else {
-               return 4;
+               return 1;
        }
 }
 

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

Reply via email to