[PATCH 2/5] quartz: Increase min_lag

Maarten Lankhorst m.b.lankhorst at gmail.com
Wed Dec 1 06:14:58 CST 2010


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) {
-- 
1.7.1




More information about the wine-patches mailing list