Rémi Bernon (@rbernon) commented about dlls/mf/session.c:
}
+static void session_purge_pending_commands(struct media_session *session) +{
- struct session_op *op, *op2;
- /* Purge all commands which are no longer valid after a forced source shutdown.
* Calling Stop() in this case is not required in native Windows. */
- LIST_FOR_EACH_ENTRY_SAFE(op, op2, &session->commands, struct session_op, entry)
- {
if (op->command == SESSION_CMD_CLEAR_TOPOLOGIES || op->command == SESSION_CMD_SET_TOPOLOGY
|| op->command == SESSION_CMD_CLOSE || op->command == SESSION_CMD_SHUTDOWN)
continue;
list_remove(&op->entry);
IUnknown_Release(&op->IUnknown_iface);
- }
Should we only purge the commands for the current source? Maybe break on SET_TOPOLOGY?