Mercurial > sdl-ios-xcode
diff src/audio/dmedia/SDL_irixaudio.c @ 1662:782fd950bd46 SDL-1.3
Revamp of the video system in progress - adding support for multiple displays, multiple windows, and a full video mode selection API.
WARNING: None of the video drivers have been updated for the new API yet! The API is still under design and very fluid.
The code is now run through a consistent indent format:
indent -i4 -nut -nsc -br -ce
The headers are being converted to automatically generate doxygen documentation.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 28 May 2006 13:04:16 +0000 |
parents | d910939febfa |
children | 4da1ee79c9af |
line wrap: on
line diff
--- a/src/audio/dmedia/SDL_irixaudio.c Sun May 21 17:27:13 2006 +0000 +++ b/src/audio/dmedia/SDL_irixaudio.c Sun May 28 13:04:16 2006 +0000 @@ -31,7 +31,7 @@ #include "SDL_irixaudio.h" -#ifndef AL_RESOURCE /* as a test whether we use the old IRIX audio libraries */ +#ifndef AL_RESOURCE /* as a test whether we use the old IRIX audio libraries */ #define OLD_IRIX_AUDIO #define alClosePort(x) ALcloseport(x) #define alFreeConfig(x) ALfreeconfig(x) @@ -45,172 +45,185 @@ #endif /* Audio driver functions */ -static int AL_OpenAudio(_THIS, SDL_AudioSpec *spec); -static void AL_WaitAudio(_THIS); -static void AL_PlayAudio(_THIS); -static Uint8 *AL_GetAudioBuf(_THIS); -static void AL_CloseAudio(_THIS); +static int AL_OpenAudio (_THIS, SDL_AudioSpec * spec); +static void AL_WaitAudio (_THIS); +static void AL_PlayAudio (_THIS); +static Uint8 *AL_GetAudioBuf (_THIS); +static void AL_CloseAudio (_THIS); /* Audio driver bootstrap functions */ -static int Audio_Available(void) +static int +Audio_Available (void) { - return 1; + return 1; } -static void Audio_DeleteDevice(SDL_AudioDevice *device) +static void +Audio_DeleteDevice (SDL_AudioDevice * device) { - SDL_free(device->hidden); - SDL_free(device); + SDL_free (device->hidden); + SDL_free (device); } -static SDL_AudioDevice *Audio_CreateDevice(int devindex) +static SDL_AudioDevice * +Audio_CreateDevice (int devindex) { - SDL_AudioDevice *this; + SDL_AudioDevice *this; - /* Initialize all variables that we clean on shutdown */ - this = (SDL_AudioDevice *)SDL_malloc(sizeof(SDL_AudioDevice)); - if ( this ) { - SDL_memset(this, 0, (sizeof *this)); - this->hidden = (struct SDL_PrivateAudioData *) - SDL_malloc((sizeof *this->hidden)); - } - if ( (this == NULL) || (this->hidden == NULL) ) { - SDL_OutOfMemory(); - if ( this ) { - SDL_free(this); - } - return(0); - } - SDL_memset(this->hidden, 0, (sizeof *this->hidden)); + /* Initialize all variables that we clean on shutdown */ + this = (SDL_AudioDevice *) SDL_malloc (sizeof (SDL_AudioDevice)); + if (this) { + SDL_memset (this, 0, (sizeof *this)); + this->hidden = (struct SDL_PrivateAudioData *) + SDL_malloc ((sizeof *this->hidden)); + } + if ((this == NULL) || (this->hidden == NULL)) { + SDL_OutOfMemory (); + if (this) { + SDL_free (this); + } + return (0); + } + SDL_memset (this->hidden, 0, (sizeof *this->hidden)); - /* Set the function pointers */ - this->OpenAudio = AL_OpenAudio; - this->WaitAudio = AL_WaitAudio; - this->PlayAudio = AL_PlayAudio; - this->GetAudioBuf = AL_GetAudioBuf; - this->CloseAudio = AL_CloseAudio; + /* Set the function pointers */ + this->OpenAudio = AL_OpenAudio; + this->WaitAudio = AL_WaitAudio; + this->PlayAudio = AL_PlayAudio; + this->GetAudioBuf = AL_GetAudioBuf; + this->CloseAudio = AL_CloseAudio; - this->free = Audio_DeleteDevice; + this->free = Audio_DeleteDevice; - return this; + return this; } AudioBootStrap DMEDIA_bootstrap = { - "AL", "IRIX DMedia audio", - Audio_Available, Audio_CreateDevice + "AL", "IRIX DMedia audio", + Audio_Available, Audio_CreateDevice }; -void static AL_WaitAudio(_THIS) +void static +AL_WaitAudio (_THIS) { - Sint32 timeleft; + Sint32 timeleft; - timeleft = this->spec.samples - alGetFillable(audio_port); - if ( timeleft > 0 ) { - timeleft /= (this->spec.freq/1000); - SDL_Delay((Uint32)timeleft); - } + timeleft = this->spec.samples - alGetFillable (audio_port); + if (timeleft > 0) { + timeleft /= (this->spec.freq / 1000); + SDL_Delay ((Uint32) timeleft); + } } -static void AL_PlayAudio(_THIS) +static void +AL_PlayAudio (_THIS) { - /* Write the audio data out */ - if ( alWriteFrames(audio_port, mixbuf, this->spec.samples) < 0 ) { - /* Assume fatal error, for now */ - this->enabled = 0; - } + /* Write the audio data out */ + if (alWriteFrames (audio_port, mixbuf, this->spec.samples) < 0) { + /* Assume fatal error, for now */ + this->enabled = 0; + } } -static Uint8 *AL_GetAudioBuf(_THIS) +static Uint8 * +AL_GetAudioBuf (_THIS) { - return(mixbuf); + return (mixbuf); } -static void AL_CloseAudio(_THIS) +static void +AL_CloseAudio (_THIS) { - if ( mixbuf != NULL ) { - SDL_FreeAudioMem(mixbuf); - mixbuf = NULL; - } - if ( audio_port != NULL ) { - alClosePort(audio_port); - audio_port = NULL; - } + if (mixbuf != NULL) { + SDL_FreeAudioMem (mixbuf); + mixbuf = NULL; + } + if (audio_port != NULL) { + alClosePort (audio_port); + audio_port = NULL; + } } -static int AL_OpenAudio(_THIS, SDL_AudioSpec *spec) +static int +AL_OpenAudio (_THIS, SDL_AudioSpec * spec) { - ALconfig audio_config; + ALconfig audio_config; #ifdef OLD_IRIX_AUDIO - long audio_param[2]; + long audio_param[2]; #else - ALpv audio_param; + ALpv audio_param; #endif - int width; + int width; - /* Determine the audio parameters from the AudioSpec */ - switch ( spec->format & 0xFF ) { + /* Determine the audio parameters from the AudioSpec */ + switch (spec->format & 0xFF) { - case 8: { /* Signed 8 bit audio data */ - spec->format = AUDIO_S8; - width = AL_SAMPLE_8; - } - break; + case 8: + { /* Signed 8 bit audio data */ + spec->format = AUDIO_S8; + width = AL_SAMPLE_8; + } + break; - case 16: { /* Signed 16 bit audio data */ - spec->format = AUDIO_S16MSB; - width = AL_SAMPLE_16; - } - break; + case 16: + { /* Signed 16 bit audio data */ + spec->format = AUDIO_S16MSB; + width = AL_SAMPLE_16; + } + break; - default: { - SDL_SetError("Unsupported audio format"); - return(-1); - } - } + default: + { + SDL_SetError ("Unsupported audio format"); + return (-1); + } + } - /* Update the fragment size as size in bytes */ - SDL_CalculateAudioSpec(spec); + /* Update the fragment size as size in bytes */ + SDL_CalculateAudioSpec (spec); - /* Set output frequency */ + /* Set output frequency */ #ifdef OLD_IRIX_AUDIO - audio_param[0] = AL_OUTPUT_RATE; - audio_param[1] = spec->freq; - if( ALsetparams(AL_DEFAULT_DEVICE, audio_param, 2) < 0 ) { + audio_param[0] = AL_OUTPUT_RATE; + audio_param[1] = spec->freq; + if (ALsetparams (AL_DEFAULT_DEVICE, audio_param, 2) < 0) { #else - audio_param.param = AL_RATE; - audio_param.value.i = spec->freq; - if( alSetParams(AL_DEFAULT_OUTPUT, &audio_param, 1) < 0 ) { + audio_param.param = AL_RATE; + audio_param.value.i = spec->freq; + if (alSetParams (AL_DEFAULT_OUTPUT, &audio_param, 1) < 0) { #endif - SDL_SetError("alSetParams failed"); - return(-1); - } + SDL_SetError ("alSetParams failed"); + return (-1); + } - /* Open the audio port with the requested frequency */ - audio_port = NULL; - audio_config = alNewConfig(); - if ( audio_config && - (alSetSampFmt(audio_config, AL_SAMPFMT_TWOSCOMP) >= 0) && - (alSetWidth(audio_config, width) >= 0) && - (alSetQueueSize(audio_config, spec->samples*2) >= 0) && - (alSetChannels(audio_config, spec->channels) >= 0) ) { - audio_port = alOpenPort("SDL audio", "w", audio_config); - } - alFreeConfig(audio_config); - if( audio_port == NULL ) { - SDL_SetError("Unable to open audio port"); - return(-1); - } + /* Open the audio port with the requested frequency */ + audio_port = NULL; + audio_config = alNewConfig (); + if (audio_config && + (alSetSampFmt (audio_config, AL_SAMPFMT_TWOSCOMP) >= 0) && + (alSetWidth (audio_config, width) >= 0) && + (alSetQueueSize (audio_config, spec->samples * 2) >= 0) && + (alSetChannels (audio_config, spec->channels) >= 0)) { + audio_port = alOpenPort ("SDL audio", "w", audio_config); + } + alFreeConfig (audio_config); + if (audio_port == NULL) { + SDL_SetError ("Unable to open audio port"); + return (-1); + } - /* Allocate mixing buffer */ - mixbuf = (Uint8 *)SDL_AllocAudioMem(spec->size); - if ( mixbuf == NULL ) { - SDL_OutOfMemory(); - return(-1); - } - SDL_memset(mixbuf, spec->silence, spec->size); + /* Allocate mixing buffer */ + mixbuf = (Uint8 *) SDL_AllocAudioMem (spec->size); + if (mixbuf == NULL) { + SDL_OutOfMemory (); + return (-1); + } + SDL_memset (mixbuf, spec->silence, spec->size); - /* We're ready to rock and roll. :-) */ - return(0); + /* We're ready to rock and roll. :-) */ + return (0); } + +/* vi: set ts=4 sw=4 expandtab: */