=?UTF-8?Q?J=C3=B6rg=20H=C3=B6hle=20?=: winmm: Separate WINMM_Pause and WINMM_Reset.
Alexandre Julliard
julliard at winehq.org
Mon Sep 26 16:15:12 CDT 2011
Module: wine
Branch: master
Commit: afa5751015b71371954ee7b6593ab16710a34126
URL: http://source.winehq.org/git/wine.git/?a=commit;h=afa5751015b71371954ee7b6593ab16710a34126
Author: Jörg Höhle <hoehle at users.sourceforge.net>
Date: Thu Sep 22 20:36:31 2011 +0200
winmm: Separate WINMM_Pause and WINMM_Reset.
---
dlls/winmm/waveform.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/dlls/winmm/waveform.c b/dlls/winmm/waveform.c
index 8567352..1593047 100644
--- a/dlls/winmm/waveform.c
+++ b/dlls/winmm/waveform.c
@@ -1671,17 +1671,18 @@ static LRESULT WINMM_Reset(HWAVE hwave)
WINMM_CBInfo cb_info;
WINMM_Device *device = WINMM_GetDeviceFromHWAVE(hwave);
WAVEHDR *first;
- MMRESULT mr;
+ HRESULT hr;
TRACE("(%p)\n", hwave);
if(!WINMM_ValidateAndLock(device))
return MMSYSERR_INVALHANDLE;
- mr = WINMM_Pause(hwave);
- if(mr != MMSYSERR_NOERROR){
+ hr = IAudioClient_Stop(device->client);
+ if(FAILED(hr)){
LeaveCriticalSection(&device->lock);
- return mr;
+ ERR("Stop failed: %08x\n", hr);
+ return MMSYSERR_ERROR;
}
device->stopped = TRUE;
@@ -1694,6 +1695,7 @@ static LRESULT WINMM_Reset(HWAVE hwave)
device->played_frames = 0;
device->loop_counter = 0;
device->last_clock_pos = 0;
+ IAudioClient_Reset(device->client);
cb_info = device->cb_info;
More information about the wine-cvs
mailing list