diff options
-rw-r--r-- | Alc/backends/wave.c | 7 | ||||
-rw-r--r-- | OpenAL32/Include/alMain.h | 7 | ||||
-rw-r--r-- | OpenAL32/alBuffer.c | 5 |
3 files changed, 8 insertions, 11 deletions
diff --git a/Alc/backends/wave.c b/Alc/backends/wave.c index 568091c8..f5c14174 100644 --- a/Alc/backends/wave.c +++ b/Alc/backends/wave.c @@ -87,14 +87,9 @@ static ALuint WaveProc(ALvoid *ptr) ALuint now, start; ALuint64 avail, done; size_t fs; - union { - short s; - char b[sizeof(short)]; - } uSB; const ALuint restTime = (ALuint64)pDevice->UpdateSize * 1000 / pDevice->Frequency / 2; - uSB.s = 1; frameSize = FrameSizeFromDevFmt(pDevice->FmtChans, pDevice->FmtType); done = 0; @@ -122,7 +117,7 @@ static ALuint WaveProc(ALvoid *ptr) aluMixData(pDevice, data->buffer, pDevice->UpdateSize); done += pDevice->UpdateSize; - if(uSB.b[0] != 1) + if(!IS_LITTLE_ENDIAN) { ALuint bytesize = BytesFromDevFmt(pDevice->FmtType); ALubyte *bytes = data->buffer; diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h index 22220dff..8427f83b 100644 --- a/OpenAL32/Include/alMain.h +++ b/OpenAL32/Include/alMain.h @@ -99,6 +99,13 @@ typedef ptrdiff_t ALsizeiptrEXT; #endif +static const union { + ALuint u; + ALubyte b[sizeof(ALuint)]; +} EndianTest = { 1 }; +#define IS_LITTLE_ENDIAN (EndianTest.b[0] == 1) + + #ifdef _WIN32 #include <windows.h> diff --git a/OpenAL32/alBuffer.c b/OpenAL32/alBuffer.c index 2d75a24e..6a3bb114 100644 --- a/OpenAL32/alBuffer.c +++ b/OpenAL32/alBuffer.c @@ -1245,11 +1245,6 @@ static void EncodeIMA4Block(ALima4 *dst, const ALshort *src, ALint *sample, ALin } } -static const union { - ALuint u; - ALubyte b[sizeof(ALuint)]; -} EndianTest = { 1 }; -#define IS_LITTLE_ENDIAN (EndianTest.b[0] == 1) static __inline ALint DecodeByte3(ALbyte3 val) { |