Brendan McGrath : mf: Handle MediaSession Close when state is SESSION_STATE_RESTARTING_SOURCES.
Module: wine Branch: master Commit: 02ca366b5a061bacc1581aeb1c4fd7912f827fd5 URL: https://gitlab.winehq.org/wine/wine/-/commit/02ca366b5a061bacc1581aeb1c4fd79... Author: Brendan McGrath <bmcgrath(a)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);
participants (1)
-
Alexandre Julliard