Zebediah Figura : quartz/tests: Store a testfilter pointer inside the testpin structure.

Alexandre Julliard julliard at winehq.org
Mon Nov 16 15:28:56 CST 2020


Module: wine
Branch: master
Commit: 316396275cf9bfdf058f79d31039cccc74334354
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=316396275cf9bfdf058f79d31039cccc74334354

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Sun Nov 15 11:04:35 2020 -0600

quartz/tests: Store a testfilter pointer inside the testpin structure.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/quartz/tests/filtergraph.c | 79 ++++++++++++++++++++---------------------
 1 file changed, 38 insertions(+), 41 deletions(-)

diff --git a/dlls/quartz/tests/filtergraph.c b/dlls/quartz/tests/filtergraph.c
index b0f287e7fe2..1821919a094 100644
--- a/dlls/quartz/tests/filtergraph.c
+++ b/dlls/quartz/tests/filtergraph.c
@@ -789,7 +789,7 @@ struct testpin
     IPin IPin_iface;
     LONG ref;
     PIN_DIRECTION dir;
-    IBaseFilter *filter;
+    struct testfilter *filter;
     IPin *peer;
     AM_MEDIA_TYPE *mt;
     WCHAR name[10];
@@ -806,6 +806,40 @@ struct testpin
     HRESULT QueryInternalConnections_hr;
 };
 
+struct testfilter
+{
+    IBaseFilter IBaseFilter_iface;
+    LONG ref;
+    IFilterGraph *graph;
+    WCHAR *name;
+    IReferenceClock *clock;
+
+    IEnumPins IEnumPins_iface;
+    struct testpin *pins;
+    unsigned int pin_count, enum_idx;
+
+    FILTER_STATE state;
+    REFERENCE_TIME start_time;
+    HRESULT state_hr, GetState_hr, seek_hr;
+    FILTER_STATE expect_stop_prev, expect_run_prev;
+
+    IAMFilterMiscFlags IAMFilterMiscFlags_iface;
+    ULONG misc_flags;
+
+    IMediaSeeking IMediaSeeking_iface;
+    LONG seeking_ref;
+    DWORD seek_caps;
+    BOOL support_testguid, support_media_time;
+    GUID time_format;
+    LONGLONG seek_duration, seek_current, seek_stop;
+    double seek_rate;
+
+    IReferenceClock IReferenceClock_iface;
+
+    IFileSourceFilter IFileSourceFilter_iface;
+    WCHAR filename[MAX_PATH];
+};
+
 static inline struct testpin *impl_from_IEnumMediaTypes(IEnumMediaTypes *iface)
 {
     return CONTAINING_RECORD(iface, struct testpin, IEnumMediaTypes_iface);
@@ -954,8 +988,8 @@ static HRESULT WINAPI testpin_QueryPinInfo(IPin *iface, PIN_INFO *info)
     struct testpin *pin = impl_from_IPin(iface);
     if (winetest_debug > 1) trace("%p->QueryPinInfo()\n", pin);
 
-    info->pFilter = pin->filter;
-    IBaseFilter_AddRef(pin->filter);
+    info->pFilter = &pin->filter->IBaseFilter_iface;
+    IBaseFilter_AddRef(info->pFilter);
     info->dir = pin->dir;
     wcscpy(info->achName, pin->name);
     return S_OK;
@@ -1158,40 +1192,6 @@ static void testsource_init(struct testpin *pin, const AM_MEDIA_TYPE *types, int
     pin->type_count = type_count;
 }
 
-struct testfilter
-{
-    IBaseFilter IBaseFilter_iface;
-    LONG ref;
-    IFilterGraph *graph;
-    WCHAR *name;
-    IReferenceClock *clock;
-
-    IEnumPins IEnumPins_iface;
-    struct testpin *pins;
-    unsigned int pin_count, enum_idx;
-
-    FILTER_STATE state;
-    REFERENCE_TIME start_time;
-    HRESULT state_hr, GetState_hr, seek_hr;
-    FILTER_STATE expect_stop_prev, expect_run_prev;
-
-    IAMFilterMiscFlags IAMFilterMiscFlags_iface;
-    ULONG misc_flags;
-
-    IMediaSeeking IMediaSeeking_iface;
-    LONG seeking_ref;
-    DWORD seek_caps;
-    BOOL support_testguid, support_media_time;
-    GUID time_format;
-    LONGLONG seek_duration, seek_current, seek_stop;
-    double seek_rate;
-
-    IReferenceClock IReferenceClock_iface;
-
-    IFileSourceFilter IFileSourceFilter_iface;
-    WCHAR filename[MAX_PATH];
-};
-
 static inline struct testfilter *impl_from_IEnumPins(IEnumPins *iface)
 {
     return CONTAINING_RECORD(iface, struct testfilter, IEnumPins_iface);
@@ -1842,7 +1842,7 @@ static void testfilter_init(struct testfilter *filter, struct testpin *pins, int
     filter->pins = pins;
     filter->pin_count = pin_count;
     for (i = 0; i < pin_count; i++)
-        pins[i].filter = &filter->IBaseFilter_iface;
+        pins[i].filter = filter;
 
     filter->state = State_Stopped;
     filter->expect_stop_prev = filter->expect_run_prev = State_Paused;
@@ -3232,9 +3232,6 @@ static void test_filter_state(void)
     IFilterGraph2_QueryInterface(graph, &IID_IMediaFilter, (void **)&filter);
     IFilterGraph2_QueryInterface(graph, &IID_IMediaControl, (void **)&control);
 
-    source_pin.filter = &source.IBaseFilter_iface;
-    sink_pin.filter = &sink.IBaseFilter_iface;
-
     IFilterGraph2_AddFilter(graph, &source.IBaseFilter_iface, NULL);
     IFilterGraph2_AddFilter(graph, &sink.IBaseFilter_iface, NULL);
     IFilterGraph2_AddFilter(graph, &dummy.IBaseFilter_iface, NULL);




More information about the wine-cvs mailing list