Maarten Lankhorst : quartz: Accept tiny discontinuities in video renderer without printing out an error .

Alexandre Julliard julliard at winehq.org
Wed Jul 28 10:45:05 CDT 2010


Module: wine
Branch: master
Commit: f830c544acf9ca11e2bf3fa57fed5844973f272e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f830c544acf9ca11e2bf3fa57fed5844973f272e

Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date:   Fri May 21 21:30:55 2010 +0200

quartz: Accept tiny discontinuities in video renderer without printing out an error.

---

 dlls/quartz/videorenderer.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c
index 268373f..0af8cc6 100644
--- a/dlls/quartz/videorenderer.c
+++ b/dlls/quartz/videorenderer.c
@@ -367,9 +367,12 @@ static HRESULT VideoRenderer_Sample(LPVOID iface, IMediaSample * pSample)
     if (FAILED(hr))
         ERR("Cannot get sample time (%x)\n", hr);
 
-    if (This->rtLastStop != tStart)
+    if (This->rtLastStop != tStart && This->state == State_Running)
     {
-        if (IMediaSample_IsDiscontinuity(pSample) == S_FALSE)
+        LONG64 delta;
+        delta = tStart - This->rtLastStop;
+        if ((delta < -100000 || delta > 100000) &&
+            IMediaSample_IsDiscontinuity(pSample) == S_FALSE)
             ERR("Unexpected discontinuity: Last: %u.%03u, tStart: %u.%03u\n",
                 (DWORD)(This->rtLastStop / 10000000),
                 (DWORD)((This->rtLastStop / 10000)%1000),




More information about the wine-cvs mailing list