quartz: No longer drop packets on discontinuities.
This commit is contained in:
parent
0458c08b95
commit
fb2c975a8f
@ -118,11 +118,14 @@ static HRESULT ACMWrapper_ProcessSampleData(TransformFilterImpl* pTransformFilte
|
|||||||
unprepare_header = TRUE;
|
unprepare_header = TRUE;
|
||||||
|
|
||||||
if (IMediaSample_IsDiscontinuity(pSample) == S_OK)
|
if (IMediaSample_IsDiscontinuity(pSample) == S_OK)
|
||||||
|
{
|
||||||
res = acmStreamConvert(This->has, &ash, ACM_STREAMCONVERTF_START);
|
res = acmStreamConvert(This->has, &ash, ACM_STREAMCONVERTF_START);
|
||||||
|
/* One sample could be converted to multiple packets */
|
||||||
|
IMediaSample_SetDiscontinuity(pSample, FALSE);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
res = acmStreamConvert(This->has, &ash, 0);
|
res = acmStreamConvert(This->has, &ash, 0);
|
||||||
|
|
||||||
|
|
||||||
if (res)
|
if (res)
|
||||||
{
|
{
|
||||||
if(res != MMSYSERR_MOREDATA)
|
if(res != MMSYSERR_MOREDATA)
|
||||||
@ -162,10 +165,7 @@ static HRESULT ACMWrapper_ProcessSampleData(TransformFilterImpl* pTransformFilte
|
|||||||
}
|
}
|
||||||
TRACE("Sample stop time: %u.%03u\n", (DWORD)(tStart/10000000), (DWORD)((tStart/10000)%1000));
|
TRACE("Sample stop time: %u.%03u\n", (DWORD)(tStart/10000000), (DWORD)((tStart/10000)%1000));
|
||||||
|
|
||||||
if (IMediaSample_IsDiscontinuity(pSample) == S_FALSE)
|
hr = OutputPin_SendSample((OutputPin*)This->tf.ppPins[1], pOutSample);
|
||||||
hr = OutputPin_SendSample((OutputPin*)This->tf.ppPins[1], pOutSample);
|
|
||||||
else
|
|
||||||
TRACE("Skipping first sample: Discontinuity\n");
|
|
||||||
|
|
||||||
if (hr != S_OK && hr != VFW_E_NOT_CONNECTED) {
|
if (hr != S_OK && hr != VFW_E_NOT_CONNECTED) {
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user