Commit b9073b1e authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

quartz/memallocator: Clear some sample properties when freeing the sample.

parent 1964051f
......@@ -492,6 +492,13 @@ static ULONG WINAPI StdMediaSample2_Release(IMediaSample2 * iface)
if (!ref)
{
if (This->props.pMediaType)
DeleteMediaType(This->props.pMediaType);
This->props.pMediaType = NULL;
This->props.dwSampleFlags = 0;
This->tMediaStart = INVALID_MEDIA_TIME;
This->tMediaEnd = 0;
if (This->pParent)
IMemAllocator_ReleaseBuffer(This->pParent, (IMediaSample *)iface);
else
......
......@@ -324,13 +324,13 @@ static void test_sample_time(void)
start = 0xdeadbeef;
end = 0xdeadf00d;
hr = IMediaSample_GetTime(sample, &start, &end);
todo_wine ok(hr == VFW_E_SAMPLE_TIME_NOT_SET, "Got hr %#x.\n", hr);
todo_wine ok(start == 0xdeadbeef, "Got start %s.\n", wine_dbgstr_longlong(start));
todo_wine ok(end == 0xdeadf00d, "Got end %s.\n", wine_dbgstr_longlong(end));
ok(hr == VFW_E_SAMPLE_TIME_NOT_SET, "Got hr %#x.\n", hr);
ok(start == 0xdeadbeef, "Got start %s.\n", wine_dbgstr_longlong(start));
ok(end == 0xdeadf00d, "Got end %s.\n", wine_dbgstr_longlong(end));
hr = IMediaSample2_GetProperties(sample2, sizeof(props), (BYTE *)&props);
ok(hr == S_OK, "Got hr %#x.\n", hr);
todo_wine ok(!props.dwSampleFlags, "Got flags %#x.\n", props.dwSampleFlags);
ok(!props.dwSampleFlags, "Got flags %#x.\n", props.dwSampleFlags);
start = 0x123;
end = 0x321;
......@@ -338,7 +338,7 @@ static void test_sample_time(void)
ok(hr == S_OK, "Got hr %#x.\n", hr);
hr = IMediaSample_GetTime(sample, &start, &end);
todo_wine ok(hr == VFW_E_SAMPLE_TIME_NOT_SET, "Got hr %#x.\n", hr);
ok(hr == VFW_E_SAMPLE_TIME_NOT_SET, "Got hr %#x.\n", hr);
IMediaSample2_Release(sample2);
IMediaSample_Release(sample);
......@@ -410,9 +410,9 @@ static void test_media_time(void)
start = 0xdeadbeef;
end = 0xdeadf00d;
hr = IMediaSample_GetMediaTime(sample, &start, &end);
todo_wine ok(hr == VFW_E_MEDIA_TIME_NOT_SET, "Got hr %#x.\n", hr);
todo_wine ok(start == 0xdeadbeef, "Got start %s.\n", wine_dbgstr_longlong(start));
todo_wine ok(end == 0xdeadf00d, "Got end %s.\n", wine_dbgstr_longlong(end));
ok(hr == VFW_E_MEDIA_TIME_NOT_SET, "Got hr %#x.\n", hr);
ok(start == 0xdeadbeef, "Got start %s.\n", wine_dbgstr_longlong(start));
ok(end == 0xdeadf00d, "Got end %s.\n", wine_dbgstr_longlong(end));
start = 0x123;
end = 0x321;
......@@ -420,7 +420,7 @@ static void test_media_time(void)
ok(hr == S_OK, "Got hr %#x.\n", hr);
hr = IMediaSample_GetMediaTime(sample, &start, &end);
todo_wine ok(hr == VFW_E_MEDIA_TIME_NOT_SET, "Got hr %#x.\n", hr);
ok(hr == VFW_E_MEDIA_TIME_NOT_SET, "Got hr %#x.\n", hr);
start = 0x123;
end = 0x321;
......@@ -433,7 +433,7 @@ static void test_media_time(void)
ok(hr == S_OK, "Got hr %#x.\n", hr);
hr = IMediaSample_GetMediaTime(sample, &start, &end);
todo_wine ok(hr == VFW_E_MEDIA_TIME_NOT_SET, "Got hr %#x.\n", hr);
ok(hr == VFW_E_MEDIA_TIME_NOT_SET, "Got hr %#x.\n", hr);
IMediaSample_Release(sample);
IMemAllocator_Release(allocator);
......@@ -638,11 +638,11 @@ static void test_sample_properties(void)
hr = IMediaSample2_GetProperties(sample2, sizeof(props), (BYTE *)&props);
ok(hr == S_OK, "Got hr %#x.\n", hr);
ok(!props.dwTypeSpecificFlags, "Got type-specific flags %#x.\n", props.dwTypeSpecificFlags);
todo_wine ok(!props.dwSampleFlags, "Got flags %#x.\n", props.dwSampleFlags);
ok(!props.dwSampleFlags, "Got flags %#x.\n", props.dwSampleFlags);
ok(props.lActual == 123, "Got actual length %d.\n", props.lActual);
ok(!props.tStart, "Got sample start %s.\n", wine_dbgstr_longlong(props.tStart));
ok(!props.dwStreamId, "Got stream ID %#x.\n", props.dwStreamId);
todo_wine ok(!props.pMediaType, "Got media type %p.\n", props.pMediaType);
ok(!props.pMediaType, "Got media type %p.\n", props.pMediaType);
ok(props.cbBuffer == 65536, "Got buffer length %d.\n", props.cbBuffer);
IMediaSample2_Release(sample2);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment