Mercurial > sdl-ios-xcode
comparison src/audio/windx5/SDL_dx5audio.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 | 5f6550e5184f c8b3d3d13ed1 |
comparison
equal
deleted
inserted
replaced
2007:cff63f857ff3 | 2008:4ad1e863d100 |
---|---|
656 /* Set basic WAVE format parameters */ | 656 /* Set basic WAVE format parameters */ |
657 SDL_memset(&waveformat, 0, sizeof(waveformat)); | 657 SDL_memset(&waveformat, 0, sizeof(waveformat)); |
658 waveformat.wFormatTag = WAVE_FORMAT_PCM; | 658 waveformat.wFormatTag = WAVE_FORMAT_PCM; |
659 | 659 |
660 /* Determine the audio parameters from the AudioSpec */ | 660 /* Determine the audio parameters from the AudioSpec */ |
661 switch (spec->format & 0xFF) { | 661 switch (SDL_AUDIO_BITSIZE(spec->format)) { |
662 case 8: | 662 case 8: |
663 /* Unsigned 8 bit audio data */ | 663 /* Unsigned 8 bit audio data */ |
664 spec->format = AUDIO_U8; | 664 spec->format = AUDIO_U8; |
665 silence = 0x80; | 665 silence = 0x80; |
666 waveformat.wBitsPerSample = 8; | 666 waveformat.wBitsPerSample = 8; |
668 case 16: | 668 case 16: |
669 /* Signed 16 bit audio data */ | 669 /* Signed 16 bit audio data */ |
670 spec->format = AUDIO_S16; | 670 spec->format = AUDIO_S16; |
671 silence = 0x00; | 671 silence = 0x00; |
672 waveformat.wBitsPerSample = 16; | 672 waveformat.wBitsPerSample = 16; |
673 break; | |
674 case 32: | |
675 /* Signed 32 bit audio data */ | |
676 spec->format = AUDIO_S32; | |
677 silence = 0x00; | |
678 waveformat.wBitsPerSample = 32; | |
673 break; | 679 break; |
674 default: | 680 default: |
675 SDL_SetError("Unsupported audio format"); | 681 SDL_SetError("Unsupported audio format"); |
676 return (-1); | 682 return (-1); |
677 } | 683 } |