[PATCH 4/6] quatz/tests: Pass back the object instead of the iface in createtestfilter()

Michael Stefaniuc mstefani at redhat.de
Sun Jun 19 07:30:39 CDT 2011


---
 dlls/quartz/tests/filtergraph.c |  159 ++++++++++++++++++++-------------------
 1 files changed, 80 insertions(+), 79 deletions(-)

diff --git a/dlls/quartz/tests/filtergraph.c b/dlls/quartz/tests/filtergraph.c
index 3970273..98445f2 100644
--- a/dlls/quartz/tests/filtergraph.c
+++ b/dlls/quartz/tests/filtergraph.c
@@ -1088,7 +1088,8 @@ static inline TestFilterImpl *impl_from_IBaseFilter(IBaseFilter *iface)
     return CONTAINING_RECORD(iface, TestFilterImpl, IBaseFilter_iface);
 }
 
-static HRESULT TestFilter_Create(const CLSID* pClsid, const TestFilterPinData *pinData, LPVOID * ppv)
+static HRESULT createtestfilter(const CLSID* pClsid, const TestFilterPinData *pinData,
+        TestFilterImpl **tf)
 {
     static const WCHAR wcsInputPinName[] = {'i','n','p','u','t',' ','p','i','n',0};
     static const WCHAR wcsOutputPinName[] = {'o','u','t','p','u','t',' ','p','i','n',0};
@@ -1146,7 +1147,7 @@ static HRESULT TestFilter_Create(const CLSID* pClsid, const TestFilterPinData *p
     }
 
     pTestFilter->nPins = nPins;
-    *ppv = pTestFilter;
+    *tf = pTestFilter;
     return S_OK;
 
     error:
@@ -1415,16 +1416,16 @@ static HRESULT WINAPI Test_IClassFactory_CreateInstance(
 {
     TestClassFactoryImpl *This = impl_from_IClassFactory(iface);
     HRESULT hr;
-    IUnknown *punk = NULL;
+    TestFilterImpl *testfilter;
 
     *ppvObj = NULL;
 
     if (pUnkOuter) return CLASS_E_NOAGGREGATION;
 
-    hr = TestFilter_Create(This->clsid, This->filterPinData, (LPVOID *) &punk);
+    hr = createtestfilter(This->clsid, This->filterPinData, &testfilter);
     if (SUCCEEDED(hr)) {
-        hr = IUnknown_QueryInterface(punk, riid, ppvObj);
-        IUnknown_Release(punk);
+        hr = IBaseFilter_QueryInterface(&testfilter->IBaseFilter_iface, riid, ppvObj);
+        IBaseFilter_Release(&testfilter->IBaseFilter_iface);
     }
     return hr;
 }
@@ -1488,8 +1489,8 @@ static void test_render_filter_priority(void)
     HRESULT hr;
     IFilterGraph2* pgraph2 = NULL;
     IFilterMapper2 *pMapper2 = NULL;
-    IBaseFilter* ptestfilter = NULL;
-    IBaseFilter* ptestfilter2 = NULL;
+    TestFilterImpl *ptestfilter = NULL;
+    TestFilterImpl *ptestfilter2 = NULL;
     static const CLSID CLSID_TestFilter2 = {
         0x37a4edb0,
         0x4d13,
@@ -1574,40 +1575,40 @@ static void test_render_filter_priority(void)
     ok(hr == S_OK, "CoCreateInstance failed with %08x\n", hr);
     if (!pgraph2) return;
 
-    hr = TestFilter_Create(&GUID_NULL, PinData1, (LPVOID)&ptestfilter);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData1, &ptestfilter);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter, wszFilterInstanceName1);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter->IBaseFilter_iface, wszFilterInstanceName1);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    hr = TestFilter_Create(&GUID_NULL, PinData2, (LPVOID)&ptestfilter2);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData2, &ptestfilter2);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter2, wszFilterInstanceName2);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter2->IBaseFilter_iface, wszFilterInstanceName2);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    IBaseFilter_Release(ptestfilter2);
+    IBaseFilter_Release(&ptestfilter2->IBaseFilter_iface);
     ptestfilter2 = NULL;
 
