Fixed: #1496 Fall back to OpenAL default device (patch provided by simco, thanks!)

This commit is contained in:
kervala 2012-09-29 12:51:15 +02:00
parent cb8b6a0e9f
commit cdf8fd5c6e

View file

@ -246,7 +246,6 @@ static const ALchar *getDeviceInternal(const std::string &device)
if (AlEnumerateAllExt) if (AlEnumerateAllExt)
{ {
const ALchar* deviceNames = alcGetString(NULL, ALC_ALL_DEVICES_SPECIFIER); const ALchar* deviceNames = alcGetString(NULL, ALC_ALL_DEVICES_SPECIFIER);
// const ALchar* defaultDevice = NULL;
if(!strlen(deviceNames)) if(!strlen(deviceNames))
{ {
nldebug("AL: No audio devices"); nldebug("AL: No audio devices");
@ -291,6 +290,7 @@ void CSoundDriverAL::initDevice(const std::string &device, ISoundDriver::TSoundO
// OpenAL initialization // OpenAL initialization
const ALchar *dev = getDeviceInternal(device); const ALchar *dev = getDeviceInternal(device);
if (!dev) dev = alcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER);
nldebug("AL: Opening device: '%s'", dev == NULL ? "NULL" : dev); nldebug("AL: Opening device: '%s'", dev == NULL ? "NULL" : dev);
_AlDevice = alcOpenDevice(dev); _AlDevice = alcOpenDevice(dev);
if (!_AlDevice) throw ESoundDriver("AL: Failed to open device"); if (!_AlDevice) throw ESoundDriver("AL: Failed to open device");