From c496d3e3b83d5a326553169b0ff74d14c1d1c3d7 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sun, 18 Jul 2004 18:33:28 +0000 Subject: [PATCH] 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 --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40904 --- src/audio/dmedia/SDL_irixaudio.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/audio/dmedia/SDL_irixaudio.c b/src/audio/dmedia/SDL_irixaudio.c index 1c07469e9..bb3c0d2df 100644 --- a/src/audio/dmedia/SDL_irixaudio.c +++ b/src/audio/dmedia/SDL_irixaudio.c @@ -28,6 +28,7 @@ static char rcsid = #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 @@ -39,6 +40,19 @@ static char rcsid = #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 void AL_CloseAudio(_THIS) 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 @@ static int AL_OpenAudio(_THIS, SDL_AudioSpec *spec) 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); }