comparison src/audio/windib/SDL_dibaudio.c @ 2008:4ad1e863d100

int32 support for windib and windx5 audio backends.
author Ryan C. Gordon <icculus@icculus.org>
date Fri, 01 Sep 2006 07:50:36 +0000
parents c121d94672cb
children a5d0758f88d8
comparison
equal deleted inserted replaced
2007:cff63f857ff3 2008:4ad1e863d100
246 /* Set basic WAVE format parameters */ 246 /* Set basic WAVE format parameters */
247 SDL_memset(&waveformat, 0, sizeof(waveformat)); 247 SDL_memset(&waveformat, 0, sizeof(waveformat));
248 waveformat.wFormatTag = WAVE_FORMAT_PCM; 248 waveformat.wFormatTag = WAVE_FORMAT_PCM;
249 249
250 /* Determine the audio parameters from the AudioSpec */ 250 /* Determine the audio parameters from the AudioSpec */
251 switch (spec->format & 0xFF) { 251 switch (SDL_AUDIO_BITSIZE(spec->format)) {
252 case 8: 252 case 8:
253 /* Unsigned 8 bit audio data */ 253 /* Unsigned 8 bit audio data */
254 spec->format = AUDIO_U8; 254 spec->format = AUDIO_U8;
255 waveformat.wBitsPerSample = 8; 255 waveformat.wBitsPerSample = 8;
256 break; 256 break;
257 case 16: 257 case 16:
258 /* Signed 16 bit audio data */ 258 /* Signed 16 bit audio data */
259 spec->format = AUDIO_S16; 259 spec->format = AUDIO_S16;
260 waveformat.wBitsPerSample = 16; 260 waveformat.wBitsPerSample = 16;
261 break; 261 break;
262 case 16:
263 /* Signed 32 bit audio data */
264 spec->format = AUDIO_S32;
265 waveformat.wBitsPerSample = 32;
266 break;
262 default: 267 default:
263 SDL_SetError("Unsupported audio format"); 268 SDL_SetError("Unsupported audio format");
264 return (-1); 269 return (-1);
265 } 270 }
266 waveformat.nChannels = spec->channels; 271 waveformat.nChannels = spec->channels;