From: Conor McCarthy <cmccarthy(a)codeweavers.com> --- dlls/mf/tests/mf.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c index 69fd051b96a..e8bf7f014b1 100644 --- a/dlls/mf/tests/mf.c +++ b/dlls/mf/tests/mf.c @@ -3113,6 +3113,8 @@ struct test_grabber_callback IMFCollection *samples; HANDLE ready_event; HANDLE done_event; + + BOOL shutdown; }; static struct test_grabber_callback *impl_from_IMFSampleGrabberSinkCallback(IMFSampleGrabberSinkCallback *iface) @@ -3227,6 +3229,8 @@ static HRESULT WINAPI test_grabber_callback_OnProcessSample(IMFSampleGrabberSink static HRESULT WINAPI test_grabber_callback_OnShutdown(IMFSampleGrabberSinkCallback *iface) { + struct test_grabber_callback *grabber = impl_from_IMFSampleGrabberSinkCallback(iface); + grabber->shutdown = TRUE; return S_OK; } @@ -4495,6 +4499,8 @@ static void test_sample_grabber_orientation(GUID subtype) hr = IMFMediaSession_Shutdown(session); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + todo_wine + ok(grabber_callback->shutdown, "Media sink is not shut down.\n"); hr = IMFMediaSource_Shutdown(source); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); hr = IMFActivate_ShutdownObject(sink_activate); @@ -7116,12 +7122,15 @@ static void test_media_session_Start(void) ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); hr = wait_media_event(session, callback, MESessionClosed, 1000, &propvar); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(!grabber_callback->shutdown, "Media sink was shut down.\n"); /* Media session is shut down */ hr = IMFMediaSource_Shutdown(source); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); hr = IMFMediaSession_Shutdown(session); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + todo_wine + ok(grabber_callback->shutdown, "Media sink is not shut down.\n"); propvar.vt = VT_I8; propvar.hVal.QuadPart = 10000000; @@ -7200,8 +7209,11 @@ static void test_media_session_Start(void) ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); hr = wait_media_event(session, callback, MESessionClosed, 1000, &propvar); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(!grabber_callback->shutdown, "Media sink was shut down.\n"); hr = IMFMediaSession_Shutdown(session); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + todo_wine + ok(grabber_callback->shutdown, "Media sink is not shut down.\n"); hr = IMFMediaSource_Shutdown(source); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); @@ -7413,6 +7425,7 @@ static void test_media_session_source_shutdown(void) IMFMediaSource_Release(source); + ok(!grabber_callback->shutdown, "Media sink was shut down.\n"); IMFActivate_ShutdownObject(sink_activate); IMFActivate_Release(sink_activate); IMFSampleGrabberSinkCallback_Release(&grabber_callback->IMFSampleGrabberSinkCallback_iface); @@ -7646,6 +7659,8 @@ static void test_media_session_Close(void) hr = IMFMediaSession_Shutdown(session); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + todo_wine + ok(grabber_callback->shutdown, "Media sink is not shut down.\n"); IMFPresentationClock_Release(presentation_clock); IMFAsyncCallback_Release(callback); @@ -7788,6 +7803,8 @@ static void test_media_session_thinning(void) ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); hr = IMFMediaSession_Shutdown(session); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + todo_wine + ok(grabber_callback->shutdown, "Media sink is not shut down.\n"); hr = IMFMediaSource_Shutdown(source); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9314