dsound: Fixup DSOUND_WaveQueue checks.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Maarten Lankhorst 2016-05-16 09:55:26 -05:00 committed by Alexandre Julliard
parent 238a462d2b
commit a330b01143
1 changed files with 6 additions and 4 deletions

View File

@ -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;
}