diff options
Diffstat (limited to 'intern/audaspace/OpenAL/AUD_OpenALDevice.cpp')
-rw-r--r-- | intern/audaspace/OpenAL/AUD_OpenALDevice.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp index c7d9612020b..12b6d2e4f38 100644 --- a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp +++ b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp @@ -996,7 +996,6 @@ AUD_OpenALDevice::AUD_OpenALDevice(AUD_DeviceSpecs specs, int buffersize) { // cannot determine how many channels or which format OpenAL uses, but // it at least is able to play 16 bit stereo audio - specs.channels = AUD_CHANNELS_STEREO; specs.format = AUD_FORMAT_S16; #if 0 @@ -1035,6 +1034,11 @@ AUD_OpenALDevice::AUD_OpenALDevice(AUD_DeviceSpecs specs, int buffersize) m_useMC = alIsExtensionPresent("AL_EXT_MCFORMATS") == AL_TRUE; + if((!m_useMC && specs.channels > AUD_CHANNELS_STEREO) || + specs.channels == AUD_CHANNELS_STEREO_LFE || + specs.channels == AUD_CHANNELS_SURROUND5) + specs.channels = AUD_CHANNELS_STEREO; + alGetError(); alcGetError(m_device); |