--- 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);
}