From ba32cf22fb745b2a0141fba4f2c85f097d3590df Mon Sep 17 00:00:00 2001 From: vspader Date: Tue, 3 Mar 2009 08:19:46 -0800 Subject: [PATCH] Fixed endianness for WavPack plugin. --- Plugins/WavPack/WavPackDecoder.m | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Plugins/WavPack/WavPackDecoder.m b/Plugins/WavPack/WavPackDecoder.m index c98ed31be..85511a443 100644 --- a/Plugins/WavPack/WavPackDecoder.m +++ b/Plugins/WavPack/WavPackDecoder.m @@ -184,27 +184,27 @@ int32_t WriteBytesProc(void *ds, void *data, int32_t bcount) } break; case 16: - // Convert to big endian byte order + // Convert to little endian byte order alias16 = buf; for(sample = 0; sample < samplesRead*channels; ++sample) { - *alias16++ = (int16_t)inputBuffer[sample]; + *alias16++ = OSSwapHostToLittleInt16((int16_t)inputBuffer[sample]); } break; case 24: - // Convert to big endian byte order + // Convert to little endian byte order alias8 = buf; for(sample = 0; sample < samplesRead * channels; ++sample) { audioSample = inputBuffer[sample]; - *alias8++ = (int8_t)(audioSample >> 16); - *alias8++ = (int8_t)(audioSample >> 8); *alias8++ = (int8_t)audioSample; + *alias8++ = (int8_t)(audioSample >> 8); + *alias8++ = (int8_t)(audioSample >> 16); } break; case 32: - // Convert to big endian byte order + // Convert to little endian byte order alias32 = buf; for(sample = 0; sample < samplesRead * channels; ++sample) { - *alias32++ = inputBuffer[sample]; + *alias32++ = OSSwapHostToLittleInt32(inputBuffer[sample]); } break; default: @@ -250,7 +250,7 @@ int32_t WriteBytesProc(void *ds, void *data, int32_t bcount) [NSNumber numberWithFloat:frequency],@"sampleRate", [NSNumber numberWithDouble:totalFrames],@"totalFrames", [NSNumber numberWithBool:[source seekable]], @"seekable", - @"host",@"endian", + @"little",@"endian", nil]; }