From 909bfa975f4ee5914107c742d6bbe38fdc4fc709 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Fri, 18 Apr 2008 22:04:55 -0700 Subject: [PATCH] quartz: Only drop Preroll samples after registering the time --- dlls/quartz/dsoundrender.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dlls/quartz/dsoundrender.c b/dlls/quartz/dsoundrender.c index 963ec16..9bcb417 100644 --- a/dlls/quartz/dsoundrender.c +++ b/dlls/quartz/dsoundrender.c @@ -245,12 +245,6 @@ static HRESULT DSoundRender_Sample(LPVOID iface, IMediaSample * pSample) * pause completion here, but for sound playing a single frame doesn't make sense */ - if (IMediaSample_IsPreroll(pSample) == S_OK) - { - TRACE("Preroll!\n"); - return S_OK; - } - if (This->state == State_Paused) return S_FALSE; @@ -272,6 +266,12 @@ static HRESULT DSoundRender_Sample(LPVOID iface, IMediaSample * pSample) FIXME("Unexpected discontinuity: Last: %lld, tStart: %lld\n", This->rtLastStop, tStart); This->rtLastStop = tStop; + if (IMediaSample_IsPreroll(pSample) == S_OK) + { + TRACE("Preroll!\n"); + return S_OK; + } + cbSrcStream = IMediaSample_GetActualDataLength(pSample); TRACE("Sample data ptr = %p, size = %ld\n", pbSrcStream, cbSrcStream); -- 1.5.4.1