So yes, we could not block in IWMReader::Stop(), but that's not ultimately going to help anything. We do still need to wait for the streaming thread to stop at some point.
Well we could then call `Stop` and wait for the WMT_STOPPED callback notification with a condition variable, releasing the filter_cs so the callbacks are free to enter it to make the thread-safety obviously correct.