Zebediah Figura : qcap/avimux: Use BaseFilter_Destroy().

Alexandre Julliard julliard at winehq.org
Wed May 22 15:52:05 CDT 2019


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

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Wed May 22 00:02:16 2019 -0500

qcap/avimux: Use BaseFilter_Destroy().

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

---

 dlls/qcap/avimux.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/qcap/avimux.c b/dlls/qcap/avimux.c
index 3a269a3..ff45fb0 100644
--- a/dlls/qcap/avimux.c
+++ b/dlls/qcap/avimux.c
@@ -175,7 +175,7 @@ static HRESULT WINAPI AviMux_QueryInterface(IBaseFilter *iface, REFIID riid, voi
 static ULONG WINAPI AviMux_Release(IBaseFilter *iface)
 {
     AviMux *This = impl_from_IBaseFilter(iface);
-    ULONG ref = BaseFilterImpl_Release(iface);
+    ULONG ref = InterlockedDecrement(&This->filter.refCount);
 
     TRACE("(%p) new refcount: %u\n", This, ref);
 
@@ -192,6 +192,7 @@ static ULONG WINAPI AviMux_Release(IBaseFilter *iface)
         }
 
         HeapFree(GetProcessHeap(), 0, This->idx1);
+        strmbase_filter_cleanup(&This->filter);
         HeapFree(GetProcessHeap(), 0, This);
         ObjectRefCount(FALSE);
     }
@@ -2364,7 +2365,7 @@ IUnknown* WINAPI QCAP_createAVIMux(IUnknown *pUnkOuter, HRESULT *phr)
     hr = BaseOutputPin_Construct(&AviMuxOut_PinVtbl, sizeof(AviMuxOut), &info,
             &AviMuxOut_BaseOutputFuncTable, &avimux->filter.csFilter, (IPin**)&avimux->out);
     if(FAILED(hr)) {
-        BaseFilterImpl_Release(&avimux->filter.IBaseFilter_iface);
+        strmbase_filter_cleanup(&avimux->filter);
         HeapFree(GetProcessHeap(), 0, avimux);
         *phr = hr;
         return NULL;
@@ -2377,7 +2378,7 @@ IUnknown* WINAPI QCAP_createAVIMux(IUnknown *pUnkOuter, HRESULT *phr)
     hr = create_input_pin(avimux);
     if(FAILED(hr)) {
         BaseOutputPinImpl_Release(&avimux->out->pin.pin.IPin_iface);
-        BaseFilterImpl_Release(&avimux->filter.IBaseFilter_iface);
+        strmbase_filter_cleanup(&avimux->filter);
         HeapFree(GetProcessHeap(), 0, avimux);
         *phr = hr;
         return NULL;




More information about the wine-cvs mailing list