Nikolay Sivov (@nsivov) commented about dlls/mfplat/tests/mfplat.c:
- hr = MFCreateAMMediaTypeFromMFMediaType(media_type, GUID_NULL, &am_type);
- todo_wine ok(hr == MF_E_ATTRIBUTENOTFOUND, "Unexpected hr %#lx.\n", hr);
- hr = IMFMediaType_SetGUID(media_type, &MF_MT_MAJOR_TYPE, &MFMediaType_Audio);
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- hr = IMFMediaType_SetGUID(media_type, &MF_MT_SUBTYPE, &MFAudioFormat_PCM);
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- hr = MFCreateAMMediaTypeFromMFMediaType(media_type, GUID_NULL, &am_type);
- todo_wine ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- if (hr != S_OK) goto skip_tests;
- ok(IsEqualGUID(&am_type->majortype, &MFMediaType_Audio), "got %s.\n", debugstr_guid(&am_type->majortype));
- ok(IsEqualGUID(&am_type->subtype, &MFAudioFormat_PCM), "got %s.\n", debugstr_guid(&am_type->subtype));
- ok(IsEqualGUID(&am_type->formattype, &FORMAT_WaveFormatEx), "got %s.\n", debugstr_guid(&am_type->formattype));
- ok(am_type->cbFormat == sizeof(WAVEFORMATEX), "got %lu\n", am_type->cbFormat);
- CoTaskMemFree(am_type->pbFormat);
- CoTaskMemFree(am_type);
For this one it makes sense to use FreeRepresentation(), like the docs say.