From f7718d645363ba5687038dfe977b597e4e1b45af Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Wed, 20 May 2020 00:10:38 -0500 Subject: [PATCH] quartz/tests: Move the test for filter mapper aggregation to filtergraph.c. Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- dlls/quartz/tests/filtergraph.c | 25 ++++++++++++++ dlls/quartz/tests/filtermapper.c | 58 -------------------------------- 2 files changed, 25 insertions(+), 58 deletions(-) diff --git a/dlls/quartz/tests/filtergraph.c b/dlls/quartz/tests/filtergraph.c index e926b109ec2..68b4863442f 100644 --- a/dlls/quartz/tests/filtergraph.c +++ b/dlls/quartz/tests/filtergraph.c @@ -2496,6 +2496,7 @@ static IUnknown test_outer = {&outer_vtbl}; static void test_aggregation(void) { IFilterGraph2 *graph, *graph2; + IFilterMapper2 *mapper; IUnknown *unk, *unk2; HRESULT hr; ULONG ref; @@ -2550,6 +2551,30 @@ static void test_aggregation(void) ref = IUnknown_Release(unk); ok(!ref, "Got unexpected refcount %d.\n", ref); ok(outer_ref == 1, "Got unexpected refcount %d.\n", outer_ref); + + /* Test the aggregated filter mapper. */ + + graph = create_graph(); + + ref = get_refcount(graph); + ok(ref == 1, "Got unexpected refcount %d.\n", ref); + + hr = IFilterGraph2_QueryInterface(graph, &IID_IFilterMapper2, (void **)&mapper); + ok(hr == S_OK, "Got hr %#x.\n", hr); + + ref = get_refcount(graph); + ok(ref == 2, "Got unexpected refcount %d.\n", ref); + ref = get_refcount(mapper); + ok(ref == 2, "Got unexpected refcount %d.\n", ref); + + hr = IFilterMapper2_QueryInterface(mapper, &IID_IFilterGraph2, (void **)&graph2); + ok(hr == S_OK, "Got hr %#x.\n", hr); + ok(graph2 == graph, "Got unexpected IFilterGraph2 %p.\n", graph2); + IFilterGraph2_Release(graph2); + + IFilterMapper2_Release(mapper); + ref = IFilterGraph2_Release(graph); + ok(!ref, "Got unexpected refcount %d.\n", ref); } /* Test how methods from "control" interfaces (IBasicAudio, IBasicVideo, diff --git a/dlls/quartz/tests/filtermapper.c b/dlls/quartz/tests/filtermapper.c index b9123ce5253..f1a942b1d25 100644 --- a/dlls/quartz/tests/filtermapper.c +++ b/dlls/quartz/tests/filtermapper.c @@ -368,63 +368,6 @@ static void test_legacy_filter_registration(void) IFilterMapper2_Release(mapper2); } -static ULONG getRefcount(IUnknown *iface) -{ - IUnknown_AddRef(iface); - return IUnknown_Release(iface); -} - -static void test_ifiltermapper_from_filtergraph(void) -{ - IFilterGraph2* pgraph2 = NULL; - IFilterMapper2 *pMapper2 = NULL; - IFilterGraph *filtergraph = NULL; - HRESULT hr; - ULONG refcount; - - 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 = IFilterGraph2_QueryInterface(pgraph2, &IID_IFilterMapper2, (LPVOID*)&pMapper2); - ok(hr == S_OK, "IFilterGraph2_QueryInterface failed with %08x\n", hr); - if (!pMapper2) goto out; - - refcount = getRefcount((IUnknown*)pgraph2); - ok(refcount == 2, "unexpected reference count: %u\n", refcount); - refcount = getRefcount((IUnknown*)pMapper2); - ok(refcount == 2, "unexpected reference count: %u\n", refcount); - - IFilterMapper2_AddRef(pMapper2); - refcount = getRefcount((IUnknown*)pgraph2); - ok(refcount == 3, "unexpected reference count: %u\n", refcount); - refcount = getRefcount((IUnknown*)pMapper2); - ok(refcount == 3, "unexpected reference count: %u\n", refcount); - IFilterMapper2_Release(pMapper2); - - hr = IFilterMapper2_QueryInterface(pMapper2, &IID_IFilterGraph, (LPVOID*)&filtergraph); - ok(hr == S_OK, "IFilterMapper2_QueryInterface failed with %08x\n", hr); - if (!filtergraph) goto out; - - IFilterMapper2_Release(pMapper2); - pMapper2 = NULL; - IFilterGraph_Release(filtergraph); - filtergraph = NULL; - - hr = CoCreateInstance(&CLSID_FilterMapper2, NULL, CLSCTX_INPROC_SERVER, &IID_IFilterMapper2, (LPVOID*)&pMapper2); - ok(hr == S_OK, "CoCreateInstance failed with %08x\n", hr); - if (!pMapper2) goto out; - - hr = IFilterMapper2_QueryInterface(pMapper2, &IID_IFilterGraph, (LPVOID*)&filtergraph); - ok(hr == E_NOINTERFACE, "IFilterMapper2_QueryInterface unexpected result: %08x\n", hr); - - out: - - if (pMapper2) IFilterMapper2_Release(pMapper2); - if (filtergraph) IFilterGraph_Release(filtergraph); - if (pgraph2) IFilterGraph2_Release(pgraph2); -} - static void test_register_filter_with_null_clsMinorType(void) { static WCHAR wszPinName[] = L"Pin"; @@ -721,7 +664,6 @@ START_TEST(filtermapper) test_interfaces(); test_fm2_enummatchingfilters(); test_legacy_filter_registration(); - test_ifiltermapper_from_filtergraph(); test_register_filter_with_null_clsMinorType(); test_parse_filter_data(); test_aggregation();