quartz/tests: Move the test for filter mapper aggregation to filtergraph.c.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
b8abb6e99c
commit
f7718d6453
|
@ -2496,6 +2496,7 @@ static IUnknown test_outer = {&outer_vtbl};
|
||||||
static void test_aggregation(void)
|
static void test_aggregation(void)
|
||||||
{
|
{
|
||||||
IFilterGraph2 *graph, *graph2;
|
IFilterGraph2 *graph, *graph2;
|
||||||
|
IFilterMapper2 *mapper;
|
||||||
IUnknown *unk, *unk2;
|
IUnknown *unk, *unk2;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
ULONG ref;
|
ULONG ref;
|
||||||
|
@ -2550,6 +2551,30 @@ static void test_aggregation(void)
|
||||||
ref = IUnknown_Release(unk);
|
ref = IUnknown_Release(unk);
|
||||||
ok(!ref, "Got unexpected refcount %d.\n", ref);
|
ok(!ref, "Got unexpected refcount %d.\n", ref);
|
||||||
ok(outer_ref == 1, "Got unexpected refcount %d.\n", outer_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,
|
/* Test how methods from "control" interfaces (IBasicAudio, IBasicVideo,
|
||||||
|
|
|
@ -368,63 +368,6 @@ static void test_legacy_filter_registration(void)
|
||||||
IFilterMapper2_Release(mapper2);
|
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 void test_register_filter_with_null_clsMinorType(void)
|
||||||
{
|
{
|
||||||
static WCHAR wszPinName[] = L"Pin";
|
static WCHAR wszPinName[] = L"Pin";
|
||||||
|
@ -721,7 +664,6 @@ START_TEST(filtermapper)
|
||||||
test_interfaces();
|
test_interfaces();
|
||||||
test_fm2_enummatchingfilters();
|
test_fm2_enummatchingfilters();
|
||||||
test_legacy_filter_registration();
|
test_legacy_filter_registration();
|
||||||
test_ifiltermapper_from_filtergraph();
|
|
||||||
test_register_filter_with_null_clsMinorType();
|
test_register_filter_with_null_clsMinorType();
|
||||||
test_parse_filter_data();
|
test_parse_filter_data();
|
||||||
test_aggregation();
|
test_aggregation();
|
||||||
|
|
Loading…
Reference in New Issue