Maarten Lankhorst : quartz: Only drop Preroll samples after obtaining its time.

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


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

Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date:   Fri Apr 18 22:04:55 2008 -0700

quartz: Only drop Preroll samples after obtaining its time.

---

 dlls/quartz/dsoundrender.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/dlls/quartz/dsoundrender.c b/dlls/quartz/dsoundrender.c
index 963ec16..9bcb417 100644
--- a/dlls/quartz/dsoundrender.c
+++ b/dlls/quartz/dsoundrender.c
@@ -245,12 +245,6 @@ static HRESULT DSoundRender_Sample(LPVOID iface, IMediaSample * pSample)
      * pause completion here, but for sound playing a single frame doesn't make sense
      */
 
-    if (IMediaSample_IsPreroll(pSample) == S_OK)
-    {
-        TRACE("Preroll!\n");
-        return S_OK;
-    }
-
     if (This->state == State_Paused)
         return S_FALSE;
 
@@ -272,6 +266,12 @@ static HRESULT DSoundRender_Sample(LPVOID iface, IMediaSample * pSample)
         FIXME("Unexpected discontinuity: Last: %lld, tStart: %lld\n", This->rtLastStop, tStart);
     This->rtLastStop = tStop;
 
+    if (IMediaSample_IsPreroll(pSample) == S_OK)
+    {
+        TRACE("Preroll!\n");
+        return S_OK;
+    }
+
     cbSrcStream = IMediaSample_GetActualDataLength(pSample);
     TRACE("Sample data ptr = %p, size = %ld\n", pbSrcStream, cbSrcStream);
 




More information about the wine-cvs mailing list