-    hr = TestFilter_Create(&GUID_NULL, PinData3, (LPVOID)&ptestfilter2);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData3, &ptestfilter2);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter2, wszFilterInstanceName3);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter2->IBaseFilter_iface, wszFilterInstanceName3);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    hr = IFilterGraph2_Render(pgraph2, ((TestFilterImpl*)ptestfilter)->ppPins[0]);
+    hr = IFilterGraph2_Render(pgraph2, ptestfilter->ppPins[0]);
     ok(hr == S_OK, "IFilterGraph2_Render failed with %08x\n", hr);
 
-    hr = get_connected_filter_name((TestFilterImpl*)ptestfilter, ConnectedFilterName1);
+    hr = get_connected_filter_name(ptestfilter, ConnectedFilterName1);
 
     IFilterGraph2_Release(pgraph2);
     pgraph2 = NULL;
-    IBaseFilter_Release(ptestfilter);
+    IBaseFilter_Release(&ptestfilter->IBaseFilter_iface);
     ptestfilter = NULL;
-    IBaseFilter_Release(ptestfilter2);
+    IBaseFilter_Release(&ptestfilter2->IBaseFilter_iface);
     ptestfilter2 = NULL;
 
     if (hr == E_NOTIMPL)
@@ -1620,45 +1621,45 @@ static void test_render_filter_priority(void)
     ok(hr == S_OK, "CoCreateInstance failed with %08x\n", hr);
     if (!pgraph2) goto out;
 
-    hr = TestFilter_Create(&GUID_NULL, PinData1, (LPVOID)&ptestfilter);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData1, &ptestfilter);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter, wszFilterInstanceName1);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter->IBaseFilter_iface, wszFilterInstanceName1);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    hr = TestFilter_Create(&GUID_NULL, PinData3, (LPVOID)&ptestfilter2);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData3, &ptestfilter2);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter2, wszFilterInstanceName3);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter2->IBaseFilter_iface, wszFilterInstanceName3);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    IBaseFilter_Release(ptestfilter2);
+    IBaseFilter_Release(&ptestfilter2->IBaseFilter_iface);
     ptestfilter2 = NULL;
 
-    hr = TestFilter_Create(&GUID_NULL, PinData2, (LPVOID)&ptestfilter2);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData2, &ptestfilter2);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter2, wszFilterInstanceName2);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter2->IBaseFilter_iface, wszFilterInstanceName2);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    hr = IFilterGraph2_Render(pgraph2, ((TestFilterImpl*)ptestfilter)->ppPins[0]);
+    hr = IFilterGraph2_Render(pgraph2, ptestfilter->ppPins[0]);
     ok(hr == S_OK, "IFilterGraph2_Render failed with %08x\n", hr);
 
     hr = IFilterGraph2_Disconnect(pgraph2, NULL);
     ok(hr == E_POINTER, "IFilterGraph2_Disconnect failed. Expected E_POINTER, received %08x\n", hr);
 
-    get_connected_filter_name((TestFilterImpl*)ptestfilter, ConnectedFilterName2);
+    get_connected_filter_name(ptestfilter, ConnectedFilterName2);
     ok(lstrcmp(ConnectedFilterName1, ConnectedFilterName2),
         "expected connected filters to be different but got %s both times\n", ConnectedFilterName1);
 
     IFilterGraph2_Release(pgraph2);
     pgraph2 = NULL;
-    IBaseFilter_Release(ptestfilter);
+    IBaseFilter_Release(&ptestfilter->IBaseFilter_iface);
     ptestfilter = NULL;
