From f91cadcd9461cab77d042b4a292586be0525e702 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Fri, 8 Mar 2019 09:57:45 +0300 Subject: [PATCH] mfplat: Set sample flags. Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- 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 fb4b01420f7..164f8f7d461 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 2f4db9b219e..1bf7ebb41e4 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);