Module: wine Branch: master Commit: 82129d7ad8a11875e5ed21fadc79444e86db5075 URL: http://source.winehq.org/git/wine.git/?a=commit;h=82129d7ad8a11875e5ed21fadc...
Author: Maarten Lankhorst m.b.lankhorst@gmail.com Date: Mon Nov 29 10:44:15 2010 +0100
strmbase: Fix qos.
---
dlls/strmbase/qualitycontrol.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/dlls/strmbase/qualitycontrol.c b/dlls/strmbase/qualitycontrol.c index 2492c3d..ad6d942 100644 --- a/dlls/strmbase/qualitycontrol.c +++ b/dlls/strmbase/qualitycontrol.c @@ -157,7 +157,7 @@ HRESULT QualityControlRender_WaitFor(QualityControlImpl *This, IMediaSample *sam IReferenceClock_Unadvise(This->clock, cookie); } else #endif - if (jitter < 0) { + if (jitter < -10000) { TRACE("Sleeping for %i ms\n", (int)-jitter/10000); WaitForSingleObject(ev, -jitter/10000); } @@ -183,7 +183,7 @@ void QualityControlRender_DoQOS(QualityControlImpl *priv) REFERENCE_TIME start, stop, jitter, pt, entered, left, duration; double rate;
- if (!priv->clock) + if (!priv->clock || priv->current_rstart < 0) return;
start = priv->current_rstart; @@ -275,10 +275,10 @@ void QualityControlRender_DoQOS(QualityControlImpl *priv) priv->current_jitter += (priv->current_rstop - priv->current_rstart); q.Type = (jitter > 0 ? Famine : Flood); q.Proportion = (LONG)(1000. / priv->avg_rate); - if (q.Proportion < 500) - q.Proportion = 500; - else if (q.Proportion > 2000) - q.Proportion = 2000; + if (q.Proportion < 200) + q.Proportion = 200; + else if (q.Proportion > 5000) + q.Proportion = 5000; q.Late = priv->current_jitter; q.TimeStamp = priv->current_rstart; TRACE("Late: %i from %i, rate: %g\n", (int)(q.Late/10000), (int)(q.TimeStamp/10000), 1./priv->avg_rate);