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

This commit is contained in:
Maarten Lankhorst 2010-05-21 21:30:55 +02:00 committed by Alexandre Julliard
parent 3658bf2367
commit f830c544ac
1 changed files with 5 additions and 2 deletions
dlls/quartz

View File

@ -367,9 +367,12 @@ static HRESULT VideoRenderer_Sample(LPVOID iface, IMediaSample * pSample)
if (FAILED(hr)) if (FAILED(hr))
ERR("Cannot get sample time (%x)\n", 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", ERR("Unexpected discontinuity: Last: %u.%03u, tStart: %u.%03u\n",
(DWORD)(This->rtLastStop / 10000000), (DWORD)(This->rtLastStop / 10000000),
(DWORD)((This->rtLastStop / 10000)%1000), (DWORD)((This->rtLastStop / 10000)%1000),