From 2d9275e49aadf0235e348e28a3fc3699c471e0b5 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Tue, 11 Sep 2001 18:52:45 +0000 Subject: [PATCH] Handle the case where the WAVE magic number was already read in a non-seekable stream. I don't know if the code works with non-seekable streams anyway, but ... --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40172 --- src/audio/SDL_wave.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/audio/SDL_wave.c b/src/audio/SDL_wave.c index 91ebd2650..bf4642242 100644 --- a/src/audio/SDL_wave.c +++ b/src/audio/SDL_wave.c @@ -434,7 +434,13 @@ SDL_AudioSpec * SDL_LoadWAV_RW (SDL_RWops *src, int freesrc, /* Check the magic header */ RIFFchunk = SDL_ReadLE32(src); wavelen = SDL_ReadLE32(src); - WAVEmagic = SDL_ReadLE32(src); + if ( wavelen == WAVE ) { /* The RIFFchunk has already been read */ + WAVEmagic = wavelen; + wavelen = RIFFchunk; + RIFFchunk = RIFF; + } else { + WAVEmagic = SDL_ReadLE32(src); + } if ( (RIFFchunk != RIFF) || (WAVEmagic != WAVE) ) { SDL_SetError("Unrecognized file type (not WAVE)"); was_error = 1;