Module: wine Branch: master Commit: 6e69cd4df4e8bc3794271ad5004a59c2c1158f83 URL: http://source.winehq.org/git/wine.git/?a=commit;h=6e69cd4df4e8bc3794271ad500...
Author: Maarten Lankhorst m.b.lankhorst@gmail.com Date: Wed Dec 1 13:14:58 2010 +0100
quartz: Increase min_lag.
The max_lag variable determines how much fuzz is allowed between the sound cursor and the scheduled times, some filters are inaccurate wrt time and would skip and overwrite data otherwise.
---
dlls/quartz/dsoundrender.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/quartz/dsoundrender.c b/dlls/quartz/dsoundrender.c index fcc25e7..c0591ba 100644 --- a/dlls/quartz/dsoundrender.c +++ b/dlls/quartz/dsoundrender.c @@ -141,7 +141,7 @@ static HRESULT DSoundRender_GetWritePos(DSoundRenderImpl *This, DWORD *ret_write WAVEFORMATEX *wfx = (WAVEFORMATEX*)This->pInputPin->pin.mtCurrent.pbFormat; DWORD writepos, min_writepos, playpos; REFERENCE_TIME max_lag = 50 * 10000; - REFERENCE_TIME min_lag = 1 * 10000; + REFERENCE_TIME min_lag = 25 * 10000; REFERENCE_TIME cur, writepos_t, delta_t;
DSoundRender_UpdatePositions(This, &writepos, &min_writepos); @@ -157,7 +157,7 @@ static HRESULT DSoundRender_GetWritePos(DSoundRenderImpl *This, DWORD *ret_write cur = -1;
if (writepos == min_writepos) - max_lag = min_lag; + max_lag = 0;
*skip = 0; if (cur < 0 || write_at < 0) {