What I suspect happens is that winegstreamer is using a single thread pool for its queue. You can check if replacing it with e.g. MFAllocateWorkQueueEx(MF_MULTITHREADED_WORKQUEUE) gives the same result.
That's right, it sets up the queue with `MFAllocateWorkQueue` which calls `RtwqAllocateWorkQueue` with `RTWQ_STANDARD_WORKQUEUE` (which is min and max of 1 thread).
I just tried modifying it to use `MF_MULTITHREADED_WORKQUEUE` and got following assertion failure: ``` ../src-wine/dlls/winegstreamer/wg_parser.c:412: wg_parser_stream_release_buffer: Assertion `stream->buffer' failed. ```
I suspect we don't do well with two threads in one stream (although we could probably fix that with a per stream CS/mutex). But otherwise I suspect it would produce the same result.