From 614de8336b41fce0ec4de70a1930c15733e4d2b9 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 4 Oct 2006 21:27:53 +0000 Subject: [PATCH] Audio bootstraps can now specify that a driver is only to be used if explicitly requested (for things like the "disk" driver that is always available but you would never want to default to using). Trimmed out code that can be handled by stubs in the core. The "dummy" driver is pretty damned small now. :) --- src/audio/SDL_audio.c | 2 +- src/audio/SDL_sysaudio.h | 1 + src/audio/alsa/SDL_alsa_audio.c | 2 +- src/audio/arts/SDL_artsaudio.c | 2 +- src/audio/bsd/SDL_bsdaudio.c | 2 +- src/audio/dart/SDL_dart.c | 2 +- src/audio/dc/SDL_dcaudio.c | 2 +- src/audio/disk/SDL_diskaudio.c | 10 +--- src/audio/dma/SDL_dmaaudio.c | 2 +- src/audio/dmedia/SDL_irixaudio.c | 2 +- src/audio/dsp/SDL_dspaudio.c | 2 +- src/audio/dummy/SDL_dummyaudio.c | 85 +--------------------------- src/audio/esd/SDL_esdaudio.c | 2 +- src/audio/macosx/SDL_coreaudio.c | 26 +-------- src/audio/macrom/SDL_romaudio.c | 4 +- src/audio/mint/SDL_mintaudio_dma8.c | 2 +- src/audio/mint/SDL_mintaudio_gsxb.c | 2 +- src/audio/mint/SDL_mintaudio_mcsn.c | 2 +- src/audio/mint/SDL_mintaudio_stfa.c | 2 +- src/audio/mint/SDL_mintaudio_xbios.c | 2 +- src/audio/mme/SDL_mmeaudio.c | 2 +- src/audio/nas/SDL_nasaudio.c | 2 +- src/audio/nto/SDL_nto_audio.c | 3 +- src/audio/paudio/SDL_paudio.c | 2 +- src/audio/sun/SDL_sunaudio.c | 2 +- src/audio/ums/SDL_umsaudio.c | 2 +- src/audio/windib/SDL_dibaudio.c | 2 +- src/audio/windx5/SDL_dx5audio.c | 2 +- 28 files changed, 33 insertions(+), 140 deletions(-) diff --git a/src/audio/SDL_audio.c b/src/audio/SDL_audio.c index 2834cd86b..329c15e54 100644 --- a/src/audio/SDL_audio.c +++ b/src/audio/SDL_audio.c @@ -480,7 +480,7 @@ SDL_AudioInit(const char *driver_name) } } else { for (i = 0; (!initialized) && (bootstrap[i]); ++i) { - if (bootstrap[i]->available()) { + if ((!bootstrap[i]->demand) && (bootstrap[i]->available())) { SDL_memset(¤t_audio, 0, sizeof (current_audio)); current_audio.name = bootstrap[i]->name; current_audio.desc = bootstrap[i]->desc; diff --git a/src/audio/SDL_sysaudio.h b/src/audio/SDL_sysaudio.h index 82f2f6d93..3652942b9 100644 --- a/src/audio/SDL_sysaudio.h +++ b/src/audio/SDL_sysaudio.h @@ -109,6 +109,7 @@ typedef struct AudioBootStrap const char *desc; int (*available) (void); int (*init) (SDL_AudioDriverImpl *impl); + int demand:1; /* 1==must request explicitly, or it won't be available. */ } AudioBootStrap; #endif /* _SDL_sysaudio_h */ diff --git a/src/audio/alsa/SDL_alsa_audio.c b/src/audio/alsa/SDL_alsa_audio.c index 5afd12937..7ff7f9632 100644 --- a/src/audio/alsa/SDL_alsa_audio.c +++ b/src/audio/alsa/SDL_alsa_audio.c @@ -330,7 +330,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap ALSA_bootstrap = { DRIVER_NAME, "ALSA 0.9 PCM audio", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; /* This function waits until it is possible to write a full sound buffer */ diff --git a/src/audio/arts/SDL_artsaudio.c b/src/audio/arts/SDL_artsaudio.c index 038d4de60..aa8abe55c 100644 --- a/src/audio/arts/SDL_artsaudio.c +++ b/src/audio/arts/SDL_artsaudio.c @@ -199,7 +199,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap ARTS_bootstrap = { ARTS_DRIVER_NAME, "Analog Realtime Synthesizer", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; /* This function waits until it is possible to write a full sound buffer */ diff --git a/src/audio/bsd/SDL_bsdaudio.c b/src/audio/bsd/SDL_bsdaudio.c index 762d0b27c..516d168d5 100644 --- a/src/audio/bsd/SDL_bsdaudio.c +++ b/src/audio/bsd/SDL_bsdaudio.c @@ -136,7 +136,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap BSD_AUDIO_bootstrap = { BSD_AUDIO_DRIVER_NAME, BSD_AUDIO_DRIVER_DESC, - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; /* This function waits until it is possible to write a full sound buffer */ diff --git a/src/audio/dart/SDL_dart.c b/src/audio/dart/SDL_dart.c index 499639762..f48eae32d 100644 --- a/src/audio/dart/SDL_dart.c +++ b/src/audio/dart/SDL_dart.c @@ -484,7 +484,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap DART_bootstrap = { "dart", "OS/2 Direct Audio RouTines (DART)", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; /* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/audio/dc/SDL_dcaudio.c b/src/audio/dc/SDL_dcaudio.c index d470222a1..cd8d12f28 100644 --- a/src/audio/dc/SDL_dcaudio.c +++ b/src/audio/dc/SDL_dcaudio.c @@ -92,7 +92,7 @@ DCAUD_CreateDevice(int devindex) AudioBootStrap DCAUD_bootstrap = { "dcaudio", "Dreamcast AICA audio", - DCAUD_Available, DCAUD_CreateDevice + DCAUD_Available, DCAUD_CreateDevice, 0 }; /* This function waits until it is possible to write a full sound buffer */ diff --git a/src/audio/disk/SDL_diskaudio.c b/src/audio/disk/SDL_diskaudio.c index ea0a5c02c..64e094858 100644 --- a/src/audio/disk/SDL_diskaudio.c +++ b/src/audio/disk/SDL_diskaudio.c @@ -64,13 +64,7 @@ DISKAUD_GetOutputFilename(void) static int DISKAUD_Available(void) { - /* !!! FIXME: check this at a higher level... */ - /* only ever use this driver if explicitly requested. */ - const char *envr = SDL_getenv("SDL_AUDIODRIVER"); - if (envr && (SDL_strcasecmp(envr, DISKAUD_DRIVER_NAME) == 0)) { - return (1); - } - return (0); + return 1; /* always available. */ } static int @@ -91,7 +85,7 @@ DISKAUD_Init(SDL_AudioDriverImpl *impl) AudioBootStrap DISKAUD_bootstrap = { DISKAUD_DRIVER_NAME, "direct-to-disk audio", - DISKAUD_Available, DISKAUD_Init + DISKAUD_Available, DISKAUD_Init, 1 }; /* This function waits until it is possible to write a full sound buffer */ diff --git a/src/audio/dma/SDL_dmaaudio.c b/src/audio/dma/SDL_dmaaudio.c index 272155f2e..9eb75b54c 100644 --- a/src/audio/dma/SDL_dmaaudio.c +++ b/src/audio/dma/SDL_dmaaudio.c @@ -117,7 +117,7 @@ DMA_Init(SDL_AudioDriverImpl *impl) AudioBootStrap DMA_bootstrap = { DMA_DRIVER_NAME, "OSS /dev/dsp DMA audio", - DMA_Available, DMA_Init + DMA_Available, DMA_Init, 0 }; diff --git a/src/audio/dmedia/SDL_irixaudio.c b/src/audio/dmedia/SDL_irixaudio.c index c7164efda..8c3eb4d61 100644 --- a/src/audio/dmedia/SDL_irixaudio.c +++ b/src/audio/dmedia/SDL_irixaudio.c @@ -102,7 +102,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap DMEDIA_bootstrap = { "AL", "IRIX DMedia audio", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; diff --git a/src/audio/dsp/SDL_dspaudio.c b/src/audio/dsp/SDL_dspaudio.c index 017b8b2c0..81041b8cd 100644 --- a/src/audio/dsp/SDL_dspaudio.c +++ b/src/audio/dsp/SDL_dspaudio.c @@ -103,7 +103,7 @@ DSP_Init(SDL_AudioDriverImpl *impl) AudioBootStrap DSP_bootstrap = { DSP_DRIVER_NAME, "OSS /dev/dsp standard audio", - DSP_Available, DSP_Init + DSP_Available, DSP_Init, 0 }; diff --git a/src/audio/dummy/SDL_dummyaudio.c b/src/audio/dummy/SDL_dummyaudio.c index 937f1b685..7137b5120 100644 --- a/src/audio/dummy/SDL_dummyaudio.c +++ b/src/audio/dummy/SDL_dummyaudio.c @@ -47,13 +47,7 @@ static void DUMMYAUD_CloseDevice(_THIS); static int DUMMYAUD_Available(void) { - /* !!! FIXME: check this at a higher level... */ - /* only ever use this driver if explicitly requested. */ - const char *envr = SDL_getenv("SDL_AUDIODRIVER"); - if (envr && (SDL_strcmp(envr, DUMMYAUD_DRIVER_NAME) == 0)) { - return (1); - } - return (0); + return 1; /* always available. */ } static int @@ -61,10 +55,6 @@ DUMMYAUD_Init(SDL_AudioDriverImpl *impl) { /* Set the function pointers */ impl->OpenDevice = DUMMYAUD_OpenDevice; - impl->WaitDevice = DUMMYAUD_WaitDevice; - impl->PlayDevice = DUMMYAUD_PlayDevice; - impl->GetDeviceBuf = DUMMYAUD_GetDeviceBuf; - impl->CloseDevice = DUMMYAUD_CloseDevice; impl->OnlyHasDefaultOutputDevice = 1; return 1; @@ -72,82 +62,13 @@ DUMMYAUD_Init(SDL_AudioDriverImpl *impl) AudioBootStrap DUMMYAUD_bootstrap = { DUMMYAUD_DRIVER_NAME, "SDL dummy audio driver", - DUMMYAUD_Available, DUMMYAUD_Init + DUMMYAUD_Available, DUMMYAUD_Init, 1 }; -/* This function waits until it is possible to write a full sound buffer */ -static void -DUMMYAUD_WaitDevice(_THIS) -{ - /* Don't block on first calls to simulate initial fragment filling. */ - if (this->hidden->initial_calls) - this->hidden->initial_calls--; - else - SDL_Delay(this->hidden->write_delay); -} - -static void -DUMMYAUD_PlayDevice(_THIS) -{ - /* no-op...this is a null driver. */ -} - -static Uint8 * -DUMMYAUD_GetDeviceBuf(_THIS) -{ - return (this->hidden->mixbuf); -} - -static void -DUMMYAUD_CloseDevice(_THIS) -{ - if (this->hidden->mixbuf != NULL) { - SDL_FreeAudioMem(this->hidden->mixbuf); - this->hidden->mixbuf = NULL; - } - SDL_free(this->hidden); - this->hidden = NULL; -} - static int DUMMYAUD_OpenDevice(_THIS, const char *devname, int iscapture) { - float bytes_per_sec = 0.0f; - - /* Initialize all variables that we clean on shutdown */ - this->hidden = (struct SDL_PrivateAudioData *) - SDL_malloc((sizeof *this->hidden)); - if (this->hidden == NULL) { - SDL_OutOfMemory(); - return 0; - } - SDL_memset(this->hidden, 0, (sizeof *this->hidden)); - - /* Allocate mixing buffer */ - this->hidden->mixlen = this->spec.size; - this->hidden->mixbuf = (Uint8 *) SDL_AllocAudioMem(this->hidden->mixlen); - if (this->hidden->mixbuf == NULL) { - DUMMYAUD_CloseDevice(this); - return 0; - } - SDL_memset(this->hidden->mixbuf, this->spec.silence, this->spec.size); - - bytes_per_sec = (float) (SDL_AUDIO_BITSIZE(this->spec.format) / 8) * - this->spec.channels * this->spec.freq; - - /* - * We try to make this request more audio at the correct rate for - * a given audio spec, so timing stays fairly faithful. - * Also, we have it not block at all for the first two calls, so - * it seems like we're filling two audio fragments right out of the - * gate, like other SDL drivers tend to do. - */ - this->hidden->initial_calls = 2; - this->hidden->write_delay = - (Uint32) ((((float) this->spec.size) / bytes_per_sec) * 1000.0f); - - /* We're ready to rock and roll. :-) */ - return 1; + return 1; /* always succeeds. */ } /* vi: set ts=4 sw=4 expandtab: */ diff --git a/src/audio/esd/SDL_esdaudio.c b/src/audio/esd/SDL_esdaudio.c index ade0e47e8..c35eb2915 100644 --- a/src/audio/esd/SDL_esdaudio.c +++ b/src/audio/esd/SDL_esdaudio.c @@ -187,7 +187,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap ESD_bootstrap = { ESD_DRIVER_NAME, "Enlightened Sound Daemon", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; /* This function waits until it is possible to write a full sound buffer */ diff --git a/src/audio/macosx/SDL_coreaudio.c b/src/audio/macosx/SDL_coreaudio.c index d5694cbb3..13bab19d5 100644 --- a/src/audio/macosx/SDL_coreaudio.c +++ b/src/audio/macosx/SDL_coreaudio.c @@ -218,7 +218,7 @@ static void COREAUDIO_Deinitialize(void); static int COREAUDIO_Available(void) { - return (1); + return 1; /* always available on Mac OS X. */ } static int @@ -228,9 +228,6 @@ COREAUDIO_Init(SDL_AudioDriverImpl *impl) impl->DetectDevices = COREAUDIO_DetectDevices; impl->GetDeviceName = COREAUDIO_GetDeviceName; impl->OpenDevice = COREAUDIO_OpenDevice; - impl->WaitDevice = COREAUDIO_WaitDevice; - impl->PlayDevice = COREAUDIO_PlayDevice; - impl->GetDeviceBuf = COREAUDIO_GetDeviceBuf; impl->CloseDevice = COREAUDIO_CloseDevice; impl->Deinitialize = COREAUDIO_Deinitialize; impl->ProvidesOwnCallbackThread = 1; @@ -239,7 +236,7 @@ COREAUDIO_Init(SDL_AudioDriverImpl *impl) AudioBootStrap COREAUDIO_bootstrap = { "coreaudio", "Mac OS X CoreAudio", - COREAUDIO_Available, COREAUDIO_Init + COREAUDIO_Available, COREAUDIO_Init, 0 }; @@ -355,25 +352,6 @@ inputCallback(void *inRefCon, } -/* Dummy functions -- we don't use thread-based audio */ -static void -COREAUDIO_WaitDevice(_THIS) -{ - return; -} - -static void -COREAUDIO_PlayDevice(_THIS) -{ - return; -} - -static Uint8 * -COREAUDIO_GetDeviceBuf(_THIS) -{ - return (NULL); -} - static void COREAUDIO_CloseDevice(_THIS) { diff --git a/src/audio/macrom/SDL_romaudio.c b/src/audio/macrom/SDL_romaudio.c index 52dfa8062..f1312b65a 100644 --- a/src/audio/macrom/SDL_romaudio.c +++ b/src/audio/macrom/SDL_romaudio.c @@ -70,8 +70,6 @@ static int SNDMGR_Init(SDL_AudioDriverImpl *impl) { /* Set the function pointers */ - impl->DetectDevices = SNDMGR_DetectDevices; - impl->GetDeviceName = SNDMGR_GetDeviceName; impl->OpenDevice = SNDMGR_OpenDevice; impl->CloseDevice = SNDMGR_CloseDevice; impl->ProvidesOwnCallbackThread = 1; @@ -87,7 +85,7 @@ SNDMGR_Init(SDL_AudioDriverImpl *impl) AudioBootStrap SNDMGR_bootstrap = { "sndmgr", SDL_MACOS_NAME " SoundManager", - SNDMGR_Available, SNDMGR_Init + SNDMGR_Available, SNDMGR_Init, 0 }; #pragma options align=power diff --git a/src/audio/mint/SDL_mintaudio_dma8.c b/src/audio/mint/SDL_mintaudio_dma8.c index 508331b89..1ce0d1ad5 100644 --- a/src/audio/mint/SDL_mintaudio_dma8.c +++ b/src/audio/mint/SDL_mintaudio_dma8.c @@ -160,7 +160,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap MINTAUDIO_DMA8_bootstrap = { MINT_AUDIO_DRIVER_NAME, "MiNT DMA 8 bits audio driver", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; static void diff --git a/src/audio/mint/SDL_mintaudio_gsxb.c b/src/audio/mint/SDL_mintaudio_gsxb.c index 575130fb6..8dcd38101 100644 --- a/src/audio/mint/SDL_mintaudio_gsxb.c +++ b/src/audio/mint/SDL_mintaudio_gsxb.c @@ -166,7 +166,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap MINTAUDIO_GSXB_bootstrap = { MINT_AUDIO_DRIVER_NAME, "MiNT GSXB audio driver", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; static void diff --git a/src/audio/mint/SDL_mintaudio_mcsn.c b/src/audio/mint/SDL_mintaudio_mcsn.c index 498c284f1..432035b04 100644 --- a/src/audio/mint/SDL_mintaudio_mcsn.c +++ b/src/audio/mint/SDL_mintaudio_mcsn.c @@ -181,7 +181,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap MINTAUDIO_MCSN_bootstrap = { MINT_AUDIO_DRIVER_NAME, "MiNT MCSN audio driver", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; static void diff --git a/src/audio/mint/SDL_mintaudio_stfa.c b/src/audio/mint/SDL_mintaudio_stfa.c index 2d09fd828..8a0f97ef1 100644 --- a/src/audio/mint/SDL_mintaudio_stfa.c +++ b/src/audio/mint/SDL_mintaudio_stfa.c @@ -160,7 +160,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap MINTAUDIO_STFA_bootstrap = { MINT_AUDIO_DRIVER_NAME, "MiNT STFA audio driver", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; static void diff --git a/src/audio/mint/SDL_mintaudio_xbios.c b/src/audio/mint/SDL_mintaudio_xbios.c index 93ca016c4..3db6b81ce 100644 --- a/src/audio/mint/SDL_mintaudio_xbios.c +++ b/src/audio/mint/SDL_mintaudio_xbios.c @@ -165,7 +165,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap MINTAUDIO_XBIOS_bootstrap = { MINT_AUDIO_DRIVER_NAME, "MiNT XBIOS audio driver", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; static void diff --git a/src/audio/mme/SDL_mmeaudio.c b/src/audio/mme/SDL_mmeaudio.c index 5f1d94182..ccddaeb44 100644 --- a/src/audio/mme/SDL_mmeaudio.c +++ b/src/audio/mme/SDL_mmeaudio.c @@ -92,7 +92,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap MMEAUDIO_bootstrap = { "waveout", "Tru64 MME WaveOut", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; static void diff --git a/src/audio/nas/SDL_nasaudio.c b/src/audio/nas/SDL_nasaudio.c index fca8df78a..661a7c059 100644 --- a/src/audio/nas/SDL_nasaudio.c +++ b/src/audio/nas/SDL_nasaudio.c @@ -104,7 +104,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap NAS_bootstrap = { NAS_DRIVER_NAME, "Network Audio System", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; /* This function waits until it is possible to write a full sound buffer */ diff --git a/src/audio/nto/SDL_nto_audio.c b/src/audio/nto/SDL_nto_audio.c index ccdcfafff..090a79eb9 100644 --- a/src/audio/nto/SDL_nto_audio.c +++ b/src/audio/nto/SDL_nto_audio.c @@ -212,7 +212,8 @@ NTO_CreateAudioDevice(int devindex) AudioBootStrap QNXNTOAUDIO_bootstrap = { DRIVER_NAME, "QNX6 QSA-NTO Audio", NTO_AudioAvailable, - NTO_CreateAudioDevice + NTO_CreateAudioDevice, + 0 }; /* This function waits until it is possible to write a full sound buffer */ diff --git a/src/audio/paudio/SDL_paudio.c b/src/audio/paudio/SDL_paudio.c index 81f26d9f6..0dec1a534 100644 --- a/src/audio/paudio/SDL_paudio.c +++ b/src/audio/paudio/SDL_paudio.c @@ -121,7 +121,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap Paud_bootstrap = { Paud_DRIVER_NAME, "AIX Paudio", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; /* This function waits until it is possible to write a full sound buffer */ diff --git a/src/audio/sun/SDL_sunaudio.c b/src/audio/sun/SDL_sunaudio.c index 0389e7a1a..8d3594e46 100644 --- a/src/audio/sun/SDL_sunaudio.c +++ b/src/audio/sun/SDL_sunaudio.c @@ -116,7 +116,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap SUNAUDIO_bootstrap = { "audio", "UNIX /dev/audio interface", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; #ifdef DEBUG_AUDIO diff --git a/src/audio/ums/SDL_umsaudio.c b/src/audio/ums/SDL_umsaudio.c index 2e5183371..bab77e5c5 100644 --- a/src/audio/ums/SDL_umsaudio.c +++ b/src/audio/ums/SDL_umsaudio.c @@ -152,7 +152,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap UMS_bootstrap = { UMS_DRIVER_NAME, "AIX UMS audio", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; static Uint8 * diff --git a/src/audio/windib/SDL_dibaudio.c b/src/audio/windib/SDL_dibaudio.c index 19eb005cb..bb7fd88bf 100644 --- a/src/audio/windib/SDL_dibaudio.c +++ b/src/audio/windib/SDL_dibaudio.c @@ -97,7 +97,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap WAVEOUT_bootstrap = { "waveout", "Win95/98/NT/2000 WaveOut", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; diff --git a/src/audio/windx5/SDL_dx5audio.c b/src/audio/windx5/SDL_dx5audio.c index 4188b60f6..858c54de1 100644 --- a/src/audio/windx5/SDL_dx5audio.c +++ b/src/audio/windx5/SDL_dx5audio.c @@ -180,7 +180,7 @@ Audio_CreateDevice(int devindex) AudioBootStrap DSOUND_bootstrap = { "dsound", "Win95/98/2000 DirectSound", - Audio_Available, Audio_CreateDevice + Audio_Available, Audio_CreateDevice, 0 }; static void