From f708161a478072d06866003a2c1e75e51736371f Mon Sep 17 00:00:00 2001 From: Gijs Vermeulen Date: Mon, 26 Oct 2020 15:37:21 +0100 Subject: [PATCH] quartz/vmr9: Don't expose IVMRMonitorConfig9 in renderless mode. Signed-off-by: Gijs Vermeulen Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- dlls/quartz/tests/vmr9.c | 2 +- dlls/quartz/vmr9.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dlls/quartz/tests/vmr9.c b/dlls/quartz/tests/vmr9.c index 2d09caea14e..7f8ce5b26f4 100644 --- a/dlls/quartz/tests/vmr9.c +++ b/dlls/quartz/tests/vmr9.c @@ -322,7 +322,7 @@ static void test_interfaces(void) todo_wine check_interface(filter, &IID_IBasicVideo, FALSE); check_interface(filter, &IID_IBasicVideo2, FALSE); todo_wine check_interface(filter, &IID_IVideoWindow, FALSE); - todo_wine check_interface(filter, &IID_IVMRMonitorConfig9, FALSE); + check_interface(filter, &IID_IVMRMonitorConfig9, FALSE); check_interface(filter, &IID_IVMRWindowlessControl9, FALSE); ref = IBaseFilter_Release(filter); diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c index fb5a846c24b..8bad3f5bdb7 100644 --- a/dlls/quartz/vmr9.c +++ b/dlls/quartz/vmr9.c @@ -613,7 +613,8 @@ static HRESULT vmr_query_interface(struct strmbase_renderer *iface, REFIID iid, *out = &filter->IVMRMixerControl9_iface; else if (IsEqualGUID(iid, &IID_IVMRMonitorConfig)) *out = &filter->IVMRMonitorConfig_iface; - else if (IsEqualGUID(iid, &IID_IVMRMonitorConfig9) && is_vmr9(filter)) + else if (IsEqualGUID(iid, &IID_IVMRMonitorConfig9) + && filter->mode != VMR9Mode_Renderless && is_vmr9(filter)) *out = &filter->IVMRMonitorConfig9_iface; else if (IsEqualGUID(iid, &IID_IVMRSurfaceAllocatorNotify) && filter->mode == (VMR9Mode)VMRMode_Renderless && !is_vmr9(filter))