int32 support for windib and windx5 audio backends.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402055
This commit is contained in:
Ryan C. Gordon 2006-09-01 07:50:36 +00:00
parent aeb5fc04c0
commit 176414e7a2
2 changed files with 13 additions and 2 deletions

View file

@ -248,7 +248,7 @@ DIB_OpenAudio(_THIS, SDL_AudioSpec * spec)
waveformat.wFormatTag = WAVE_FORMAT_PCM; waveformat.wFormatTag = WAVE_FORMAT_PCM;
/* Determine the audio parameters from the AudioSpec */ /* Determine the audio parameters from the AudioSpec */
switch (spec->format & 0xFF) { switch (SDL_AUDIO_BITSIZE(spec->format)) {
case 8: case 8:
/* Unsigned 8 bit audio data */ /* Unsigned 8 bit audio data */
spec->format = AUDIO_U8; spec->format = AUDIO_U8;
@ -259,6 +259,11 @@ DIB_OpenAudio(_THIS, SDL_AudioSpec * spec)
spec->format = AUDIO_S16; spec->format = AUDIO_S16;
waveformat.wBitsPerSample = 16; waveformat.wBitsPerSample = 16;
break; break;
case 16:
/* Signed 32 bit audio data */
spec->format = AUDIO_S32;
waveformat.wBitsPerSample = 32;
break;
default: default:
SDL_SetError("Unsupported audio format"); SDL_SetError("Unsupported audio format");
return (-1); return (-1);

View file

@ -658,7 +658,7 @@ DX5_OpenAudio(_THIS, SDL_AudioSpec * spec)
waveformat.wFormatTag = WAVE_FORMAT_PCM; waveformat.wFormatTag = WAVE_FORMAT_PCM;
/* Determine the audio parameters from the AudioSpec */ /* Determine the audio parameters from the AudioSpec */
switch (spec->format & 0xFF) { switch (SDL_AUDIO_BITSIZE(spec->format)) {
case 8: case 8:
/* Unsigned 8 bit audio data */ /* Unsigned 8 bit audio data */
spec->format = AUDIO_U8; spec->format = AUDIO_U8;
@ -671,6 +671,12 @@ DX5_OpenAudio(_THIS, SDL_AudioSpec * spec)
silence = 0x00; silence = 0x00;
waveformat.wBitsPerSample = 16; waveformat.wBitsPerSample = 16;
break; break;
case 32:
/* Signed 32 bit audio data */
spec->format = AUDIO_S32;
silence = 0x00;
waveformat.wBitsPerSample = 32;
break;
default: default:
SDL_SetError("Unsupported audio format"); SDL_SetError("Unsupported audio format");
return (-1); return (-1);