First we don't currently shut down sinks the same way Windows does.
From my observations, Windows calls `MediaSink::Shutdown` in `MediaSession::Shutdown`, and doesn't call `ShutdownObject`; and it doesn't shutdown sinks at all when changing/clearing topologies. Does that match what you know? Is that what you suggest we do?
On Windows, blocking in OnProcessSample() does not prevent shut down sequence.
That would suggest `OnProcessSample` is called on a different thread, wouldn't it? And that doesn't say anything about locking.