Module: wine Branch: master Commit: f708161a478072d06866003a2c1e75e51736371f URL: https://source.winehq.org/git/wine.git/?a=commit;h=f708161a478072d06866003a2...
Author: Gijs Vermeulen gijsvrm@gmail.com Date: Mon Oct 26 15:37:21 2020 +0100
quartz/vmr9: Don't expose IVMRMonitorConfig9 in renderless mode.
Signed-off-by: Gijs Vermeulen gijsvrm@gmail.com Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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))