quartz: Make acmwrapper respect preroll samples.
This commit is contained in:
parent
d16639d1fa
commit
172347341a
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue