From f830c544acf9ca11e2bf3fa57fed5844973f272e Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Fri, 21 May 2010 21:30:55 +0200 Subject: [PATCH] quartz: Accept tiny discontinuities in video renderer without printing out an error. --- dlls/quartz/videorenderer.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c index 268373f1888..0af8cc6a75d 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), -- 2.11.4.GIT