Module: wine Branch: master Commit: f91cadcd9461cab77d042b4a292586be0525e702 URL: https://source.winehq.org/git/wine.git/?a=commit;h=f91cadcd9461cab77d042b4a2...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Fri Mar 8 09:57:45 2019 +0300
mfplat: Set sample flags.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 fb4b014..164f8f7 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 2f4db9b..1bf7ebb 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);