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: */