Aric Stewart : quartz: Do not report a position unless the filter graph is running or has been paused .

Alexandre Julliard julliard at winehq.org
Mon Feb 6 15:17:56 CST 2012


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

Author: Aric Stewart <aric at codeweavers.com>
Date:   Fri Feb  3 14:24:06 2012 -0600

quartz: Do not report a position unless the filter graph is running or has been paused.

---

 dlls/quartz/filtergraph.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
index 911e68c..683877f 100644
--- a/dlls/quartz/filtergraph.c
+++ b/dlls/quartz/filtergraph.c
@@ -2457,12 +2457,14 @@ static HRESULT WINAPI MediaSeeking_GetCurrentPosition(IMediaSeeking *iface, LONG
     hr = all_renderers_seek(This, FoundCurrentPosition, (DWORD_PTR)pCurrent);
     if (hr == E_NOTIMPL) {
         LONGLONG time = 0;
-        if (This->refClock)
+        if (This->state == State_Running && This->refClock && This->start_time >= 0)
         {
             IReferenceClock_GetTime(This->refClock, &time);
             if (time)
                 time -= This->start_time;
         }
+        if (This->pause_time > 0)
+            time += This->pause_time;
         *pCurrent = time;
         hr = S_OK;
     }




More information about the wine-cvs mailing list