Some games (such as Digimon Survive) create temporary video files and will hang if deleting them fails. Open the files with FILE_SHARE_DELETE, which will allow this deletion to go ahead even if the FileSource hasn't yet been closed.
Note that many windows codec packs do themselves open files without FILE_SHARE_DELETE, so a similar hang can be observed in some windows configurations.
I haven't checked that this is the file share mode used on windows (alas, I don't have a windows machine available), so I haven't removed the FIXME comment. Equally, I also updated the CreateFileW() call in get_media_type(), but that _may_ be unnecessary.
I've added a basic test, but haven't had the opportunity to run it on Windows yet.
Otherwise, this patch is also available against Proton Experimental here: https://github.com/ValveSoftware/wine/pull/156
It also has been confirmed to fix the issue with Digimon Survive independently: https://github.com/ValveSoftware/Proton/issues/6041#issuecomment-1200486581