Module: wine Branch: master Commit: 172347341ae4b9e23704b7cb3f6888b9f84452cc URL: http://source.winehq.org/git/wine.git/?a=commit;h=172347341ae4b9e23704b7cb3f... Author: Maarten Lankhorst <m.b.lankhorst(a)gmail.com> Date: Fri Apr 18 16:07:05 2008 -0700 quartz: Make acmwrapper respect preroll samples. --- 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);