diff --git a/code/sdl/sdl_snd.c b/code/sdl/sdl_snd.c index 6cc722a4..e37b4d38 100644 --- a/code/sdl/sdl_snd.c +++ b/code/sdl/sdl_snd.c @@ -188,6 +188,9 @@ qboolean SNDDMA_Init(void) SDL_AudioSpec desired; SDL_AudioSpec obtained; int tmp; +#ifdef USE_SDL_AUDIO_CAPTURE + SDL_version sdlVersion; +#endif if (snd_inited) return qtrue; @@ -286,7 +289,13 @@ qboolean SNDDMA_Init(void) #ifdef USE_SDL_AUDIO_CAPTURE // !!! FIXME: some of these SDL_OpenAudioDevice() values should be cvars. s_sdlCapture = Cvar_Get( "s_sdlCapture", "1", CVAR_ARCHIVE | CVAR_LATCH ); - if (!s_sdlCapture->integer) + // !!! FIXME: hopefully pulseaudio capture will be fixed in SDL 2.0.9... https://bugzilla.libsdl.org/show_bug.cgi?id=4087 + SDL_GetVersion(&sdlVersion); + if (sdlVersion.major == 2 && sdlVersion.minor == 0 && sdlVersion.patch < 9 && Q_stricmp(SDL_GetCurrentAudioDriver(), "pulseaudio") == 0) + { + Com_Printf("SDL audio capture support disabled (pulseaudio capture does not work correctly with SDL %d.%d.%d)\n", sdlVersion.major, sdlVersion.minor, sdlVersion.patch); + } + else if (!s_sdlCapture->integer) { Com_Printf("SDL audio capture support disabled by user ('+set s_sdlCapture 1' to enable)\n"); }