# HG changeset patch # User Ryan C. Gordon # Date 1157097036 0 # Node ID 4ad1e863d100586ddf5923d9c3244c6cbff7df8d # Parent cff63f857ff319919e0b7a432f1a186cabe9a76e int32 support for windib and windx5 audio backends. diff -r cff63f857ff3 -r 4ad1e863d100 src/audio/windib/SDL_dibaudio.c --- a/src/audio/windib/SDL_dibaudio.c Fri Sep 01 06:55:41 2006 +0000 +++ b/src/audio/windib/SDL_dibaudio.c Fri Sep 01 07:50:36 2006 +0000 @@ -248,7 +248,7 @@ waveformat.wFormatTag = WAVE_FORMAT_PCM; /* Determine the audio parameters from the AudioSpec */ - switch (spec->format & 0xFF) { + switch (SDL_AUDIO_BITSIZE(spec->format)) { case 8: /* Unsigned 8 bit audio data */ spec->format = AUDIO_U8; @@ -259,6 +259,11 @@ spec->format = AUDIO_S16; waveformat.wBitsPerSample = 16; break; + case 16: + /* Signed 32 bit audio data */ + spec->format = AUDIO_S32; + waveformat.wBitsPerSample = 32; + break; default: SDL_SetError("Unsupported audio format"); return (-1); diff -r cff63f857ff3 -r 4ad1e863d100 src/audio/windx5/SDL_dx5audio.c --- a/src/audio/windx5/SDL_dx5audio.c Fri Sep 01 06:55:41 2006 +0000 +++ b/src/audio/windx5/SDL_dx5audio.c Fri Sep 01 07:50:36 2006 +0000 @@ -658,7 +658,7 @@ waveformat.wFormatTag = WAVE_FORMAT_PCM; /* Determine the audio parameters from the AudioSpec */ - switch (spec->format & 0xFF) { + switch (SDL_AUDIO_BITSIZE(spec->format)) { case 8: /* Unsigned 8 bit audio data */ spec->format = AUDIO_U8; @@ -671,6 +671,12 @@ silence = 0x00; waveformat.wBitsPerSample = 16; break; + case 32: + /* Signed 32 bit audio data */ + spec->format = AUDIO_S32; + silence = 0x00; + waveformat.wBitsPerSample = 32; + break; default: SDL_SetError("Unsupported audio format"); return (-1);