On Mon May 5 22:39:51 2025 +0000, Elizabeth Figura wrote:
Yeah. It's not quite obvious that this is actually the right thing to do (native doesn't always do the sensible thing), but a manual test bears it out, as attached. It could be made into an automatic test, but it's timing-dependent enough that I'm hesitant to do so.
Meh, I forgot to actually attach the test:
``` diff --git a/dlls/quartz/tests/filtergraph.c b/dlls/quartz/tests/filtergraph.c index df1f02cfd00..cf3a86c0c2e 100644 --- a/dlls/quartz/tests/filtergraph.c +++ b/dlls/quartz/tests/filtergraph.c @@ -5151,9 +5151,11 @@ static void test_graph_seeking(void) hr = IMediaControl_Run(control); ok(hr == S_OK, "Got hr %#lx.\n", hr);
+Sleep(6000); hr = IMediaSeeking_GetCurrentPosition(seeking, &time); ok(hr == S_OK, "Got hr %#lx.\n", hr); ok(time < 5000 * 10000, "Got time %s.\n", wine_dbgstr_longlong(time)); + trace("%I64d\n", time);
hr = IMediaEventSink_Notify(eventsink, EC_COMPLETE, S_OK, (LONG_PTR)&filter1.IBaseFilter_iface); ok(hr == S_OK, "Got hr %#lx.\n", hr); ```