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 }