Merge pull request #3 from debiatan/fix_audio_64

Fixed WAV loading under 64-bit systems.
This commit is contained in:
Ray 2014-11-09 11:29:13 +01:00
commit 45b214d83e

View file

@ -683,24 +683,24 @@ static Wave LoadWAV(const char *fileName)
// Basic WAV headers structs // Basic WAV headers structs
typedef struct { typedef struct {
char chunkID[4]; char chunkID[4];
long chunkSize; int chunkSize;
char format[4]; char format[4];
} RiffHeader; } RiffHeader;
typedef struct { typedef struct {
char subChunkID[4]; char subChunkID[4];
long subChunkSize; int subChunkSize;
short audioFormat; short audioFormat;
short numChannels; short numChannels;
long sampleRate; int sampleRate;
long byteRate; int byteRate;
short blockAlign; short blockAlign;
short bitsPerSample; short bitsPerSample;
} WaveFormat; } WaveFormat;
typedef struct { typedef struct {
char subChunkID[4]; char subChunkID[4];
long subChunkSize; int subChunkSize;
} WaveData; } WaveData;
RiffHeader riffHeader; RiffHeader riffHeader;
@ -722,8 +722,8 @@ static Wave LoadWAV(const char *fileName)
fread(&riffHeader, sizeof(RiffHeader), 1, wavFile); fread(&riffHeader, sizeof(RiffHeader), 1, wavFile);
// Check for RIFF and WAVE tags // Check for RIFF and WAVE tags
if (((riffHeader.chunkID[0] != 'R') || (riffHeader.chunkID[1] != 'I') || (riffHeader.chunkID[2] != 'F') || (riffHeader.chunkID[3] != 'F')) || if (strncmp(riffHeader.chunkID, "RIFF", 4) ||
((riffHeader.format[0] != 'W') || (riffHeader.format[1] != 'A') || (riffHeader.format[2] != 'V') || (riffHeader.format[3] != 'E'))) strncmp(riffHeader.format, "WAVE", 4))
{ {
TraceLog(WARNING, "[%s] Invalid RIFF or WAVE Header", fileName); TraceLog(WARNING, "[%s] Invalid RIFF or WAVE Header", fileName);
} }
@ -825,4 +825,4 @@ static Wave LoadOGG(char *fileName)
static void UnloadWave(Wave wave) static void UnloadWave(Wave wave)
{ {
free(wave.data); free(wave.data);
} }