-    IBaseFilter_Release(ptestfilter2);
+    IBaseFilter_Release(&ptestfilter2->IBaseFilter_iface);
     ptestfilter2 = NULL;
 
     /* Test if any preference is given to existing renderer which renders the pin directly vs
@@ -1669,96 +1670,96 @@ static void test_render_filter_priority(void)
     ok(hr == S_OK, "CoCreateInstance failed with %08x\n", hr);
     if (!pgraph2) goto out;
 
-    hr = TestFilter_Create(&GUID_NULL, PinData1, (LPVOID)&ptestfilter);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData1, &ptestfilter);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter, wszFilterInstanceName1);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter->IBaseFilter_iface, wszFilterInstanceName1);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    hr = TestFilter_Create(&GUID_NULL, PinData2, (LPVOID)&ptestfilter2);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData2, &ptestfilter2);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter2, wszFilterInstanceName2);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter2->IBaseFilter_iface, wszFilterInstanceName2);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    IBaseFilter_Release(ptestfilter2);
+    IBaseFilter_Release(&ptestfilter2->IBaseFilter_iface);
     ptestfilter2 = NULL;
 
-    hr = TestFilter_Create(&GUID_NULL, PinData4, (LPVOID)&ptestfilter2);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData4, &ptestfilter2);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter2, wszFilterInstanceName3);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter2->IBaseFilter_iface, wszFilterInstanceName3);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    IBaseFilter_Release(ptestfilter2);
+    IBaseFilter_Release(&ptestfilter2->IBaseFilter_iface);
     ptestfilter2 = NULL;
 
-    hr = TestFilter_Create(&GUID_NULL, PinData5, (LPVOID)&ptestfilter2);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData5, &ptestfilter2);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter2, wszFilterInstanceName4);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter2->IBaseFilter_iface, wszFilterInstanceName4);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    hr = IFilterGraph2_Render(pgraph2, ((TestFilterImpl*)ptestfilter)->ppPins[0]);
+    hr = IFilterGraph2_Render(pgraph2, ptestfilter->ppPins[0]);
     ok(hr == S_OK, "IFilterGraph2_Render failed with %08x\n", hr);
 
-    get_connected_filter_name((TestFilterImpl*)ptestfilter, ConnectedFilterName1);
+    get_connected_filter_name(ptestfilter, ConnectedFilterName1);
     ok(!lstrcmp(ConnectedFilterName1, "TestfilterInstance3") || !lstrcmp(ConnectedFilterName1, "TestfilterInstance2"),
             "unexpected connected filter: %s\n", ConnectedFilterName1);
 
     IFilterGraph2_Release(pgraph2);
     pgraph2 = NULL;
-    IBaseFilter_Release(ptestfilter);
+    IBaseFilter_Release(&ptestfilter->IBaseFilter_iface);
     ptestfilter = NULL;
-    IBaseFilter_Release(ptestfilter2);
+    IBaseFilter_Release(&ptestfilter2->IBaseFilter_iface);
     ptestfilter2 = NULL;
 
     hr = CoCreateInstance(&CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, &IID_IFilterGraph2, (LPVOID*)&pgraph2);
     ok(hr == S_OK, "CoCreateInstance failed with %08x\n", hr);
     if (!pgraph2) goto out;
 
-    hr = TestFilter_Create(&GUID_NULL, PinData1, (LPVOID)&ptestfilter);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData1, &ptestfilter);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter, wszFilterInstanceName1);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter->IBaseFilter_iface, wszFilterInstanceName1);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    hr = TestFilter_Create(&GUID_NULL, PinData4, (LPVOID)&ptestfilter2);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData4, &ptestfilter2);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter2, wszFilterInstanceName3);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter2->IBaseFilter_iface, wszFilterInstanceName3);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    IBaseFilter_Release(ptestfilter2);
+    IBaseFilter_Release(&ptestfilter2->IBaseFilter_iface);
     ptestfilter2 = NULL;
 
-    hr = TestFilter_Create(&GUID_NULL, PinData5, (LPVOID)&ptestfilter2);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData5, &ptestfilter2);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter2, wszFilterInstanceName4);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter2->IBaseFilter_iface, wszFilterInstanceName4);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    IBaseFilter_Release(ptestfilter2);
+    IBaseFilter_Release(&ptestfilter2->IBaseFilter_iface);
     ptestfilter2 = NULL;
 
-    hr = TestFilter_Create(&GUID_NULL, PinData2, (LPVOID)&ptestfilter2);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData2, &ptestfilter2);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter2, wszFilterInstanceName2);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter2->IBaseFilter_iface, wszFilterInstanceName2);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
-    hr = IFilterGraph2_Render(pgraph2, ((TestFilterImpl*)ptestfilter)->ppPins[0]);
+    hr = IFilterGraph2_Render(pgraph2, ptestfilter->ppPins[0]);
     ok(hr == S_OK, "IFilterGraph2_Render failed with %08x\n", hr);
 
-    get_connected_filter_name((TestFilterImpl*)ptestfilter, ConnectedFilterName2);
+    get_connected_filter_name(ptestfilter, ConnectedFilterName2);
     ok(!lstrcmp(ConnectedFilterName2, "TestfilterInstance3") || !lstrcmp(ConnectedFilterName2, "TestfilterInstance2"),
             "unexpected connected filter: %s\n", ConnectedFilterName2);
     ok(lstrcmp(ConnectedFilterName1, ConnectedFilterName2),
@@ -1766,9 +1767,9 @@ static void test_render_filter_priority(void)
 
     IFilterGraph2_Release(pgraph2);
     pgraph2 = NULL;
-    IBaseFilter_Release(ptestfilter);
+    IBaseFilter_Release(&ptestfilter->IBaseFilter_iface);
     ptestfilter = NULL;
-    IBaseFilter_Release(ptestfilter2);
+    IBaseFilter_Release(&ptestfilter2->IBaseFilter_iface);
     ptestfilter2 = NULL;
 
     /* Test if renderers are tried before non-renderers (intermediary filters). */
