Zebediah Figura : strmbase: Factor out strmbase_pin_init().
Alexandre Julliard
julliard at winehq.org
Thu Jun 13 15:40:38 CDT 2019
Module: wine
Branch: master
Commit: d16bc95b95f7d90f411838057a36a9f62468f896
URL: https://source.winehq.org/git/wine.git/?a=commit;h=d16bc95b95f7d90f411838057a36a9f62468f896
Author: Zebediah Figura <z.figura12 at gmail.com>
Date: Wed Jun 12 18:58:34 2019 -0500
strmbase: Factor out strmbase_pin_init().
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/strmbase/pin.c | 74 +++++++++++++++++++++--------------------------------
1 file changed, 29 insertions(+), 45 deletions(-)
diff --git a/dlls/strmbase/pin.c b/dlls/strmbase/pin.c
index 2fa0b9a..c60deed 100644
--- a/dlls/strmbase/pin.c
+++ b/dlls/strmbase/pin.c
@@ -728,26 +728,24 @@ HRESULT WINAPI BaseOutputPinImpl_AttemptConnection(BaseOutputPin *This, IPin *pR
return hr;
}
-static HRESULT OutputPin_Init(const IPinVtbl *OutputPin_Vtbl, const PIN_INFO * pPinInfo, const BaseOutputPinFuncTable* vtbl, LPCRITICAL_SECTION pCritSec, BaseOutputPin * pPinImpl)
-{
- TRACE("(%p)\n", pPinImpl);
-
- /* Common attributes */
- pPinImpl->pin.IPin_iface.lpVtbl = OutputPin_Vtbl;
- pPinImpl->pin.refCount = 1;
- pPinImpl->pin.pConnectedTo = NULL;
- pPinImpl->pin.pCritSec = pCritSec;
- pPinImpl->pin.tStart = 0;
- pPinImpl->pin.tStop = 0;
- pPinImpl->pin.dRate = 1.0;
- Copy_PinInfo(&pPinImpl->pin.pinInfo, pPinInfo);
- pPinImpl->pin.pFuncsTable = &vtbl->base;
- ZeroMemory(&pPinImpl->pin.mtCurrent, sizeof(AM_MEDIA_TYPE));
-
- /* Output pin attributes */
- pPinImpl->pMemInputPin = NULL;
- pPinImpl->pAllocator = NULL;
- pPinImpl->pFuncsTable = vtbl;
+static void strmbase_pin_init(BasePin *pin, const IPinVtbl *vtbl,
+ const BasePinFuncTable *func_table, const PIN_INFO *info, CRITICAL_SECTION *cs)
+{
+ memset(pin, 0, sizeof(*pin));
+ pin->IPin_iface.lpVtbl = vtbl;
+ pin->refCount = 1;
+ pin->pCritSec = cs;
+ pin->dRate = 1.0;
+ Copy_PinInfo(&pin->pinInfo, info);
+ pin->pFuncsTable = func_table;
+}
+
+static HRESULT OutputPin_Init(const IPinVtbl *vtbl, const PIN_INFO *info,
+ const BaseOutputPinFuncTable *func_table, CRITICAL_SECTION *cs, BaseOutputPin *pin)
+{
+ memset(pin, 0, sizeof(*pin));
+ strmbase_pin_init(&pin->pin, vtbl, &func_table->base, info, cs);
+ pin->pFuncsTable = func_table;
return S_OK;
}
@@ -1111,31 +1109,17 @@ static const IMemInputPinVtbl MemInputPin_Vtbl =
MemInputPin_ReceiveCanBlock
};
-static HRESULT InputPin_Init(const IPinVtbl *InputPin_Vtbl, const PIN_INFO * pPinInfo,
- const BaseInputPinFuncTable* vtbl,
- LPCRITICAL_SECTION pCritSec, IMemAllocator *allocator, BaseInputPin * pPinImpl)
-{
- TRACE("(%p)\n", pPinImpl);
-
- /* Common attributes */
- pPinImpl->pin.refCount = 1;
- pPinImpl->pin.pConnectedTo = NULL;
- pPinImpl->pin.pCritSec = pCritSec;
- pPinImpl->pin.tStart = 0;
- pPinImpl->pin.tStop = 0;
- pPinImpl->pin.dRate = 1.0;
- Copy_PinInfo(&pPinImpl->pin.pinInfo, pPinInfo);
- ZeroMemory(&pPinImpl->pin.mtCurrent, sizeof(AM_MEDIA_TYPE));
- pPinImpl->pin.pFuncsTable = &vtbl->base;
-
- /* Input pin attributes */
- pPinImpl->pFuncsTable = vtbl;
- pPinImpl->pAllocator = pPinImpl->preferred_allocator = allocator;
- if (pPinImpl->preferred_allocator)
- IMemAllocator_AddRef(pPinImpl->preferred_allocator);
- pPinImpl->pin.IPin_iface.lpVtbl = InputPin_Vtbl;
- pPinImpl->IMemInputPin_iface.lpVtbl = &MemInputPin_Vtbl;
- pPinImpl->flushing = pPinImpl->end_of_stream = FALSE;
+static HRESULT InputPin_Init(const IPinVtbl *vtbl, const PIN_INFO *info,
+ const BaseInputPinFuncTable *func_table, CRITICAL_SECTION *cs,
+ IMemAllocator *allocator, BaseInputPin *pin)
+{
+ memset(pin, 0, sizeof(*pin));
+ strmbase_pin_init(&pin->pin, vtbl, &func_table->base, info, cs);
+ pin->pFuncsTable = func_table;
+ pin->pAllocator = pin->preferred_allocator = allocator;
+ if (pin->preferred_allocator)
+ IMemAllocator_AddRef(pin->preferred_allocator);
+ pin->IMemInputPin_iface.lpVtbl = &MemInputPin_Vtbl;
return S_OK;
}
More information about the wine-cvs
mailing list