From c8de63a0f79a3d7f94cc954cc2a5d61dc7791e9d Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Fri, 18 Apr 2008 16:07:05 -0700 Subject: [PATCH] quartz: Make acmwrapper respect preroll --- dlls/quartz/acmwrapper.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/dlls/quartz/acmwrapper.c b/dlls/quartz/acmwrapper.c index 35e154c..4d42980 100644 --- a/dlls/quartz/acmwrapper.c +++ b/dlls/quartz/acmwrapper.c @@ -58,7 +58,7 @@ static HRESULT ACMWrapper_ProcessSampleData(TransformFilterImpl* pTransformFilte LPBYTE pbDstStream; LPBYTE pbSrcStream = NULL; ACMSTREAMHEADER ash; - BOOL unprepare_header = FALSE; + BOOL unprepare_header = FALSE, preroll; MMRESULT res; HRESULT hr; LONGLONG tStart = -1, tStop = -1, tMed; @@ -70,6 +70,8 @@ static HRESULT ACMWrapper_ProcessSampleData(TransformFilterImpl* pTransformFilte return hr; } + preroll = (IMediaSample_IsPreroll(pSample) == S_OK); + IMediaSample_GetTime(pSample, &tStart, &tStop); cbSrcStream = IMediaSample_GetActualDataLength(pSample); @@ -91,6 +93,7 @@ static HRESULT ACMWrapper_ProcessSampleData(TransformFilterImpl* pTransformFilte ERR("Unable to get delivery buffer (%x)\n", hr); return hr; } + IMediaSample_SetPreroll(pOutSample, preroll); hr = IMediaSample_SetActualDataLength(pOutSample, 0); assert(hr == S_OK); -- 1.5.4.1