From fbd6439bd2e9d4bd73a045ebd6407180836b59df Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Thu, 25 Nov 2010 14:35:32 -0800 Subject: Make the first enumerated DirectSound device use the default, and fix the name --- Alc/dsound.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Alc/dsound.c b/Alc/dsound.c index 2a7f8de0..ce7dd80d 100644 --- a/Alc/dsound.c +++ b/Alc/dsound.c @@ -68,7 +68,7 @@ typedef struct { GUID guid; } DevMap; -static const ALCchar dsDevice[] = "DirectSound Software"; +static const ALCchar dsDevice[] = "DirectSound Default"; static DevMap *DeviceList; static ALuint NumDevices; @@ -118,6 +118,18 @@ static BOOL CALLBACK DSoundEnumDevices(LPGUID guid, LPCSTR desc, LPCSTR drvname, (void)data; (void)drvname; + if(NumDevices == 0) + { + temp = realloc(DeviceList, sizeof(DevMap) * (NumDevices+1)); + if(temp) + { + DeviceList = temp; + DeviceList[NumDevices].name = strdup(dsDevice); + DeviceList[NumDevices].guid = GUID_NULL; + NumDevices++; + } + } + if(!guid) return TRUE; @@ -271,7 +283,8 @@ static ALCboolean DSoundOpenPlayback(ALCdevice *device, const ALCchar *deviceNam { if(strcmp(deviceName, DeviceList[i].name) == 0) { - guid = &DeviceList[i].guid; + if(i > 0) + guid = &DeviceList[i].guid; break; } } -- cgit v1.2.3