Maarten Lankhorst : quartz: Make acmwrapper respect preroll samples.

Alexandre Julliard julliard at winehq.org
Mon Apr 21 07:46:35 CDT 2008


Module: wine
Branch: master
Commit: 172347341ae4b9e23704b7cb3f6888b9f84452cc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=172347341ae4b9e23704b7cb3f6888b9f84452cc

Author: Maarten Lankhorst <m.b.lankhorst at 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);




More information about the wine-cvs mailing list