Module: wine Branch: master Commit: 02ca366b5a061bacc1581aeb1c4fd7912f827fd5 URL: https://gitlab.winehq.org/wine/wine/-/commit/02ca366b5a061bacc1581aeb1c4fd79...
Author: Brendan McGrath bmcgrath@codeweavers.com Date: Mon May 6 17:17:05 2024 +1000
mf: Handle MediaSession Close when state is SESSION_STATE_RESTARTING_SOURCES.
Fixes the missing MESessionClosed event in this scenario.
---
dlls/mf/session.c | 1 + dlls/mf/tests/mf.c | 1 - 2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/mf/session.c b/dlls/mf/session.c index 865399488ae..99e7b0872fb 100644 --- a/dlls/mf/session.c +++ b/dlls/mf/session.c @@ -1274,6 +1274,7 @@ static void session_close(struct media_session *session) switch (session->state) { case SESSION_STATE_STOPPED: + case SESSION_STATE_RESTARTING_SOURCES: hr = session_finalize_sinks(session); break; case SESSION_STATE_STARTED: diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c index 4773f202ccc..483a8753f85 100644 --- a/dlls/mf/tests/mf.c +++ b/dlls/mf/tests/mf.c @@ -6334,7 +6334,6 @@ static void test_media_session_Start(void) hr = IMFMediaSession_Close(session); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); hr = wait_media_event(session, callback, MESessionClosed, 1000, &propvar); - todo_wine ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); hr = IMFMediaSession_Shutdown(session); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);