On Thu Nov 23 16:45:20 2023 +0000, Nikolay Sivov wrote:
As a test for this change I would expect a check that original topology was not modified. Is it a problem with bind_output_nodes() is called twice on the same topology? I suspect cloning is hiding something, and it's unclear what it is.
You are right, in Windows the topology node is not modified (apart from creating the StreamSink object and replacing the Activate object), but also in Windows the StreamSink object is not shutdown until calling IMFMediaSession::Shutdown. So I'm wondering if maybe for fixing this correctly we should keep a record of the topologies that have been used in the media session and don't remove them until the session is shutdown, at least that is what I assume from the tests.