[PATCH 2/2] mfplat/tests: Add a test for stream descriptor major type behavior.

Nikolay Sivov nsivov at codeweavers.com
Thu Apr 18 06:35:31 CDT 2019


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/mfplat/tests/mfplat.c | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index 176f339022..571d57a220 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -216,9 +216,13 @@ static void test_source_resolver(void)
     IMFAttributes *attributes;
     IMFMediaSource *mediasource;
     IMFPresentationDescriptor *descriptor;
+    IMFMediaTypeHandler *handler;
     MF_OBJECT_TYPE obj_type;
+    IMFStreamDescriptor *sd;
     HRESULT hr;
     WCHAR *filename;
+    BOOL selected;
+    GUID guid;
 
     static const WCHAR file_type[] = {'v','i','d','e','o','/','m','p','4',0};
 
@@ -297,11 +301,23 @@ static void test_source_resolver(void)
     ok(mediasource != NULL, "got %p\n", mediasource);
     ok(obj_type == MF_OBJECT_MEDIASOURCE, "got %d\n", obj_type);
 
-    hr = IMFMediaSource_CreatePresentationDescriptor(
-        mediasource, &descriptor);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    hr = IMFMediaSource_CreatePresentationDescriptor(mediasource, &descriptor);
+    ok(hr == S_OK, "Failed to get presentation descriptor, hr %#x.\n", hr);
     ok(descriptor != NULL, "got %p\n", descriptor);
 
+    hr = IMFPresentationDescriptor_GetStreamDescriptorByIndex(descriptor, 0, &selected, &sd);
+    ok(hr == S_OK, "Failed to get stream descriptor, hr %#x.\n", hr);
+
+    hr = IMFStreamDescriptor_GetMediaTypeHandler(sd, &handler);
+    ok(hr == S_OK, "Failed to get type handler, hr %#x.\n", hr);
+
+    hr = IMFMediaTypeHandler_GetMajorType(handler, &guid);
+todo_wine
+    ok(hr == S_OK, "Failed to get stream major type, hr %#x.\n", hr);
+
+    IMFMediaTypeHandler_Release(handler);
+    IMFStreamDescriptor_Release(sd);
+
     IMFPresentationDescriptor_Release(descriptor);
     IMFMediaSource_Release(mediasource);
     IMFByteStream_Release(bytestream);
-- 
2.20.1




More information about the wine-devel mailing list