From 753ca3da251e6a352e847bd090a9c0123480ac76 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Fri, 18 Apr 2008 16:13:25 -0700 Subject: [PATCH] quartz: No longer drop packets on discontinuity in acmwrapper --- dlls/quartz/acmwrapper.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dlls/quartz/acmwrapper.c b/dlls/quartz/acmwrapper.c index 4d42980..8df37ef 100644 --- a/dlls/quartz/acmwrapper.c +++ b/dlls/quartz/acmwrapper.c @@ -118,11 +118,14 @@ static HRESULT ACMWrapper_ProcessSampleData(TransformFilterImpl* pTransformFilte unprepare_header = TRUE; if (IMediaSample_IsDiscontinuity(pSample) == S_OK) + { res = acmStreamConvert(This->has, &ash, ACM_STREAMCONVERTF_START); + /* One sample could be converted to multiple packets */ + IMediaSample_SetDiscontinuity(pSample, FALSE); + } else res = acmStreamConvert(This->has, &ash, 0); - if (res) { 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)); - if (IMediaSample_IsDiscontinuity(pSample) == S_FALSE) - hr = OutputPin_SendSample((OutputPin*)This->tf.ppPins[1], pOutSample); - else - TRACE("Skipping first sample: Discontinuity\n"); + hr = OutputPin_SendSample((OutputPin*)This->tf.ppPins[1], pOutSample); if (hr != S_OK && hr != VFW_E_NOT_CONNECTED) { if (FAILED(hr)) -- 1.5.4.1