fixed big-endian handling in .sound.
authorkramm <kramm>
Thu, 11 Nov 2004 21:12:17 +0000 (21:12 +0000)
committerkramm <kramm>
Thu, 11 Nov 2004 21:12:17 +0000 (21:12 +0000)
src/swfc.c

index cf1ce6d..17fefe6 100644 (file)
@@ -1110,6 +1110,12 @@ void s_sound(char*name, char*filename)
        samples = (U16*)wav2.data;
        numsamples = wav2.size/2;
        free(wav.data);
+#ifdef WORDS_BIGENDIAN
+       /* swap bytes */
+       for(t=0;t<numsamples;t++) {
+           samples[t] = (samples[t]>>8)&0xff | (samples[t]<<8)&0xff00;
+       }
+#endif
     }
 
     tag = swf_InsertTag(tag, ST_DEFINESOUND);