From e6eea61231abda0b999819846021d44f59149f2e Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Mon, 23 Mar 2015 09:14:33 +0100 Subject: [PATCH] dsound: fixup DSOUND_WaveQueue checks If you're going to be silly, you should go all the way. :P --- dlls/dsound/mixer.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c index 59ee21db9dc..c7636507277 100644 --- a/dlls/dsound/mixer.c +++ b/dlls/dsound/mixer.c @@ -621,16 +621,18 @@ static void DSOUND_WaveQueue(DirectSoundDevice *device, LPBYTE pos, DWORD bytes) hr = IAudioRenderClient_GetBuffer(device->render, bytes / device->pwfx->nBlockAlign, &buffer); if(FAILED(hr)){ WARN("GetBuffer failed: %08x\n", hr); - goto done; + return; } memcpy(buffer, pos, bytes); hr = IAudioRenderClient_ReleaseBuffer(device->render, bytes / device->pwfx->nBlockAlign, 0); - if(FAILED(hr)) - WARN("ReleaseBuffer failed: %08x\n", hr); + if(FAILED(hr)) { + ERR("ReleaseBuffer failed: %08x\n", hr); + IAudioRenderClient_ReleaseBuffer(device->render, 0, 0); + return; + } -done: device->pad += bytes; } -- 2.11.4.GIT