quartz/memallocator: Set the AM_SAMPLE_TYPECHANGED flag.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2019-06-24 20:05:19 -05:00 committed by Alexandre Julliard
parent 838f68341f
commit daaf546f42
2 changed files with 8 additions and 1 deletions

View File

@ -685,8 +685,15 @@ static HRESULT WINAPI StdMediaSample2_SetMediaType(IMediaSample2 * iface, AM_MED
DeleteMediaType(This->props.pMediaType); DeleteMediaType(This->props.pMediaType);
This->props.pMediaType = NULL; This->props.pMediaType = NULL;
} }
if (!pMediaType) if (!pMediaType)
{
This->props.dwSampleFlags &= ~AM_SAMPLE_TYPECHANGED;
return S_OK; return S_OK;
}
This->props.dwSampleFlags |= AM_SAMPLE_TYPECHANGED;
if (!(This->props.pMediaType = CoTaskMemAlloc(sizeof(AM_MEDIA_TYPE)))) if (!(This->props.pMediaType = CoTaskMemAlloc(sizeof(AM_MEDIA_TYPE))))
return E_OUTOFMEMORY; return E_OUTOFMEMORY;

View File

@ -509,7 +509,7 @@ static void test_sample_properties(void)
hr = IMediaSample2_GetProperties(sample2, sizeof(props), (BYTE *)&props); hr = IMediaSample2_GetProperties(sample2, sizeof(props), (BYTE *)&props);
ok(hr == S_OK, "Got hr %#x.\n", hr); ok(hr == S_OK, "Got hr %#x.\n", hr);
todo_wine ok(props.dwSampleFlags == AM_SAMPLE_TYPECHANGED, "Got flags %#x.\n", props.dwSampleFlags); ok(props.dwSampleFlags == AM_SAMPLE_TYPECHANGED, "Got flags %#x.\n", props.dwSampleFlags);
ok(!memcmp(props.pMediaType, &expect_mt, sizeof(AM_MEDIA_TYPE)), "Media types didn't match.\n"); ok(!memcmp(props.pMediaType, &expect_mt, sizeof(AM_MEDIA_TYPE)), "Media types didn't match.\n");
hr = IMediaSample_SetMediaType(sample, NULL); hr = IMediaSample_SetMediaType(sample, NULL);