[PATCH 1/5] quartz/vmr9: Return VFW_E_TYPE_NOT_ACCEPTED when connection fails.

Zebediah Figura z.figura12 at gmail.com
Wed Jun 24 16:52:41 CDT 2020


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/quartz/tests/vmr7.c |  8 ++------
 dlls/quartz/tests/vmr9.c | 14 ++------------
 dlls/quartz/vmr9.c       |  4 ++--
 3 files changed, 6 insertions(+), 20 deletions(-)

diff --git a/dlls/quartz/tests/vmr7.c b/dlls/quartz/tests/vmr7.c
index 1f0af817f0b..4422a1f9140 100644
--- a/dlls/quartz/tests/vmr7.c
+++ b/dlls/quartz/tests/vmr7.c
@@ -1366,12 +1366,8 @@ static void test_connect_pin(void)
 
     vih.bmiHeader.biBitCount = 16;
     hr = IFilterGraph2_ConnectDirect(graph, &source.source.pin.IPin_iface, pin, &req_mt);
-    todo_wine ok(hr == VFW_E_TYPE_NOT_ACCEPTED, "Got hr %#x.\n", hr);
-    if (hr == S_OK)
-    {
-        IFilterGraph2_Disconnect(graph, &source.source.pin.IPin_iface);
-        IFilterGraph2_Disconnect(graph, pin);
-    }
+    ok(hr == VFW_E_TYPE_NOT_ACCEPTED, "Got hr %#x.\n", hr);
+
     vih.bmiHeader.biBitCount = 32;
     hr = IFilterGraph2_ConnectDirect(graph, &source.source.pin.IPin_iface, pin, &req_mt);
     if (hr == VFW_E_TYPE_NOT_ACCEPTED) /* w7u */
diff --git a/dlls/quartz/tests/vmr9.c b/dlls/quartz/tests/vmr9.c
index fae824b827d..69065d35761 100644
--- a/dlls/quartz/tests/vmr9.c
+++ b/dlls/quartz/tests/vmr9.c
@@ -1618,20 +1618,10 @@ static void test_connect_pin(void)
 
     req_mt.subtype = MEDIASUBTYPE_RGB8;
     hr = IFilterGraph2_ConnectDirect(graph, &source.source.pin.IPin_iface, pin, &req_mt);
-    todo_wine ok(hr == VFW_E_TYPE_NOT_ACCEPTED, "Got hr %#x.\n", hr);
-    if (hr == S_OK)
-    {
-        IFilterGraph2_Disconnect(graph, &source.source.pin.IPin_iface);
-        IFilterGraph2_Disconnect(graph, pin);
-    }
+    ok(hr == VFW_E_TYPE_NOT_ACCEPTED, "Got hr %#x.\n", hr);
     req_mt.subtype = MEDIASUBTYPE_WAVE;
     hr = IFilterGraph2_ConnectDirect(graph, &source.source.pin.IPin_iface, pin, &req_mt);
-    todo_wine ok(hr == VFW_E_TYPE_NOT_ACCEPTED, "Got hr %#x.\n", hr);
-    if (hr == S_OK)
-    {
-        IFilterGraph2_Disconnect(graph, &source.source.pin.IPin_iface);
-        IFilterGraph2_Disconnect(graph, pin);
-    }
+    ok(hr == VFW_E_TYPE_NOT_ACCEPTED, "Got hr %#x.\n", hr);
     req_mt.subtype = MEDIASUBTYPE_RGB32;
 
     peer = (IPin *)0xdeadbeef;
diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c
index 09d63b6a71c..e49266c30c2 100644
--- a/dlls/quartz/vmr9.c
+++ b/dlls/quartz/vmr9.c
@@ -424,7 +424,7 @@ static HRESULT allocate_surfaces(struct quartz_vmr *filter, const AM_MEDIA_TYPE
             default:
                 FIXME("Unhandled bit depth %u.\n", filter->bmiheader.biBitCount);
                 free(filter->surfaces);
-                return E_INVALIDARG;
+                return VFW_E_TYPE_NOT_ACCEPTED;
         }
 
         info.dwFlags = VMR9AllocFlag_TextureSurface;
@@ -456,7 +456,7 @@ static HRESULT allocate_surfaces(struct quartz_vmr *filter, const AM_MEDIA_TYPE
     }
 
     free(filter->surfaces);
-    return hr;
+    return VFW_E_TYPE_NOT_ACCEPTED;
 }
 
 static void vmr_start_stream(struct strmbase_renderer *iface)
-- 
2.27.0




More information about the wine-devel mailing list