From: Akihiro Sagawa <sagawa.aki@gmail.com> Otherwise, WaitForCompletion method doesn't block and returns immediately after seeking. --- dlls/quartz/filtergraph.c | 1 + dlls/quartz/tests/filtergraph.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c index 17e5bb1c5b3..1fd82ca6be6 100644 --- a/dlls/quartz/filtergraph.c +++ b/dlls/quartz/filtergraph.c @@ -1791,6 +1791,7 @@ static HRESULT graph_start(struct filter_graph *graph, REFERENCE_TIME stream_sta } if (list_empty(&graph->media_events)) ResetEvent(graph->media_event_handle); + ResetEvent(graph->hEventCompletion); if (graph->defaultclock && !graph->refClock) IFilterGraph2_SetDefaultSyncSource(&graph->IFilterGraph2_iface); diff --git a/dlls/quartz/tests/filtergraph.c b/dlls/quartz/tests/filtergraph.c index 5d5757176c1..921ab639f44 100644 --- a/dlls/quartz/tests/filtergraph.c +++ b/dlls/quartz/tests/filtergraph.c @@ -6039,7 +6039,7 @@ static void test_event_completion(void) ok(SUCCEEDED(hr), "Got hr %#lx.\n", hr); hr = IMediaEvent_WaitForCompletion(event, 0, &code); - todo_wine ok(hr == E_ABORT, "Got hr %#lx.\n", hr); + ok(hr == E_ABORT, "Got hr %#lx.\n", hr); hr = IMediaControl_Pause(control); ok(SUCCEEDED(hr), "Got hr %#lx.\n", hr); @@ -6051,7 +6051,7 @@ static void test_event_completion(void) ok(SUCCEEDED(hr), "Got hr %#lx.\n", hr); hr = IMediaEvent_WaitForCompletion(event, 0, &code); - todo_wine ok(hr == E_ABORT, "Got hr %#lx.\n", hr); + ok(hr == E_ABORT, "Got hr %#lx.\n", hr); IMediaEvent_Release(event); IMediaSeeking_Release(seeking); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10458