Nikolay Sivov (@nsivov) commented about dlls/mf/session.c:
}
if (session->state == SESSION_STATE_STARTED){struct topo_node *node;LIST_FOR_EACH_ENTRY(node, &session->presentation.nodes, struct topo_node, entry){if (node->type == MF_TOPOLOGY_OUTPUT_NODE)IMFStreamSink_Flush(node->object.sink_stream);else if (node->type == MF_TOPOLOGY_TRANSFORM_NODE)IMFTransform_ProcessMessage(node->object.transform, MFT_MESSAGE_COMMAND_FLUSH, 0);}session_set_source_output_nodes_seeking(session);}
There is a similar block for SESSION_STATE_STOPPING_SOURCES. If we really need to flush on seek, this should go to some helper.