https://bugs.winehq.org/show_bug.cgi?id=40179
--- Comment #4 from Andrew Eikum aeikum@codeweavers.com --- I've added a new ARGB filter to winegstreamer. Unfortunately, this commit:
commit 46d5973961fe2266074ac2855368c3fcf987c1b5 Author: Akihiro Sagawa sagawa.aki@gmail.com Date: Fri May 8 00:37:21 2015 +0900
mciqtz32: Guarantee that CoInitialize and CoUninitialize run on the same thread.
causes a deadlock. Since that commit, the main thread spawns a new thread to handle the MCI_OPEN command. The new thread eventually calls SetParent, setting the parent of the videorenderer window to a window owned by the main thread which called MCI_OPEN. Since the main thread is blocked waiting on the newly created thread to finish, this deadlocks since the messages from SetParent to the main thread never get handled.
One solution is to handle the MCI_OPEN command on the main thread, so the SetParent occurs on the main thread and doesn't deadlock. But that seems to break what Akihiro was fixing in the first place. Still looking into it...