Module: wine Branch: master Commit: a65d0e1fe7e86ec4b142894c0b9d6378af089668 URL: https://gitlab.winehq.org/wine/wine/-/commit/a65d0e1fe7e86ec4b142894c0b9d637...
Author: Santino Mazza smazza@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) {