quartz: Make acmwrapper respect preroll samples.

This commit is contained in:
Maarten Lankhorst 2008-04-18 16:07:05 -07:00 committed by Alexandre Julliard
parent d16639d1fa
commit 172347341a
1 changed files with 4 additions and 1 deletions

View File

@ -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);