Signed-off-by: Eduard Permyakov epermyakov@codeweavers.com --- dlls/dsound/dsound.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c index 3085d86e5b5..6a94d1a6670 100644 --- a/dlls/dsound/dsound.c +++ b/dlls/dsound/dsound.c @@ -373,7 +373,7 @@ static HRESULT DirectSoundDevice_Initialize(DirectSoundDevice ** ppDevice, LPCGU device->drvcaps.dwPrimaryBuffers = 1; device->drvcaps.dwMinSecondarySampleRate = DSBFREQUENCY_MIN; device->drvcaps.dwMaxSecondarySampleRate = DSBFREQUENCY_MAX; - device->drvcaps.dwMaxHwMixingAllBuffers = 16; + device->drvcaps.dwMaxHwMixingAllBuffers = 1; device->drvcaps.dwMaxHwMixingStaticBuffers = device->drvcaps.dwMaxHwMixingAllBuffers; device->drvcaps.dwMaxHwMixingStreamingBuffers = device->drvcaps.dwMaxHwMixingAllBuffers; device->drvcaps.dwFreeHwMixingAllBuffers = device->drvcaps.dwMaxHwMixingAllBuffers; @@ -435,11 +435,10 @@ static HRESULT DirectSoundDevice_CreateSoundBuffer( }
if (!(dsbd->dwFlags & DSBCAPS_PRIMARYBUFFER) && - dsbd->dwFlags & DSBCAPS_LOCHARDWARE && - device->drvcaps.dwFreeHwMixingAllBuffers == 0) + dsbd->dwFlags & DSBCAPS_LOCHARDWARE) { - WARN("ran out of emulated hardware buffers\n"); - return DSERR_ALLOCATED; + WARN("unable to create hardware buffer\n"); + return DSERR_UNSUPPORTED; }
if (dsbd->dwFlags & DSBCAPS_PRIMARYBUFFER) {
On Thu, Oct 21, 2021 at 12:55:44PM +0300, Eduard Permyakov wrote:
Signed-off-by: Eduard Permyakov epermyakov@codeweavers.com
dlls/dsound/dsound.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c index 3085d86e5b5..6a94d1a6670 100644 --- a/dlls/dsound/dsound.c +++ b/dlls/dsound/dsound.c @@ -373,7 +373,7 @@ static HRESULT DirectSoundDevice_Initialize(DirectSoundDevice ** ppDevice, LPCGU device->drvcaps.dwPrimaryBuffers = 1; device->drvcaps.dwMinSecondarySampleRate = DSBFREQUENCY_MIN; device->drvcaps.dwMaxSecondarySampleRate = DSBFREQUENCY_MAX;
- device->drvcaps.dwMaxHwMixingAllBuffers = 16;
- device->drvcaps.dwMaxHwMixingAllBuffers = 1; device->drvcaps.dwMaxHwMixingStaticBuffers = device->drvcaps.dwMaxHwMixingAllBuffers; device->drvcaps.dwMaxHwMixingStreamingBuffers = device->drvcaps.dwMaxHwMixingAllBuffers; device->drvcaps.dwFreeHwMixingAllBuffers = device->drvcaps.dwMaxHwMixingAllBuffers;
On my Win10 VM, the dwFreeHwMixing*Buffers values are all zero. I think we'll want to match that.
I ran it through my test applications with no problems, so looks good other than that.
Andrew