Piotr Caban : qcap: Add helper to initalize test_filter structure.

Alexandre Julliard julliard at winehq.org
Tue Nov 26 15:51:44 CST 2013


Module: wine
Branch: master
Commit: 4a3b8d2e3c4d099c1c5871345f458dc13bde9a61
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4a3b8d2e3c4d099c1c5871345f458dc13bde9a61

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Nov 26 14:36:04 2013 +0100

qcap: Add helper to initalize test_filter structure.

---

 dlls/qcap/tests/qcap.c |   29 +++++++++++++++++++++--------
 1 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/dlls/qcap/tests/qcap.c b/dlls/qcap/tests/qcap.c
index 463a75c..80c2b33 100644
--- a/dlls/qcap/tests/qcap.c
+++ b/dlls/qcap/tests/qcap.c
@@ -984,17 +984,29 @@ static const IEnumMediaTypesVtbl EnumMediaTypesVtbl = {
     EnumMediaTypes_Clone
 };
 
+static void init_test_filter(test_filter *This, PIN_DIRECTION dir, filter_type type)
+{
+    memset(This, 0, sizeof(*This));
+    This->IBaseFilter_iface.lpVtbl = &BaseFilterVtbl;
+    This->IEnumPins_iface.lpVtbl = &EnumPinsVtbl;
+    This->IPin_iface.lpVtbl = &PinVtbl;
+    This->IKsPropertySet_iface.lpVtbl = &KsPropertySetVtbl;
+    This->IEnumMediaTypes_iface.lpVtbl = &EnumMediaTypesVtbl;
+
+    This->dir = dir;
+    This->filter_type = type;
+}
+
 static void test_CaptureGraphBuilder_RenderStream(void)
 {
-    test_filter source_filter = {{&BaseFilterVtbl}, {&EnumPinsVtbl}, {&PinVtbl},
-        {&KsPropertySetVtbl}, {&EnumMediaTypesVtbl}, PINDIR_OUTPUT, SOURCE_FILTER};
-    test_filter sink_filter = {{&BaseFilterVtbl}, {&EnumPinsVtbl}, {&PinVtbl},
-        {&KsPropertySetVtbl}, {&EnumMediaTypesVtbl}, PINDIR_INPUT, SINK_FILTER};
-    test_filter intermediate_filter = {{&BaseFilterVtbl}, {&EnumPinsVtbl}, {&PinVtbl},
-        {&KsPropertySetVtbl}, {&EnumMediaTypesVtbl}, PINDIR_OUTPUT, INTERMEDIATE_FILTER};
+    test_filter source_filter, sink_filter, intermediate_filter;
     ICaptureGraphBuilder2 *cgb;
     HRESULT hr;
 
+    init_test_filter(&source_filter, PINDIR_OUTPUT, SOURCE_FILTER);
+    init_test_filter(&sink_filter, PINDIR_INPUT, SINK_FILTER);
+    init_test_filter(&intermediate_filter, PINDIR_OUTPUT, INTERMEDIATE_FILTER);
+
     hr = CoCreateInstance(&CLSID_CaptureGraphBuilder2, NULL, CLSCTX_INPROC_SERVER,
             &IID_ICaptureGraphBuilder2, (void**)&cgb);
     ok(hr == S_OK || broken(hr == REGDB_E_CLASSNOTREG),
@@ -1070,8 +1082,7 @@ static void test_AviMux_QueryInterface(void)
 
 static void test_AviMux(void)
 {
-    test_filter source_filter = {{&BaseFilterVtbl}, {&EnumPinsVtbl}, {&PinVtbl},
-        {&KsPropertySetVtbl}, {&EnumMediaTypesVtbl}, PINDIR_OUTPUT, SOURCE_FILTER};
+    test_filter source_filter;
     VIDEOINFOHEADER videoinfoheader;
     IPin *avimux_in, *avimux_out, *pin;
     AM_MEDIA_TYPE source_media_type;
@@ -1082,6 +1093,8 @@ static void test_AviMux(void)
     IEnumMediaTypes *emt;
     HRESULT hr;
 
+    init_test_filter(&source_filter, PINDIR_OUTPUT, SOURCE_FILTER);
+
     hr = CoCreateInstance(&CLSID_AviDest, NULL, CLSCTX_INPROC_SERVER, &IID_IBaseFilter, (void**)&avimux);
     ok(hr == S_OK || broken(hr == REGDB_E_CLASSNOTREG),
             "couldn't create AVI Mux filter, hr = %08x\n", hr);




More information about the wine-cvs mailing list