Maybe I can write a test to confirm.
Well, I couldn't find a way to get an `IMFMediaSource` for the HLS format, but I did come up with a test using MP4:
https://gitlab.winehq.org/redmcg/wine/-/merge_requests/4
The test works by artificially delaying/preventing the read of the entire file. The MP4 file used in this test has the metadata at the start of the file (it is usually at the end). The test then allows no more than the first 512KB of the file to be read (I had to use 512KB as our caching in `wg_parser.c` expects to read that much and doesn't handle truncated reads).
The test then just requests samples from a single stream until it is exhausted (the test assumes a stream is exhausted when it doesn't receive a requested sample within 5 seconds).
With this sample request still outstanding, the test then tries other requests on the media source, such as requesting a sample from the other stream, or calling `IMFMediaSource::Stop`. On Windows, the new request is handled in less than a second. On Wine, it waits until the current sample request is complete (thus the tests fail and are marked `todo_wine`).
I found that this MR fixes all the `todo_wine`s but for `the `IMFMediaSource::Shutdown`. See: