Module: wine
Branch: master
Commit: a65d0e1fe7e86ec4b142894c0b9d6378af089668
URL: https://gitlab.winehq.org/wine/wine/-/commit/a65d0e1fe7e86ec4b142894c0b9d63…
Author: Santino Mazza <smazza(a)codeweavers.com>
Date: Tue May 2 18:32:18 2023 -0300
mf/session: Reset presentation flags when session_clear_presentation is called.
This prevents hangs when a program sets a new topology after stopping the current
topology, because if we don't reset the flags to 0 the session will not subscribe
to the events of the new topology sources.
---
dlls/mf/session.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/dlls/mf/session.c b/dlls/mf/session.c
index 7d6a65d3f55..8b29c8487fb 100644
--- a/dlls/mf/session.c
+++ b/dlls/mf/session.c
@@ -800,6 +800,7 @@ static void session_clear_presentation(struct media_session *session)
IMFTopology_Clear(session->presentation.current_topology);
session->presentation.topo_status = MF_TOPOSTATUS_INVALID;
+ session->presentation.flags = 0;
LIST_FOR_EACH_ENTRY_SAFE(source, source2, &session->presentation.sources, struct media_source, entry)
{