[PATCH 5/6] mfplat: Set sample flags.
Nikolay Sivov
nsivov at codeweavers.com
Fri Mar 8 00:57:45 CST 2019
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/mfplat/buffer.c | 10 ++++++++--
dlls/mfplat/tests/mfplat.c | 6 ++++++
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/dlls/mfplat/buffer.c b/dlls/mfplat/buffer.c
index fb4b01420f..164f8f7d46 100644
--- a/dlls/mfplat/buffer.c
+++ b/dlls/mfplat/buffer.c
@@ -475,9 +475,15 @@ static HRESULT WINAPI sample_GetSampleFlags(IMFSample *iface, DWORD *flags)
static HRESULT WINAPI sample_SetSampleFlags(IMFSample *iface, DWORD flags)
{
- FIXME("%p, %#x.\n", iface, flags);
+ struct sample *sample = impl_from_IMFSample(iface);
- return E_NOTIMPL;
+ TRACE("%p, %#x.\n", iface, flags);
+
+ EnterCriticalSection(&sample->cs);
+ sample->flags = flags;
+ LeaveCriticalSection(&sample->cs);
+
+ return S_OK;
}
static HRESULT WINAPI sample_GetSampleTime(IMFSample *iface, LONGLONG *sampletime)
diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index 2f4db9b219..1bf7ebb41e 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -734,6 +734,12 @@ static void test_sample(void)
ok(hr == S_OK, "Failed to get sample flags, hr %#x.\n", hr);
ok(!flags, "Unexpected flags %#x.\n", flags);
+ hr = IMFSample_SetSampleFlags(sample, 0x123);
+ ok(hr == S_OK, "Failed to set sample flags, hr %#x.\n", hr);
+ hr = IMFSample_GetSampleFlags(sample, &flags);
+ ok(hr == S_OK, "Failed to get sample flags, hr %#x.\n", hr);
+ ok(flags == 0x123, "Unexpected flags %#x.\n", flags);
+
hr = IMFSample_GetSampleTime(sample, &time);
todo_wine
ok(hr == MF_E_NO_SAMPLE_TIMESTAMP, "Unexpected hr %#x.\n", hr);
--
2.20.1
More information about the wine-devel
mailing list