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.