1/8: ``` + if (i < 4) + { + hr = IPin_ReceiveConnection(pin, &source.source.pin.IPin_iface, pmt); + ok(hr == S_OK, "Got hr %#lx on ReceiveConnection for subtype %s.\n", hr, + wine_dbgstr_guid(rejected_subtypes[i])); ``` Why test ReceiveConnection() on only these subtypes? If the others return VFW_E_TYPE_NOT_ACCEPTED, we should validate that in the test and then skip the rest of the new tests. 2/8: ``` + /* A negative height is never accepted */ + vih->bmiHeader.biHeight = -1; + hr = IPin_QueryAccept(pin, &mt); + todo_wine + ok(hr == VFW_E_TYPE_NOT_ACCEPTED, "Got hr %#lx.\n", hr); ``` This would be more convincing if you also test a height of 1 is accepted. There's other reasons for -1 to be potentially invalid: it doesn't match the height returned from EnumMediaTypes(); it's not aligned; it doesn't match biSizeImage or lSampleSize. 6/8: ``` + if (stream->format.flags & DDSD_PIXELFORMAT) + { + subtype_from_pf(&subtype, &stream->format.pf); + + return IsEqualGUID(&mt->subtype, &subtype) ? S_OK : VFW_E_TYPE_NOT_ACCEPTED; + } ``` Are we sure only setting the subtype is enough? Probably everything else needs to match, too. 8/8: This could use a GetFormat() test. The name ddraw_validate_format() seems odd; it implies we're validating that it's a legal ddraw format, whereas we're actually validating it's a legal format for amstream. Also I don't think we need to bother checking if the format we get from GetDisplayMode() has DDSD_PIXELFORMAT set. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10643#note_135985