Module: wine Branch: master Commit: afa5751015b71371954ee7b6593ab16710a34126 URL: http://source.winehq.org/git/wine.git/?a=commit;h=afa5751015b71371954ee7b659...
Author: Jörg Höhle hoehle@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;