[PATCH 5/5] qcap: Use strmbase pin reference counting methods.

Zebediah Figura z.figura12 at gmail.com
Tue Jun 18 20:17:37 CDT 2019


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/qcap/avico.c          | 32 ++++---------------------
 dlls/qcap/avimux.c         | 32 ++++---------------------
 dlls/qcap/smartteefilter.c | 49 +++++---------------------------------
 dlls/qcap/vfwcapture.c     | 17 ++-----------
 4 files changed, 16 insertions(+), 114 deletions(-)

diff --git a/dlls/qcap/avico.c b/dlls/qcap/avico.c
index 399fe0979d9..bcfdc6b0876 100644
--- a/dlls/qcap/avico.c
+++ b/dlls/qcap/avico.c
@@ -323,18 +323,6 @@ static HRESULT WINAPI AVICompressorIn_QueryInterface(IPin *iface, REFIID riid, v
     return BaseInputPinImpl_QueryInterface(iface, riid, ppv);
 }
 
-static ULONG WINAPI AVICompressorIn_AddRef(IPin *iface)
-{
-    AVICompressor *This = impl_from_IPin(iface);
-    return IBaseFilter_AddRef(&This->filter.IBaseFilter_iface);
-}
-
-static ULONG WINAPI AVICompressorIn_Release(IPin *iface)
-{
-    AVICompressor *This = impl_from_IPin(iface);
-    return IBaseFilter_Release(&This->filter.IBaseFilter_iface);
-}
-
 static HRESULT WINAPI AVICompressorIn_ReceiveConnection(IPin *iface,
         IPin *pConnector, const AM_MEDIA_TYPE *pmt)
 {
@@ -372,8 +360,8 @@ static HRESULT WINAPI AVICompressorIn_Disconnect(IPin *iface)
 
 static const IPinVtbl AVICompressorInputPinVtbl = {
     AVICompressorIn_QueryInterface,
-    AVICompressorIn_AddRef,
-    AVICompressorIn_Release,
+    BasePinImpl_AddRef,
+    BasePinImpl_Release,
     BaseInputPinImpl_Connect,
     AVICompressorIn_ReceiveConnection,
     AVICompressorIn_Disconnect,
@@ -524,22 +512,10 @@ static HRESULT WINAPI AVICompressorOut_QueryInterface(IPin *iface, REFIID riid,
     return BaseInputPinImpl_QueryInterface(iface, riid, ppv);
 }
 
-static ULONG WINAPI AVICompressorOut_AddRef(IPin *iface)
-{
-    AVICompressor *This = impl_from_IPin(iface);
-    return IBaseFilter_AddRef(&This->filter.IBaseFilter_iface);
-}
-
-static ULONG WINAPI AVICompressorOut_Release(IPin *iface)
-{
-    AVICompressor *This = impl_from_IPin(iface);
-    return IBaseFilter_Release(&This->filter.IBaseFilter_iface);
-}
-
 static const IPinVtbl AVICompressorOutputPinVtbl = {
     AVICompressorOut_QueryInterface,
-    AVICompressorOut_AddRef,
-    AVICompressorOut_Release,
+    BasePinImpl_AddRef,
+    BasePinImpl_Release,
     BaseOutputPinImpl_Connect,
     BaseOutputPinImpl_ReceiveConnection,
     BaseOutputPinImpl_Disconnect,
diff --git a/dlls/qcap/avimux.c b/dlls/qcap/avimux.c
index 784d93a57c4..d2475eedb02 100644
--- a/dlls/qcap/avimux.c
+++ b/dlls/qcap/avimux.c
@@ -1255,18 +1255,6 @@ static HRESULT WINAPI AviMuxOut_QueryInterface(IPin *iface, REFIID riid, void **
     return S_OK;
 }
 
-static ULONG WINAPI AviMuxOut_AddRef(IPin *iface)
-{
-    AviMux *This = impl_from_out_IPin(iface);
-    return IBaseFilter_AddRef(&This->filter.IBaseFilter_iface);
-}
-
-static ULONG WINAPI AviMuxOut_Release(IPin *iface)
-{
-    AviMux *This = impl_from_out_IPin(iface);
-    return IBaseFilter_Release(&This->filter.IBaseFilter_iface);
-}
-
 static HRESULT WINAPI AviMuxOut_Connect(IPin *iface,
         IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
 {
@@ -1408,8 +1396,8 @@ static HRESULT WINAPI AviMuxOut_NewSegment(IPin *iface, REFERENCE_TIME tStart,
 
 static const IPinVtbl AviMuxOut_PinVtbl = {
     AviMuxOut_QueryInterface,
-    AviMuxOut_AddRef,
-    AviMuxOut_Release,
+    BasePinImpl_AddRef,
+    BasePinImpl_Release,
     AviMuxOut_Connect,
     AviMuxOut_ReceiveConnection,
     AviMuxOut_Disconnect,
@@ -1655,18 +1643,6 @@ static HRESULT WINAPI AviMuxIn_QueryInterface(IPin *iface, REFIID riid, void **p
     return S_OK;
 }
 
-static ULONG WINAPI AviMuxIn_AddRef(IPin *iface)
-{
-    AviMux *This = impl_from_in_IPin(iface);
-    return IBaseFilter_AddRef(&This->filter.IBaseFilter_iface);
-}
-
-static ULONG WINAPI AviMuxIn_Release(IPin *iface)
-{
-    AviMux *This = impl_from_in_IPin(iface);
-    return IBaseFilter_Release(&This->filter.IBaseFilter_iface);
-}
-
 static HRESULT WINAPI AviMuxIn_Connect(IPin *iface,
         IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
 {
@@ -1876,8 +1852,8 @@ static HRESULT WINAPI AviMuxIn_NewSegment(IPin *iface, REFERENCE_TIME tStart,
 
 static const IPinVtbl AviMuxIn_PinVtbl = {
     AviMuxIn_QueryInterface,
-    AviMuxIn_AddRef,
-    AviMuxIn_Release,
+    BasePinImpl_AddRef,
+    BasePinImpl_Release,
     AviMuxIn_Connect,
     AviMuxIn_ReceiveConnection,
     AviMuxIn_Disconnect,
diff --git a/dlls/qcap/smartteefilter.c b/dlls/qcap/smartteefilter.c
index 51efe17b75b..caaaaab43ba 100644
--- a/dlls/qcap/smartteefilter.c
+++ b/dlls/qcap/smartteefilter.c
@@ -146,23 +146,10 @@ static const BaseFilterFuncTable SmartTeeFilterFuncs = {
     .filter_destroy = smart_tee_destroy,
 };
 
-static ULONG WINAPI SmartTeeFilterInput_AddRef(IPin *iface)
-{
-    SmartTeeFilter *This = impl_from_IPin(iface);
-    return IBaseFilter_AddRef(&This->filter.IBaseFilter_iface);
-}
-
-static ULONG WINAPI SmartTeeFilterInput_Release(IPin *iface)
-{
-    SmartTeeFilter *This = impl_from_IPin(iface);
-    return IBaseFilter_Release(&This->filter.IBaseFilter_iface);
-}
-
-
 static const IPinVtbl SmartTeeFilterInputVtbl = {
     BaseInputPinImpl_QueryInterface,
-    SmartTeeFilterInput_AddRef,
-    SmartTeeFilterInput_Release,
+    BasePinImpl_AddRef,
+    BasePinImpl_Release,
     BaseInputPinImpl_Connect,
     BaseInputPinImpl_ReceiveConnection,
     BasePinImpl_Disconnect,
@@ -340,18 +327,6 @@ static const BaseInputPinFuncTable SmartTeeFilterInputFuncs = {
     SmartTeeFilterInput_Receive
 };
 
-static ULONG WINAPI SmartTeeFilterCapture_AddRef(IPin *iface)
-{
-    SmartTeeFilter *This = impl_from_IPin(iface);
-    return IBaseFilter_AddRef(&This->filter.IBaseFilter_iface);
-}
-
-static ULONG WINAPI SmartTeeFilterCapture_Release(IPin *iface)
-{
-    SmartTeeFilter *This = impl_from_IPin(iface);
-    return IBaseFilter_Release(&This->filter.IBaseFilter_iface);
-}
-
 static HRESULT WINAPI SmartTeeFilterCapture_EnumMediaTypes(IPin *iface, IEnumMediaTypes **ppEnum)
 {
     SmartTeeFilter *This = impl_from_IPin(iface);
@@ -368,8 +343,8 @@ static HRESULT WINAPI SmartTeeFilterCapture_EnumMediaTypes(IPin *iface, IEnumMed
 
 static const IPinVtbl SmartTeeFilterCaptureVtbl = {
     BaseOutputPinImpl_QueryInterface,
-    SmartTeeFilterCapture_AddRef,
-    SmartTeeFilterCapture_Release,
+    BasePinImpl_AddRef,
+    BasePinImpl_Release,
     BaseOutputPinImpl_Connect,
     BaseOutputPinImpl_ReceiveConnection,
     BaseOutputPinImpl_Disconnect,
@@ -423,18 +398,6 @@ static const BaseOutputPinFuncTable SmartTeeFilterCaptureFuncs = {
     SmartTeeFilterCapture_DecideAllocator,
 };
 
-static ULONG WINAPI SmartTeeFilterPreview_AddRef(IPin *iface)
-{
-    SmartTeeFilter *This = impl_from_IPin(iface);
-    return IBaseFilter_AddRef(&This->filter.IBaseFilter_iface);
-}
-
-static ULONG WINAPI SmartTeeFilterPreview_Release(IPin *iface)
-{
-    SmartTeeFilter *This = impl_from_IPin(iface);
-    return IBaseFilter_Release(&This->filter.IBaseFilter_iface);
-}
-
 static HRESULT WINAPI SmartTeeFilterPreview_EnumMediaTypes(IPin *iface, IEnumMediaTypes **ppEnum)
 {
     SmartTeeFilter *This = impl_from_IPin(iface);
@@ -451,8 +414,8 @@ static HRESULT WINAPI SmartTeeFilterPreview_EnumMediaTypes(IPin *iface, IEnumMed
 
 static const IPinVtbl SmartTeeFilterPreviewVtbl = {
     BaseOutputPinImpl_QueryInterface,
-    SmartTeeFilterPreview_AddRef,
-    SmartTeeFilterPreview_Release,
+    BasePinImpl_AddRef,
+    BasePinImpl_Release,
     BaseOutputPinImpl_Connect,
     BaseOutputPinImpl_ReceiveConnection,
     BaseOutputPinImpl_Disconnect,
diff --git a/dlls/qcap/vfwcapture.c b/dlls/qcap/vfwcapture.c
index 2cb1f7dece5..660f44d4171 100644
--- a/dlls/qcap/vfwcapture.c
+++ b/dlls/qcap/vfwcapture.c
@@ -677,19 +677,6 @@ static HRESULT WINAPI VfwPin_QueryInterface(IPin * iface, REFIID riid, LPVOID *
     return E_NOINTERFACE;
 }
 
-static ULONG WINAPI VfwPin_AddRef(IPin *iface)
-{
-    VfwPinImpl *pin = impl_from_IPin(iface);
-    return IBaseFilter_AddRef(pin->pin.pin.pinInfo.pFilter);
-}
-
-static ULONG WINAPI
-VfwPin_Release(IPin * iface)
-{
-    VfwPinImpl *pin = impl_from_IPin(iface);
-    return IBaseFilter_Release(pin->pin.pin.pinInfo.pFilter);
-}
-
 static HRESULT WINAPI
 VfwPin_EnumMediaTypes(IPin * iface, IEnumMediaTypes ** ppEnum)
 {
@@ -716,8 +703,8 @@ VfwPin_QueryInternalConnections(IPin * iface, IPin ** apPin, ULONG * cPin)
 static const IPinVtbl VfwPin_Vtbl =
 {
     VfwPin_QueryInterface,
-    VfwPin_AddRef,
-    VfwPin_Release,
+    BasePinImpl_AddRef,
+    BasePinImpl_Release,
     BaseOutputPinImpl_Connect,
     BaseOutputPinImpl_ReceiveConnection,
     BaseOutputPinImpl_Disconnect,
-- 
2.21.0




More information about the wine-devel mailing list