Nikolay Sivov : mfplat: Set sample flags.

Alexandre Julliard julliard at winehq.org
Fri Mar 8 19:41:09 CST 2019


Module: wine
Branch: master
Commit: f91cadcd9461cab77d042b4a292586be0525e702
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=f91cadcd9461cab77d042b4a292586be0525e702

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Fri Mar  8 09:57:45 2019 +0300

mfplat: Set sample flags.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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);




More information about the wine-cvs mailing list