Mercurial > sdl-ios-xcode
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; |