Fwiw although it's probably a valid approach I think this can be solved differently, using some async MFT wrapper like I'm proposing in https://gitlab.winehq.org/wine/wine/-/merge_requests/3139. The async wrapper will be required to avoid stalling the pipeline with decoder MFT and heavy decoding work, like large videos.