aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--router/alc.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/router/alc.c b/router/alc.c
index e8346ef1..9f94c869 100644
--- a/router/alc.c
+++ b/router/alc.c
@@ -374,13 +374,12 @@ ALC_API ALCdevice* ALC_APIENTRY alcOpenDevice(const ALCchar *devicename)
idx = GetDriverIndexForName(&AllDevicesList, devicename);
}
almtx_unlock(&EnumerationLock);
- if(idx >= 0)
- device = DriverList[idx].alcOpenDevice(devicename);
- else for(idx = 0;idx < DriverListSize;idx++)
+ if(idx < 0)
{
- device = DriverList[idx].alcOpenDevice(devicename);
- if(device) break;
+ ATOMIC_STORE_SEQ(&LastError, ALC_INVALID_VALUE);
+ return NULL;
}
+ device = DriverList[idx].alcOpenDevice(devicename);
}
else
{
@@ -816,17 +815,14 @@ ALC_API ALCdevice* ALC_APIENTRY alcCaptureOpenDevice(const ALCchar *devicename,
(void)alcGetString(NULL, ALC_CAPTURE_DEVICE_SPECIFIER);
idx = GetDriverIndexForName(&CaptureDevicesList, devicename);
almtx_unlock(&EnumerationLock);
- if(idx >= 0)
- device = DriverList[idx].alcCaptureOpenDevice(
- devicename, frequency, format, buffersize
- );
- else for(idx = 0;idx < DriverListSize;idx++)
+ if(idx < 0)
{
- device = DriverList[idx].alcCaptureOpenDevice(
- devicename, frequency, format, buffersize
- );
- if(device) break;
+ ATOMIC_STORE_SEQ(&LastError, ALC_INVALID_VALUE);
+ return NULL;
}
+ device = DriverList[idx].alcCaptureOpenDevice(
+ devicename, frequency, format, buffersize
+ );
}
else
{