@@ -1780,11 +1781,11 @@ static void test_render_filter_priority(void)
     ok(hr == S_OK, "CoCreateInstance failed with %08x\n", hr);
     if (!pMapper2) goto out;
 
-    hr = TestFilter_Create(&GUID_NULL, PinData1, (LPVOID)&ptestfilter);
-    ok(hr == S_OK, "TestFilter_Create failed with %08x\n", hr);
+    hr = createtestfilter(&GUID_NULL, PinData1, &ptestfilter);
+    ok(hr == S_OK, "createtestfilter failed with %08x\n", hr);
     if (FAILED(hr)) goto out;
 
-    hr = IFilterGraph2_AddFilter(pgraph2, ptestfilter, wszFilterInstanceName1);
+    hr = IFilterGraph2_AddFilter(pgraph2, &ptestfilter->IBaseFilter_iface, wszFilterInstanceName1);
     ok(hr == S_OK, "IFilterGraph2_AddFilter failed with %08x\n", hr);
 
     /* Register our filters with COM and with Filtermapper. */
@@ -1847,10 +1848,10 @@ static void test_render_filter_priority(void)
                     &CLSID_LegacyAmFilterCategory, NULL, &rgf2);
     ok(hr == S_OK, "IFilterMapper2_RegisterFilter failed with %x\n", hr);
 
-    hr = IFilterGraph2_Render(pgraph2, ((TestFilterImpl*)ptestfilter)->ppPins[0]);
+    hr = IFilterGraph2_Render(pgraph2, ptestfilter->ppPins[0]);
     ok(hr == S_OK, "IFilterGraph2_Render failed with %08x\n", hr);
 
-    get_connected_filter_name((TestFilterImpl*)ptestfilter, ConnectedFilterName1);
+    get_connected_filter_name(ptestfilter, ConnectedFilterName1);
     ok(!lstrcmp(ConnectedFilterName1, "TestfilterInstance3"),
             "unexpected connected filter: %s\n", ConnectedFilterName1);
 
@@ -1866,8 +1867,8 @@ static void test_render_filter_priority(void)
 
     out:
 
-    if (ptestfilter) IBaseFilter_Release(ptestfilter);
-    if (ptestfilter2) IBaseFilter_Release(ptestfilter2);
+    if (ptestfilter) IBaseFilter_Release(&ptestfilter->IBaseFilter_iface);
+    if (ptestfilter2) IBaseFilter_Release(&ptestfilter2->IBaseFilter_iface);
     if (pgraph2) IFilterGraph2_Release(pgraph2);
     if (pMapper2) IFilterMapper2_Release(pMapper2);
 
-- 
1.7.4.4



More information about the wine-patches mailing list