[PATCH 7/7] evr/presenter: Expose all interfaces for MR_VIDEO_RENDER_SERVICE.

Nikolay Sivov nsivov at codeweavers.com
Mon Nov 16 08:50:23 CST 2020


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/evr/presenter.c | 13 +------------
 dlls/evr/tests/evr.c | 10 ++++++++--
 2 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/dlls/evr/presenter.c b/dlls/evr/presenter.c
index 97b9029c70e..84ef223e0fc 100644
--- a/dlls/evr/presenter.c
+++ b/dlls/evr/presenter.c
@@ -1254,18 +1254,7 @@ static HRESULT WINAPI video_presenter_getservice_GetService(IMFGetService *iface
         return IDirect3DDeviceManager9_QueryInterface(presenter->device_manager, riid, obj);
 
     if (IsEqualGUID(&MR_VIDEO_RENDER_SERVICE, service))
-    {
-        if (IsEqualIID(riid, &IID_IMFVideoDisplayControl) ||
-                IsEqualIID(riid, &IID_IMFVideoPositionMapper))
-        {
-            return IMFVideoPresenter_QueryInterface(&presenter->IMFVideoPresenter_iface, riid, obj);
-        }
-        else
-        {
-            FIXME("Unsupported interface %s.\n", debugstr_guid(riid));
-            return E_NOTIMPL;
-        }
-    }
+        return IMFVideoPresenter_QueryInterface(&presenter->IMFVideoPresenter_iface, riid, obj);
 
     FIXME("Unimplemented service %s.\n", debugstr_guid(service));
 
diff --git a/dlls/evr/tests/evr.c b/dlls/evr/tests/evr.c
index 244d4310bbc..c456bcf5653 100644
--- a/dlls/evr/tests/evr.c
+++ b/dlls/evr/tests/evr.c
@@ -1150,8 +1150,14 @@ static void test_default_presenter(void)
     check_interface(presenter, &IID_IMFQualityAdvise, TRUE);
     check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFVideoPositionMapper, TRUE);
     check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFVideoDisplayControl, TRUE);
-    todo_wine check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFVideoPresenter, TRUE);
-    todo_wine check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFClockStateSink, TRUE);
+    check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFVideoPresenter, TRUE);
+    check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFClockStateSink, TRUE);
+    check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFTopologyServiceLookupClient, TRUE);
+    check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IQualProp, TRUE);
+    check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFRateSupport, TRUE);
+    check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFGetService, TRUE);
+    check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFVideoDeviceID, TRUE);
+    check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFQualityAdvise, TRUE);
     check_service_interface(presenter, &MR_VIDEO_ACCELERATION_SERVICE, &IID_IDirect3DDeviceManager9, TRUE);
 
     hr = IMFVideoPresenter_QueryInterface(presenter, &IID_IMFVideoDeviceID, (void **)&deviceid);
-- 
2.29.2




More information about the wine-devel mailing list