Rémi Bernon (@rbernon) commented about dlls/mf/tests/transform.c:
+ + hr = IMFTransform_GetAttributes(transform, &attribs); + ok(hr == S_OK, "got %#lx\n", hr); + + hr = IMFAttributes_GetUINT32(attribs, &MF_SA_D3D11_AWARE, &value); + ok(hr == S_OK, "got %#lx\n", hr); + ok(value == 1, "got %u.\n", value); + IMFAttributes_Release(attribs); + + hr = IMFTransform_ProcessMessage(transform, MFT_MESSAGE_SET_D3D_MANAGER, (ULONG_PTR)manager); + ok(hr == S_OK || broken(hr == E_NOINTERFACE), "got %#lx\n", hr); + if (hr == E_NOINTERFACE) + { + win_skip("No hardware video decoding support.\n"); + goto failed; + } This could perhaps test whether `QueryInterface` is really needed in `ProcessMessage`. Otherwise I'd say if it's not tested then it's probably not needed on the implementation side.
Also, any reason not to add the tests upfront? I think it'd make the changes more obvious if the tests were added upfront or in a lockstep, and the implementation incrementally fixing the todo_wine. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2587#note_29040