From: Conor McCarthy cmccarthy@codeweavers.com
As per tests in test_sample_grabber(), shutting down the activate object does not shut down the media sink. --- dlls/mf/session.c | 2 +- dlls/mf/tests/mf.c | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/dlls/mf/session.c b/dlls/mf/session.c index abc77d9f143..12eafdbe73e 100644 --- a/dlls/mf/session.c +++ b/dlls/mf/session.c @@ -853,7 +853,7 @@ static void session_shutdown_current_topology(struct media_session *session) WARN("Failed to shut down activation object for the sink, hr %#lx.\n", hr); IMFActivate_Release(activate); } - else if (SUCCEEDED(topology_node_get_object(node, &IID_IMFStreamSink, (void **)&stream_sink))) + if (SUCCEEDED(topology_node_get_object(node, &IID_IMFStreamSink, (void **)&stream_sink))) { if (SUCCEEDED(IMFStreamSink_GetMediaSink(stream_sink, &sink))) { diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c index 0bb381e27d0..3b75ef00fea 100644 --- a/dlls/mf/tests/mf.c +++ b/dlls/mf/tests/mf.c @@ -6969,7 +6969,6 @@ static void test_media_session_Start(void) /* sometimes briefly leaking */ Sleep(20); ref = IMFMediaSession_Release(session); - todo_wine ok(!ref, "Unexpected refcount %ld.\n", ref);
IMFPresentationClock_Release(presentation_clock); @@ -7303,7 +7302,6 @@ done: /* sometimes briefly leaking */ Sleep(20); ref = IMFMediaSession_Release(session); - todo_wine ok(!ref, "Unexpected refcount %ld.\n", ref);
IMFMediaSource_Release(source); @@ -7500,7 +7498,6 @@ static void test_media_session_Close(void) /* sometimes briefly leaking */ Sleep(20); ref = IMFMediaSession_Release(session); - todo_wine ok(!ref, "Unexpected refcount %ld.\n", ref);
IMFPresentationClock_Release(presentation_clock);