Module: wine Branch: master Commit: 986a14f9500dd0abf598703a775e2e610594200c URL: http://source.winehq.org/git/wine.git/?a=commit;h=986a14f9500dd0abf598703a77...
Author: Andrew Eikum aeikum@codeweavers.com Date: Mon Apr 17 13:14:58 2017 -0500
xaudio2: Try to increase OpenAL source limit.
openal-soft recently added support for applications to request new source count limits. Older versions will silently ignore these attributes.
Signed-off-by: Andrew Eikum aeikum@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/xaudio2_7/xaudio_dll.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c index b2a5e3b..a091629 100644 --- a/dlls/xaudio2_7/xaudio_dll.c +++ b/dlls/xaudio2_7/xaudio_dll.c @@ -1593,7 +1593,7 @@ static HRESULT WINAPI IXAudio2Impl_CreateMasteringVoice(IXAudio2 *iface, IMMDevice *dev; HRESULT hr; WAVEFORMATEX *fmt; - ALCint attrs[7]; + ALCint attrs[11]; REFERENCE_TIME period, bufdur;
TRACE("(%p)->(%p, %u, %u, 0x%x, %s, %p, 0x%x)\n", This, @@ -1743,11 +1743,20 @@ static HRESULT WINAPI IXAudio2Impl_CreateMasteringVoice(IXAudio2 *iface, LeaveCriticalSection(&This->lock); return AUDCLNT_E_UNSUPPORTED_FORMAT; } + attrs[2] = ALC_FREQUENCY; attrs[3] = inputSampleRate; + attrs[4] = ALC_FORMAT_TYPE_SOFT; attrs[5] = al_get_loopback_format(&This->fmt); - attrs[6] = 0; + + /* some games create very many sources */ + attrs[6] = ALC_STEREO_SOURCES; + attrs[7] = 1024; + attrs[8] = ALC_MONO_SOURCES; + attrs[9] = 1024; + + attrs[10] = 0;
if(!attrs[5]){ WARN("OpenAL can't output samples in this format\n");