Date: Sun, 18 Jul 2004 16:46:44 +0200
authorSam Lantinga <slouken@libsdl.org>
Sun, 18 Jul 2004 18:33:28 +0000
changeset 903 6e6248801043
parent 902 99f439d6ee4a
child 904 34af7946130a
Date: Sun, 18 Jul 2004 16:46:44 +0200 From: Georg Schwarz Subject: Compiling SDL on IRIX 5.3 in order to make SDL compile on IRIX 5.3 I had to apply the following patch
src/audio/dmedia/SDL_irixaudio.c
--- a/src/audio/dmedia/SDL_irixaudio.c	Sat Jul 17 08:58:24 2004 +0000
+++ b/src/audio/dmedia/SDL_irixaudio.c	Sun Jul 18 18:33:28 2004 +0000
@@ -28,6 +28,7 @@
 #endif
 
 /* Allow access to a raw mixing buffer (For IRIX 6.5 and higher) */
+/* patch for IRIX 5 by Georg Schwarz 18/07/2004 */
 
 #include <stdlib.h>
 
@@ -39,6 +40,19 @@
 #include "SDL_irixaudio.h"
 
 
+#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)
+#define alGetFillable(x) ALgetfillable(x)
+#define alNewConfig() ALnewconfig()
+#define alOpenPort(x,y,z) ALopenport(x,y,z)
+#define alSetChannels(x,y) ALsetchannels(x,y)
+#define alSetQueueSize(x,y) ALsetqueuesize(x,y)
+#define alSetSampFmt(x,y) ALsetsampfmt(x,y)
+#define alSetWidth(x,y) ALsetwidth(x,y)
+#endif
+
 /* Audio driver functions */
 static int AL_OpenAudio(_THIS, SDL_AudioSpec *spec);
 static void AL_WaitAudio(_THIS);
@@ -137,7 +151,11 @@
 static int AL_OpenAudio(_THIS, SDL_AudioSpec *spec)
 {
 	ALconfig audio_config;
+#ifdef OLD_IRIX_AUDIO
+	long audio_param[2];
+#else
 	ALpv audio_param;
+#endif
 	int width;
 
 	/* Determine the audio parameters from the AudioSpec */
@@ -165,9 +183,15 @@
 	SDL_CalculateAudioSpec(spec);
 
 	/* 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 ) {
+#else
 	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);
 	}