* Restrict OpenAL capture support test hack to OS X, where it is required; this

fixes a crash on exit with Windows when using OpenAL
This commit is contained in:
Tim Angus 2008-08-03 19:31:42 +00:00
parent 71f8a85e42
commit d13269c5bb
2 changed files with 18 additions and 7 deletions

View file

@ -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;

View file

@ -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