Nikolay Sivov : mfreadwrite/tests: Add a test for reading from delected stream.

Alexandre Julliard julliard at winehq.org
Wed Nov 20 16:49:12 CST 2019


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Wed Nov 20 13:12:18 2019 +0300

mfreadwrite/tests: Add a test for reading from delected stream.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mfreadwrite/main.c         |  2 ++
 dlls/mfreadwrite/tests/mfplat.c | 13 +++++++++++++
 2 files changed, 15 insertions(+)

diff --git a/dlls/mfreadwrite/main.c b/dlls/mfreadwrite/main.c
index bffe5cc47f..56ec036089 100644
--- a/dlls/mfreadwrite/main.c
+++ b/dlls/mfreadwrite/main.c
@@ -894,6 +894,8 @@ static HRESULT source_reader_read_sample(struct source_reader *reader, DWORD ind
         *stream_flags = MF_SOURCE_READERF_ERROR;
         if (actual_index)
             *actual_index = index;
+        if (timestamp)
+            *timestamp = 0;
         return hr;
     }
 
diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c
index 081d94c7d5..9678f64efe 100644
--- a/dlls/mfreadwrite/tests/mfplat.c
+++ b/dlls/mfreadwrite/tests/mfplat.c
@@ -891,6 +891,19 @@ todo_wine
     ok(!!sample, "Expected sample object.\n");
     IMFSample_Release(sample);
 
+    /* Request from deselected stream. */
+    hr = IMFSourceReader_SetStreamSelection(reader, 1, FALSE);
+    ok(hr == S_OK, "Failed to select a stream, hr %#x.\n", hr);
+
+    actual_index = 0;
+    stream_flags = 0;
+    hr = IMFSourceReader_ReadSample(reader, 1, 0, &actual_index, &stream_flags, &timestamp, &sample);
+    ok(hr == MF_E_INVALIDREQUEST, "Unexpected hr %#x.\n", hr);
+    ok(actual_index == 1, "Unexpected stream index %u\n", actual_index);
+    ok(stream_flags == MF_SOURCE_READERF_ERROR, "Unexpected stream flags %#x.\n", stream_flags);
+    ok(timestamp == 0, "Unexpected timestamp.\n");
+    ok(!sample, "Expected sample object.\n");
+
     IMFSourceReader_Release(reader);
     IMFMediaSource_Release(source);
 




More information about the wine-cvs mailing list