Module: wine Branch: master Commit: be90732e5e9658882a4b0d19d5eaac7f473dd03f URL: http://source.winehq.org/git/wine.git/?a=commit;h=be90732e5e9658882a4b0d19d5...
Author: Jörg Höhle hoehle@users.sourceforge.net Date: Wed Jan 11 23:13:23 2012 +0100
winealsa: Reset accounts for dropped frames in capture mode.
---
dlls/winealsa.drv/mmdevdrv.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index 55035bd..e791feb 100644 --- a/dlls/winealsa.drv/mmdevdrv.c +++ b/dlls/winealsa.drv/mmdevdrv.c @@ -1776,9 +1776,13 @@ static HRESULT WINAPI AudioClient_Reset(IAudioClient *iface) if(snd_pcm_prepare(This->pcm_handle) < 0) WARN("snd_pcm_prepare failed\n");
- This->last_pos_frames = 0; + if(This->dataflow == eRender){ + This->written_frames = 0; + This->last_pos_frames = 0; + }else{ + This->written_frames += This->held_frames; + } This->held_frames = 0; - This->written_frames = 0; This->lcl_offs_frames = 0;
LeaveCriticalSection(&This->lock);