From d13269c5bbd1fd2b0b79b3a838d2503f4d640bcd Mon Sep 17 00:00:00 2001 From: Tim Angus Date: Sun, 3 Aug 2008 19:31:42 +0000 Subject: [PATCH] * Restrict OpenAL capture support test hack to OS X, where it is required; this fixes a crash on exit with Windows when using OpenAL --- code/client/cl_main.c | 2 +- code/client/snd_openal.c | 23 +++++++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/code/client/cl_main.c b/code/client/cl_main.c index 4f6d4c25..98686ad2 100644 --- a/code/client/cl_main.c +++ b/code/client/cl_main.c @@ -3181,7 +3181,7 @@ void CL_Shutdown( void ) { Com_Printf( "----- CL_Shutdown -----\n" ); if ( recursive ) { - printf ("recursive shutdown\n"); + Com_Printf( "WARNING: Recursive shutdown\n" ); return; } recursive = qtrue; diff --git a/code/client/snd_openal.c b/code/client/snd_openal.c index 6147131f..98f193df 100644 --- a/code/client/snd_openal.c +++ b/code/client/snd_openal.c @@ -2072,22 +2072,33 @@ qboolean S_AL_Init( soundInterface_t *si ) // !!! FIXME: add support for capture device enumeration. // !!! FIXME: add some better error reporting. s_alCapture = Cvar_Get( "s_alCapture", "1", CVAR_ARCHIVE | CVAR_LATCH ); - if (!s_alCapture->integer) { + if (!s_alCapture->integer) + { Com_Printf("OpenAL capture support disabled by user ('+set s_alCapture 1' to enable)\n"); + } #if USE_MUMBLE - } else if (cl_useMumble->integer) { + else if (cl_useMumble->integer) + { Com_Printf("OpenAL capture support disabled for Mumble support\n"); + } #endif - } else { + else + { +#ifdef MACOS_X // !!! FIXME: Apple has a 1.1-compliant OpenAL, which includes // !!! FIXME: capture support, but they don't list it in the // !!! FIXME: extension string. We need to check the version string, // !!! FIXME: then the extension string, but that's too much trouble, // !!! FIXME: so we'll just check the function pointer for now. - //if (qalcIsExtensionPresent(NULL, "ALC_EXT_capture")) { - if (qalcCaptureOpenDevice == NULL) { + if (qalcCaptureOpenDevice == NULL) +#else + if (!qalcIsExtensionPresent(NULL, "ALC_EXT_capture")) +#endif + { Com_Printf("No ALC_EXT_capture support, can't record audio.\n"); - } else { + } + else + { // !!! FIXME: 8000Hz is what Speex narrowband mode needs, but we // !!! FIXME: should probably open the capture device after // !!! FIXME: initializing Speex so we can change to wideband