summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/snd_openal.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/client/snd_openal.c b/src/client/snd_openal.c
index 25854dc8..549286c3 100644
--- a/src/client/snd_openal.c
+++ b/src/client/snd_openal.c
@@ -2686,11 +2686,14 @@ qboolean S_AL_Init( soundInterface_t *si )
defaultinputdevice = qalcGetString(NULL, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER);
// dump a list of available devices to a cvar for the user to see.
- while((curlen = strlen(inputdevicelist)))
+ if (inputdevicelist)
{
- Q_strcat(inputdevicenames, sizeof(inputdevicenames), inputdevicelist);
- Q_strcat(inputdevicenames, sizeof(inputdevicenames), "\n");
- inputdevicelist += curlen + 1;
+ while((curlen = strlen(inputdevicelist)))
+ {
+ Q_strcat(inputdevicenames, sizeof(inputdevicenames), inputdevicelist);
+ Q_strcat(inputdevicenames, sizeof(inputdevicenames), "\n");
+ inputdevicelist += curlen + 1;
+ }
}
s_alAvailableInputDevices = Cvar_Get("s_alAvailableInputDevices", inputdevicenames, CVAR_ROM | CVAR_NORESTART);
@@ -2699,7 +2702,7 @@ qboolean S_AL_Init( soundInterface_t *si )
// !!! FIXME: should probably open the capture device after
// !!! FIXME: initializing Speex so we can change to wideband
// !!! FIXME: if we like.
- Com_Printf("OpenAL default capture device is '%s'\n", defaultinputdevice);
+ Com_Printf("OpenAL default capture device is '%s'\n", defaultinputdevice ? defaultinputdevice : "none");
alCaptureDevice = qalcCaptureOpenDevice(inputdevice, 8000, AL_FORMAT_MONO16, 4096);
if( !alCaptureDevice && inputdevice )
{