[PATCH 6/8] quartz: Always apply the 200 ms delay to presentation time.

Zebediah Figura z.figura12 at gmail.com
Tue Jul 14 19:56:24 CDT 2020


This matches native (actually, native goes one step further and increases the
delay by 100 ms every time the filter is paused). Generally this makes sense,
too, as otherwise a graph that is paused and then resumed will suddenly find
itself 200 ms behind.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/quartz/filtergraph.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
index ff0f159c131..7319345931e 100644
--- a/dlls/quartz/filtergraph.c
+++ b/dlls/quartz/filtergraph.c
@@ -4902,8 +4902,9 @@ static HRESULT WINAPI MediaFilter_Run(IMediaFilter *iface, REFERENCE_TIME start)
     {
         IReferenceClock_GetTime(graph->refClock, &graph->stream_start);
         stream_start = graph->stream_start - graph->stream_elapsed;
-        if (graph->state == State_Stopped)
-            stream_start += 200 * 10000;
+        /* Delay presentation time by 200 ms, to give filters time to
+         * initialize. */
+        stream_start += 200 * 10000;
     }
 
     LIST_FOR_EACH_ENTRY(filter, &graph->filters, struct filter, entry)
-- 
2.27.0




More information about the wine-devel mailing list