Move the endian test macro to alMain.h

This commit is contained in:
Chris Robinson
2012-02-15 21:47:35 -08:00
parent 7e9af6f406
commit 60785eab8e
3 changed files with 8 additions and 11 deletions
+1 -6
View File
@@ -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;
+7
View File
@@ -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>
-5
View File
@@ -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)
{