[PATCH 3/5] strmbase: Factor out strmbase_sink_cleanup().

Zebediah Figura zfigura at codeweavers.com
Wed Jun 12 18:58:36 CDT 2019


From: Zebediah Figura <z.figura12 at gmail.com>

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/strmbase/pin.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/dlls/strmbase/pin.c b/dlls/strmbase/pin.c
index 6bc9927f69a..688a5bcc186 100644
--- a/dlls/strmbase/pin.c
+++ b/dlls/strmbase/pin.c
@@ -1150,13 +1150,18 @@ HRESULT BaseInputPin_Construct(const IPinVtbl *InputPin_Vtbl, LONG inputpin_size
     return S_OK;
 }
 
+static void strmbase_sink_cleanup(BaseInputPin *pin)
+{
+    FreeMediaType(&pin->pin.mtCurrent);
+    if (pin->pAllocator)
+        IMemAllocator_Release(pin->pAllocator);
+    pin->pAllocator = NULL;
+    pin->pin.IPin_iface.lpVtbl = NULL;
+}
+
 HRESULT WINAPI BaseInputPin_Destroy(BaseInputPin *This)
 {
-    FreeMediaType(&This->pin.mtCurrent);
-    if (This->pAllocator)
-        IMemAllocator_Release(This->pAllocator);
-    This->pAllocator = NULL;
-    This->pin.IPin_iface.lpVtbl = NULL;
+    strmbase_sink_cleanup(This);
     CoTaskMemFree(This);
     return S_OK;
 }
-- 
2.20.1




More information about the wine-devel mailing list