aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/dsound.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2010-03-09 05:44:18 -0800
committerChris Robinson <[email protected]>2010-03-09 05:44:18 -0800
commit2ba3a88ace65803393c7f4bdb1b9e158a644d05e (patch)
tree01df5f2c360f9f9f900f91720033827f5fa9c91a /Alc/dsound.c
parent1f10195c47f9747dcd262879c84e614ae3d33cab (diff)
Probe physical devices separately from appending them to the device list
Diffstat (limited to 'Alc/dsound.c')
-rw-r--r--Alc/dsound.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Alc/dsound.c b/Alc/dsound.c
index 43935def..41583525 100644
--- a/Alc/dsound.c
+++ b/Alc/dsound.c
@@ -522,7 +522,6 @@ static BOOL CALLBACK DSoundEnumDevices(LPGUID guid, LPCSTR desc, LPCSTR drvname,
DeviceList = temp;
snprintf(str, sizeof(str), "DirectSound Software on %s", desc);
- AppendAllDeviceList(str);
DeviceList[NumDevices].name = strdup(str);
DeviceList[NumDevices].guid = *guid;
@@ -569,6 +568,11 @@ void alcDSoundProbe(int type)
hr = pDirectSoundEnumerateA(DSoundEnumDevices, NULL);
if(FAILED(hr))
AL_PRINT("Error enumerating DirectSound devices (%#x)!\n", (unsigned int)hr);
+ else
+ {
+ for(i = 0;i < NumDevices;i++)
+ AppendAllDeviceList(DeviceList[i].name);
+ }
}
DSoundUnload();