Nikolay Sivov (@nsivov) commented about dlls/mfreadwrite/tests/mfplat.c:
if (hr == S_OK)
{
hr = IMFSinkWriter_GetServiceForStream(writer, MF_SINK_WRITER_MEDIASINK,
&GUID_NULL, &IID_IMFMediaSink, (void **)&sink);
if (IsEqualGUID(container_type, &MFTranscodeContainerType_ASF)
|| IsEqualGUID(container_type, &MFTranscodeContainerType_MP3))
{
ok(hr == S_OK, "Unexpected hr %#lx,\n", hr);
IMFMediaSink_Release(sink);
}
else
{
ok(hr == MF_E_UNSUPPORTED_SERVICE, "Unexpected hr %#lx.\n", hr);
}
IMFSinkWriter_Release(writer);
}
I think this is the only part we need to keep for format specific tests. The rest could stay in test_sink_writer().