Rémi Bernon (@rbernon) commented about dlls/mf/topology.c:
if (handler->transform) { if (handler->output) - return IMFTransform_SetOutputType(handler->transform, handler->stream, in_type, MFT_SET_TYPE_TEST_ONLY); + return IMFTransform_SetOutputType(handler->transform, handler->stream, in_type, 0); else - return IMFTransform_SetInputType(handler->transform, handler->stream, in_type, MFT_SET_TYPE_TEST_ONLY); + return IMFTransform_SetInputType(handler->transform, handler->stream, in_type, 0);
Are we sure about that? Do we really want to match this behavior? This looks a bit unfortunate and potentially costly with a lot of potential decoder creation / destruction. It also modifies the current media type, which means we might have to restore it to unset after failed attempts? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10009#note_133993