On 10/28/21 5:01 PM, RĂ©mi Bernon wrote:
+struct audio_format +{
- GUID subtype;
- UINT32 bits;
- UINT32 rate;
+};
+static void test_audio_media_type(const char *resource_name, IMFMediaType *media_type, struct audio_format *expect) +{
- UINT32 uint32_value, buffer_value_size;
- BYTE buffer_value[512];
- double double_value;
- GUID guid_value;
- HRESULT hr;
- memset(&guid_value, 0xcd, sizeof(guid_value));
- hr = IMFMediaType_GetGUID(media_type, &MF_MT_MAJOR_TYPE, &guid_value);
- ok(hr == S_OK, "missing MF_MT_MAJOR_TYPE, hr %#x\n", hr);
- ok(IsEqualGUID(&guid_value, &MFMediaType_Audio), "got MF_MT_MAJOR_TYPE %s\n", debugstr_guid(&guid_value));
- memset(&guid_value, 0xcd, sizeof(guid_value));
- hr = IMFMediaType_GetGUID(media_type, &MF_MT_SUBTYPE, &guid_value);
- ok(hr == S_OK, "missing MF_MT_SUBTYPE, hr %#x\n", hr);
- ok(IsEqualGUID(&guid_value, &expect->subtype), "got MF_MT_SUBTYPE %s\n", debugstr_guid(&guid_value));
- uint32_value = 0xdeadbeef;
- hr = IMFMediaType_GetUINT32(media_type, &MF_MT_ALL_SAMPLES_INDEPENDENT, &uint32_value);
- ok(hr == S_OK, "missing MF_MT_ALL_SAMPLES_INDEPENDENT, hr %#x\n", hr);
- ok(uint32_value == 1, "got MF_MT_ALL_SAMPLES_INDEPENDENT %u\n", uint32_value);
- hr = IMFMediaType_GetGUID(media_type, &MF_MT_AM_FORMAT_TYPE, &guid_value);
- ok(hr == MF_E_ATTRIBUTENOTFOUND, "got MF_MT_AM_FORMAT_TYPE, hr %#x\n", hr);
- hr = IMFMediaType_GetUINT32(media_type, &MF_MT_COMPRESSED, &uint32_value);
- ok(hr == MF_E_ATTRIBUTENOTFOUND, "got MF_MT_COMPRESSED, hr %#x\n", hr);
- hr = IMFMediaType_GetUINT32(media_type, &MF_MT_FIXED_SIZE_SAMPLES, &uint32_value);
- ok(hr == MF_E_ATTRIBUTENOTFOUND, "got MF_MT_FIXED_SIZE_SAMPLES, hr %#x\n", hr);
- hr = IMFMediaType_GetUINT32(media_type, &MF_MT_SAMPLE_SIZE, &uint32_value);
- ok(hr == MF_E_ATTRIBUTENOTFOUND, "got MF_MT_SAMPLE_SIZE, hr %#x\n", hr);
- hr = IMFMediaType_GetBlob(media_type, &MF_MT_USER_DATA, buffer_value, sizeof(buffer_value), &buffer_value_size);
- ok(hr == MF_E_ATTRIBUTENOTFOUND, "got MF_MT_USER_DATA, hr %#x\n", hr);
- hr = IMFMediaType_GetBlob(media_type, &MF_MT_WRAPPED_TYPE, buffer_value, sizeof(buffer_value), &buffer_value_size);
- ok(hr == MF_E_ATTRIBUTENOTFOUND, "got MF_MT_WRAPPED_TYPE, hr %#x\n", hr);
Is it possible to test attribute count instead, and then all attributes up to this count? Instead of testing what type doesn't have set.