From: Maarten Lankhorst Date: Fri, 21 May 2010 19:30:55 +0000 (+0200) Subject: quartz: Accept tiny discontinuities in video renderer without printing out an error. X-Git-Tag: wine-1.3.0~136 X-Git-Url: http://git.etersoft.ru/projects/?a=commitdiff_plain;h=f830c544acf9ca11e2bf3fa57fed5844973f272e;p=wine%2Feterwine.git quartz: Accept tiny discontinuities in video renderer without printing out an error. --- diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c index 268373f188..0af8cc6a75 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),