Zebediah Figura : quartz/vmr9: Set the stream count to 4 in IVMRWindowlessControl9::SetVideoClippingWindow().

Alexandre Julliard julliard at winehq.org
Wed May 13 16:29:53 CDT 2020


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

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Tue May 12 21:25:01 2020 -0500

quartz/vmr9: Set the stream count to 4 in IVMRWindowlessControl9::SetVideoClippingWindow().

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/quartz/tests/vmr9.c | 13 ++++++-------
 dlls/quartz/vmr9.c       |  5 ++++-
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/dlls/quartz/tests/vmr9.c b/dlls/quartz/tests/vmr9.c
index d7664adac0..e3efe56e44 100644
--- a/dlls/quartz/tests/vmr9.c
+++ b/dlls/quartz/tests/vmr9.c
@@ -3178,20 +3178,19 @@ static void test_mixing_mode(void)
     ok(hr == S_OK, "Got hr %#x.\n", hr);
 
     hr = IVMRFilterConfig9_GetNumberOfStreams(config, &stream_count);
-    todo_wine ok(hr == S_OK, "Got hr %#x.\n", hr);
-    todo_wine ok(stream_count == 4, "Got %u streams.\n", stream_count);
+    ok(hr == S_OK, "Got hr %#x.\n", hr);
+    ok(stream_count == 4, "Got %u streams.\n", stream_count);
 
     hr = IBaseFilter_QueryInterface(filter, &IID_IVMRMixerControl9, (void **)&mixer_control);
-    todo_wine ok(hr == S_OK, "Got hr %#x.\n", hr);
-    if (hr == S_OK)
-        IVMRMixerControl9_Release(mixer_control);
+    ok(hr == S_OK, "Got hr %#x.\n", hr);
+    IVMRMixerControl9_Release(mixer_control);
 
     hr = IVMRFilterConfig9_SetNumberOfStreams(config, 2);
-    todo_wine ok(hr == VFW_E_WRONG_STATE, "Got hr %#x.\n", hr);
+    ok(hr == VFW_E_WRONG_STATE, "Got hr %#x.\n", hr);
 
     hr = IVMRFilterConfig9_GetNumberOfStreams(config, &stream_count);
     ok(hr == S_OK, "Got hr %#x.\n", hr);
-    todo_wine ok(stream_count == 4, "Got %u streams.\n", stream_count);
+    ok(stream_count == 4, "Got %u streams.\n", stream_count);
 
     IVMRWindowlessControl9_Release(windowless_control);
     IVMRFilterConfig9_Release(config);
diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c
index edcfe44732..73119431a6 100644
--- a/dlls/quartz/vmr9.c
+++ b/dlls/quartz/vmr9.c
@@ -1734,6 +1734,7 @@ static HRESULT WINAPI VMR9WindowlessControl_SetAspectRatioMode(IVMRWindowlessCon
 static HRESULT WINAPI VMR9WindowlessControl_SetVideoClippingWindow(IVMRWindowlessControl9 *iface, HWND window)
 {
     struct quartz_vmr *filter = impl_from_IVMRWindowlessControl9(iface);
+    HRESULT hr;
 
     TRACE("filter %p, window %p.\n", filter, window);
 
@@ -1754,8 +1755,10 @@ static HRESULT WINAPI VMR9WindowlessControl_SetVideoClippingWindow(IVMRWindowles
 
     filter->clipping_window = window;
 
+    hr = IVMRFilterConfig9_SetNumberOfStreams(&filter->IVMRFilterConfig9_iface, 4);
+
     LeaveCriticalSection(&filter->renderer.filter.csFilter);
-    return S_OK;
+    return hr;
 }
 
 static HRESULT WINAPI VMR9WindowlessControl_RepaintVideo(IVMRWindowlessControl9 *iface, HWND hwnd, HDC hdc)




More information about the wine-cvs mailing list