mirror of
git://source.winehq.org/git/wine.git
synced 2024-07-22 23:14:09 +00:00
mfplat: Fix optional buffer argument handling in ConvertToContiguousBuffer().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
6601fb3ead
commit
eead400ba7
|
@ -1235,7 +1235,7 @@ static HRESULT WINAPI sample_ConvertToContiguousBuffer(IMFSample *iface, IMFMedi
|
|||
}
|
||||
}
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
if (SUCCEEDED(hr) && buffer)
|
||||
{
|
||||
*buffer = sample->buffers[0];
|
||||
IMFMediaBuffer_AddRef(*buffer);
|
||||
|
|
|
@ -1993,6 +1993,9 @@ static void test_sample(void)
|
|||
ok(buffer2 == buffer, "Unexpected buffer instance.\n");
|
||||
IMFMediaBuffer_Release(buffer2);
|
||||
|
||||
hr = IMFSample_ConvertToContiguousBuffer(sample, NULL);
|
||||
ok(hr == S_OK, "Failed to convert, hr %#x.\n", hr);
|
||||
|
||||
hr = IMFSample_ConvertToContiguousBuffer(sample, &buffer2);
|
||||
ok(hr == S_OK, "Failed to convert, hr %#x.\n", hr);
|
||||
ok(buffer2 == buffer, "Unexpected buffer instance.\n");
|
||||
|
@ -2026,13 +2029,26 @@ static void test_sample(void)
|
|||
ok(hr == S_OK, "Failed to get maximum length, hr %#x.\n", hr);
|
||||
ok(length == 7, "Unexpected length %u.\n", length);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
IMFMediaBuffer_Release(buffer3);
|
||||
|
||||
hr = IMFSample_GetBufferCount(sample, &count);
|
||||
ok(hr == S_OK, "Failed to get buffer count, hr %#x.\n", hr);
|
||||
ok(count == 1, "Unexpected buffer count %u.\n", count);
|
||||
|
||||
hr = IMFSample_AddBuffer(sample, buffer);
|
||||
ok(hr == S_OK, "Failed to add buffer, hr %#x.\n", hr);
|
||||
|
||||
hr = IMFSample_GetBufferCount(sample, &count);
|
||||
ok(hr == S_OK, "Failed to get buffer count, hr %#x.\n", hr);
|
||||
ok(count == 2, "Unexpected buffer count %u.\n", count);
|
||||
|
||||
hr = IMFSample_ConvertToContiguousBuffer(sample, NULL);
|
||||
ok(hr == S_OK, "Failed to convert, hr %#x.\n", hr);
|
||||
|
||||
hr = IMFSample_GetBufferCount(sample, &count);
|
||||
ok(hr == S_OK, "Failed to get buffer count, hr %#x.\n", hr);
|
||||
ok(count == 1, "Unexpected buffer count %u.\n", count);
|
||||
|
||||
IMFMediaBuffer_Release(buffer);
|
||||
|
||||
IMFSample_Release(sample);
|
||||
|
|
Loading…
Reference in a new issue