strmbase: Get rid of the BasePin typedef.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2019-09-23 19:33:24 -05:00 committed by Alexandre Julliard
parent 750efd19a7
commit 8619eb9838
15 changed files with 97 additions and 101 deletions

View File

@ -62,7 +62,7 @@ static inline AVICompressor *impl_from_IBaseFilter(IBaseFilter *iface)
return impl_from_strmbase_filter(filter); return impl_from_strmbase_filter(filter);
} }
static inline AVICompressor *impl_from_BasePin(BasePin *pin) static inline AVICompressor *impl_from_strmbase_pin(struct strmbase_pin *pin)
{ {
return impl_from_strmbase_filter(pin->filter); return impl_from_strmbase_filter(pin->filter);
} }
@ -315,7 +315,7 @@ static const IPersistPropertyBagVtbl PersistPropertyBagVtbl = {
static inline AVICompressor *impl_from_IPin(IPin *iface) static inline AVICompressor *impl_from_IPin(IPin *iface)
{ {
return impl_from_strmbase_filter(CONTAINING_RECORD(iface, BasePin, IPin_iface)->filter); return impl_from_strmbase_filter(CONTAINING_RECORD(iface, struct strmbase_pin, IPin_iface)->filter);
} }
static HRESULT WINAPI AVICompressorIn_QueryInterface(IPin *iface, REFIID riid, void **ppv) static HRESULT WINAPI AVICompressorIn_QueryInterface(IPin *iface, REFIID riid, void **ppv)
@ -379,9 +379,9 @@ static const IPinVtbl AVICompressorInputPinVtbl = {
BaseInputPinImpl_NewSegment BaseInputPinImpl_NewSegment
}; };
static HRESULT WINAPI AVICompressorIn_CheckMediaType(BasePin *base, const AM_MEDIA_TYPE *pmt) static HRESULT WINAPI AVICompressorIn_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *pmt)
{ {
AVICompressor *This = impl_from_BasePin(base); AVICompressor *This = impl_from_strmbase_pin(base);
VIDEOINFOHEADER *videoinfo; VIDEOINFOHEADER *videoinfo;
HRESULT hres; HRESULT hres;
DWORD res; DWORD res;
@ -406,7 +406,7 @@ static HRESULT WINAPI AVICompressorIn_CheckMediaType(BasePin *base, const AM_MED
return res == ICERR_OK ? S_OK : S_FALSE; return res == ICERR_OK ? S_OK : S_FALSE;
} }
static HRESULT WINAPI AVICompressorIn_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) static HRESULT WINAPI AVICompressorIn_GetMediaType(struct strmbase_pin *base, int iPosition, AM_MEDIA_TYPE *amt)
{ {
TRACE("(%p)->(%d %p)\n", base, iPosition, amt); TRACE("(%p)->(%d %p)\n", base, iPosition, amt);
return S_FALSE; return S_FALSE;
@ -414,7 +414,7 @@ static HRESULT WINAPI AVICompressorIn_GetMediaType(BasePin *base, int iPosition,
static HRESULT WINAPI AVICompressorIn_Receive(BaseInputPin *base, IMediaSample *pSample) static HRESULT WINAPI AVICompressorIn_Receive(BaseInputPin *base, IMediaSample *pSample)
{ {
AVICompressor *This = impl_from_BasePin(&base->pin); AVICompressor *This = impl_from_strmbase_pin(&base->pin);
VIDEOINFOHEADER *src_videoinfo; VIDEOINFOHEADER *src_videoinfo;
REFERENCE_TIME start, stop; REFERENCE_TIME start, stop;
IMediaSample *out_sample; IMediaSample *out_sample;
@ -533,7 +533,7 @@ static const IPinVtbl AVICompressorOutputPinVtbl = {
BasePinImpl_NewSegment BasePinImpl_NewSegment
}; };
static HRESULT WINAPI AVICompressorOut_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) static HRESULT WINAPI AVICompressorOut_GetMediaType(struct strmbase_pin *base, int iPosition, AM_MEDIA_TYPE *amt)
{ {
AVICompressor *This = impl_from_strmbase_filter(base->filter); AVICompressor *This = impl_from_strmbase_filter(base->filter);
@ -557,7 +557,7 @@ static HRESULT WINAPI AVICompressorOut_GetMediaType(BasePin *base, int iPosition
static HRESULT WINAPI AVICompressorOut_DecideBufferSize(struct strmbase_source *base, static HRESULT WINAPI AVICompressorOut_DecideBufferSize(struct strmbase_source *base,
IMemAllocator *alloc, ALLOCATOR_PROPERTIES *ppropInputRequest) IMemAllocator *alloc, ALLOCATOR_PROPERTIES *ppropInputRequest)
{ {
AVICompressor *This = impl_from_BasePin(&base->pin); AVICompressor *This = impl_from_strmbase_pin(&base->pin);
ALLOCATOR_PROPERTIES actual; ALLOCATOR_PROPERTIES actual;
TRACE("(%p)\n", This); TRACE("(%p)\n", This);

View File

@ -1152,7 +1152,7 @@ static const ISpecifyPropertyPagesVtbl SpecifyPropertyPagesVtbl = {
SpecifyPropertyPages_GetPages SpecifyPropertyPages_GetPages
}; };
static HRESULT WINAPI AviMuxOut_CheckMediaType(BasePin *base, const AM_MEDIA_TYPE *amt) static HRESULT WINAPI AviMuxOut_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
{ {
FIXME("(%p) stub\n", base); FIXME("(%p) stub\n", base);
return S_OK; return S_OK;
@ -1174,7 +1174,7 @@ static HRESULT WINAPI AviMuxOut_AttemptConnection(struct strmbase_source *base,
return BaseOutputPinImpl_AttemptConnection(base, pReceivePin, pmt); return BaseOutputPinImpl_AttemptConnection(base, pReceivePin, pmt);
} }
static HRESULT WINAPI AviMuxOut_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) static HRESULT WINAPI AviMuxOut_GetMediaType(struct strmbase_pin *base, int iPosition, AM_MEDIA_TYPE *amt)
{ {
TRACE("(%p)->(%d %p)\n", base, iPosition, amt); TRACE("(%p)->(%d %p)\n", base, iPosition, amt);
@ -1372,7 +1372,7 @@ static const IQualityControlVtbl AviMuxOut_QualityControlVtbl = {
AviMuxOut_QualityControl_SetSink AviMuxOut_QualityControl_SetSink
}; };
static HRESULT WINAPI AviMuxIn_CheckMediaType(BasePin *base, const AM_MEDIA_TYPE *pmt) static HRESULT WINAPI AviMuxIn_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *pmt)
{ {
if(IsEqualIID(&pmt->majortype, &MEDIATYPE_Audio) && if(IsEqualIID(&pmt->majortype, &MEDIATYPE_Audio) &&
IsEqualIID(&pmt->formattype, &FORMAT_WaveFormatEx)) IsEqualIID(&pmt->formattype, &FORMAT_WaveFormatEx))
@ -1387,7 +1387,7 @@ static HRESULT WINAPI AviMuxIn_CheckMediaType(BasePin *base, const AM_MEDIA_TYPE
return S_FALSE; return S_FALSE;
} }
static HRESULT WINAPI AviMuxIn_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) static HRESULT WINAPI AviMuxIn_GetMediaType(struct strmbase_pin *base, int iPosition, AM_MEDIA_TYPE *amt)
{ {
return S_FALSE; return S_FALSE;
} }
@ -1505,15 +1505,13 @@ static const BaseInputPinFuncTable AviMuxIn_BaseInputFuncTable = {
static inline AviMux* impl_from_in_IPin(IPin *iface) static inline AviMux* impl_from_in_IPin(IPin *iface)
{ {
BasePin *pin = CONTAINING_RECORD(iface, BasePin, IPin_iface); struct strmbase_pin *pin = CONTAINING_RECORD(iface, struct strmbase_pin, IPin_iface);
return impl_from_strmbase_filter(pin->filter); return impl_from_strmbase_filter(pin->filter);
} }
static inline AviMuxIn* AviMuxIn_from_IPin(IPin *iface) static inline AviMuxIn* AviMuxIn_from_IPin(IPin *iface)
{ {
BasePin *bp = CONTAINING_RECORD(iface, BasePin, IPin_iface); return CONTAINING_RECORD(iface, AviMuxIn, pin.pin.IPin_iface);
BaseInputPin *bip = CONTAINING_RECORD(bp, BaseInputPin, pin);
return CONTAINING_RECORD(bip, AviMuxIn, pin);
} }
static HRESULT WINAPI AviMuxIn_QueryInterface(IPin *iface, REFIID riid, void **ppv) static HRESULT WINAPI AviMuxIn_QueryInterface(IPin *iface, REFIID riid, void **ppv)

View File

@ -52,14 +52,14 @@ static inline SmartTeeFilter *impl_from_IBaseFilter(IBaseFilter *iface)
return impl_from_strmbase_filter(filter); return impl_from_strmbase_filter(filter);
} }
static inline SmartTeeFilter *impl_from_BasePin(BasePin *pin) static inline SmartTeeFilter *impl_from_strmbase_pin(struct strmbase_pin *pin)
{ {
return impl_from_strmbase_filter(pin->filter); return impl_from_strmbase_filter(pin->filter);
} }
static inline SmartTeeFilter *impl_from_IPin(IPin *iface) static inline SmartTeeFilter *impl_from_IPin(IPin *iface)
{ {
return impl_from_strmbase_filter(CONTAINING_RECORD(iface, BasePin, IPin_iface)->filter); return impl_from_strmbase_filter(CONTAINING_RECORD(iface, struct strmbase_pin, IPin_iface)->filter);
} }
static HRESULT WINAPI SmartTeeFilter_Stop(IBaseFilter *iface) static HRESULT WINAPI SmartTeeFilter_Stop(IBaseFilter *iface)
@ -167,9 +167,9 @@ static const IPinVtbl SmartTeeFilterInputVtbl = {
BaseInputPinImpl_NewSegment BaseInputPinImpl_NewSegment
}; };
static HRESULT WINAPI SmartTeeFilterInput_CheckMediaType(BasePin *base, const AM_MEDIA_TYPE *pmt) static HRESULT WINAPI SmartTeeFilterInput_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *pmt)
{ {
SmartTeeFilter *This = impl_from_BasePin(base); SmartTeeFilter *This = impl_from_strmbase_pin(base);
TRACE("(%p, AM_MEDIA_TYPE(%p))\n", This, pmt); TRACE("(%p, AM_MEDIA_TYPE(%p))\n", This, pmt);
dump_AM_MEDIA_TYPE(pmt); dump_AM_MEDIA_TYPE(pmt);
if (!pmt) if (!pmt)
@ -179,9 +179,9 @@ static HRESULT WINAPI SmartTeeFilterInput_CheckMediaType(BasePin *base, const AM
return S_OK; return S_OK;
} }
static HRESULT WINAPI SmartTeeFilterInput_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) static HRESULT WINAPI SmartTeeFilterInput_GetMediaType(struct strmbase_pin *base, int iPosition, AM_MEDIA_TYPE *amt)
{ {
SmartTeeFilter *This = impl_from_BasePin(base); SmartTeeFilter *This = impl_from_strmbase_pin(base);
HRESULT hr; HRESULT hr;
TRACE("(%p)->(%d, %p)\n", This, iPosition, amt); TRACE("(%p)->(%d, %p)\n", This, iPosition, amt);
if (iPosition) if (iPosition)
@ -278,7 +278,7 @@ end:
static HRESULT WINAPI SmartTeeFilterInput_Receive(BaseInputPin *base, IMediaSample *inputSample) static HRESULT WINAPI SmartTeeFilterInput_Receive(BaseInputPin *base, IMediaSample *inputSample)
{ {
SmartTeeFilter *This = impl_from_BasePin(&base->pin); SmartTeeFilter *This = impl_from_strmbase_pin(&base->pin);
IMediaSample *captureSample = NULL; IMediaSample *captureSample = NULL;
IMediaSample *previewSample = NULL; IMediaSample *previewSample = NULL;
HRESULT hrCapture = VFW_E_NOT_CONNECTED, hrPreview = VFW_E_NOT_CONNECTED; HRESULT hrCapture = VFW_E_NOT_CONNECTED, hrPreview = VFW_E_NOT_CONNECTED;
@ -362,15 +362,15 @@ static const IPinVtbl SmartTeeFilterCaptureVtbl = {
BasePinImpl_NewSegment BasePinImpl_NewSegment
}; };
static HRESULT WINAPI SmartTeeFilterCapture_CheckMediaType(BasePin *base, const AM_MEDIA_TYPE *amt) static HRESULT WINAPI SmartTeeFilterCapture_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
{ {
FIXME("(%p) stub\n", base); FIXME("(%p) stub\n", base);
return S_OK; return S_OK;
} }
static HRESULT WINAPI SmartTeeFilterCapture_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) static HRESULT WINAPI SmartTeeFilterCapture_GetMediaType(struct strmbase_pin *base, int iPosition, AM_MEDIA_TYPE *amt)
{ {
SmartTeeFilter *This = impl_from_BasePin(base); SmartTeeFilter *This = impl_from_strmbase_pin(base);
TRACE("(%p, %d, %p)\n", This, iPosition, amt); TRACE("(%p, %d, %p)\n", This, iPosition, amt);
if (iPosition == 0) { if (iPosition == 0) {
CopyMediaType(amt, &This->sink.pin.mtCurrent); CopyMediaType(amt, &This->sink.pin.mtCurrent);
@ -382,7 +382,7 @@ static HRESULT WINAPI SmartTeeFilterCapture_GetMediaType(BasePin *base, int iPos
static HRESULT WINAPI SmartTeeFilterCapture_DecideAllocator(struct strmbase_source *base, static HRESULT WINAPI SmartTeeFilterCapture_DecideAllocator(struct strmbase_source *base,
IMemInputPin *pPin, IMemAllocator **pAlloc) IMemInputPin *pPin, IMemAllocator **pAlloc)
{ {
SmartTeeFilter *This = impl_from_BasePin(&base->pin); SmartTeeFilter *This = impl_from_strmbase_pin(&base->pin);
TRACE("(%p, %p, %p)\n", This, pPin, pAlloc); TRACE("(%p, %p, %p)\n", This, pPin, pAlloc);
*pAlloc = This->sink.pAllocator; *pAlloc = This->sink.pAllocator;
IMemAllocator_AddRef(This->sink.pAllocator); IMemAllocator_AddRef(This->sink.pAllocator);
@ -435,15 +435,15 @@ static const IPinVtbl SmartTeeFilterPreviewVtbl = {
BasePinImpl_NewSegment BasePinImpl_NewSegment
}; };
static HRESULT WINAPI SmartTeeFilterPreview_CheckMediaType(BasePin *base, const AM_MEDIA_TYPE *amt) static HRESULT WINAPI SmartTeeFilterPreview_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
{ {
FIXME("(%p) stub\n", base); FIXME("(%p) stub\n", base);
return S_OK; return S_OK;
} }
static HRESULT WINAPI SmartTeeFilterPreview_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) static HRESULT WINAPI SmartTeeFilterPreview_GetMediaType(struct strmbase_pin *base, int iPosition, AM_MEDIA_TYPE *amt)
{ {
SmartTeeFilter *This = impl_from_BasePin(base); SmartTeeFilter *This = impl_from_strmbase_pin(base);
TRACE("(%p, %d, %p)\n", This, iPosition, amt); TRACE("(%p, %d, %p)\n", This, iPosition, amt);
if (iPosition == 0) { if (iPosition == 0) {
CopyMediaType(amt, &This->sink.pin.mtCurrent); CopyMediaType(amt, &This->sink.pin.mtCurrent);
@ -455,7 +455,7 @@ static HRESULT WINAPI SmartTeeFilterPreview_GetMediaType(BasePin *base, int iPos
static HRESULT WINAPI SmartTeeFilterPreview_DecideAllocator(struct strmbase_source *base, static HRESULT WINAPI SmartTeeFilterPreview_DecideAllocator(struct strmbase_source *base,
IMemInputPin *pPin, IMemAllocator **pAlloc) IMemInputPin *pPin, IMemAllocator **pAlloc)
{ {
SmartTeeFilter *This = impl_from_BasePin(&base->pin); SmartTeeFilter *This = impl_from_strmbase_pin(&base->pin);
TRACE("(%p, %p, %p)\n", This, pPin, pAlloc); TRACE("(%p, %p, %p)\n", This, pPin, pAlloc);
*pAlloc = This->sink.pAllocator; *pAlloc = This->sink.pAllocator;
IMemAllocator_AddRef(This->sink.pAllocator); IMemAllocator_AddRef(This->sink.pAllocator);

View File

@ -507,20 +507,20 @@ static const IKsPropertySetVtbl IKsPropertySet_VTable =
KSP_QuerySupported KSP_QuerySupported
}; };
static inline VfwCapture *impl_from_BasePin(BasePin *pin) static inline VfwCapture *impl_from_strmbase_pin(struct strmbase_pin *pin)
{ {
return CONTAINING_RECORD(pin, VfwCapture, source.pin); return CONTAINING_RECORD(pin, VfwCapture, source.pin);
} }
static HRESULT WINAPI VfwPin_CheckMediaType(BasePin *pin, const AM_MEDIA_TYPE *mt) static HRESULT WINAPI VfwPin_CheckMediaType(struct strmbase_pin *pin, const AM_MEDIA_TYPE *mt)
{ {
VfwCapture *filter = impl_from_BasePin(pin); VfwCapture *filter = impl_from_strmbase_pin(pin);
return qcap_driver_check_format(filter->driver_info, mt); return qcap_driver_check_format(filter->driver_info, mt);
} }
static HRESULT WINAPI VfwPin_GetMediaType(BasePin *pin, int iPosition, AM_MEDIA_TYPE *pmt) static HRESULT WINAPI VfwPin_GetMediaType(struct strmbase_pin *pin, int iPosition, AM_MEDIA_TYPE *pmt)
{ {
VfwCapture *filter = impl_from_BasePin(pin); VfwCapture *filter = impl_from_strmbase_pin(pin);
AM_MEDIA_TYPE *vfw_pmt; AM_MEDIA_TYPE *vfw_pmt;
HRESULT hr; HRESULT hr;

View File

@ -565,7 +565,7 @@ static inline AsyncReader *impl_from_IPin(IPin *iface)
return CONTAINING_RECORD(iface, AsyncReader, source.pin.IPin_iface); return CONTAINING_RECORD(iface, AsyncReader, source.pin.IPin_iface);
} }
static inline AsyncReader *impl_from_BasePin(BasePin *iface) static inline AsyncReader *impl_from_strmbase_pin(struct strmbase_pin *iface)
{ {
return CONTAINING_RECORD(iface, AsyncReader, source.pin); return CONTAINING_RECORD(iface, AsyncReader, source.pin);
} }
@ -580,9 +580,9 @@ static inline AsyncReader *impl_from_IAsyncReader(IAsyncReader *iface)
return CONTAINING_RECORD(iface, AsyncReader, IAsyncReader_iface); return CONTAINING_RECORD(iface, AsyncReader, IAsyncReader_iface);
} }
static HRESULT WINAPI FileAsyncReaderPin_CheckMediaType(BasePin *iface, const AM_MEDIA_TYPE *pmt) static HRESULT WINAPI FileAsyncReaderPin_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *pmt)
{ {
AsyncReader *filter = impl_from_BasePin(iface); AsyncReader *filter = impl_from_strmbase_pin(iface);
if (IsEqualGUID(&pmt->majortype, &filter->pmt->majortype) && if (IsEqualGUID(&pmt->majortype, &filter->pmt->majortype) &&
IsEqualGUID(&pmt->subtype, &filter->pmt->subtype)) IsEqualGUID(&pmt->subtype, &filter->pmt->subtype))
@ -591,9 +591,9 @@ static HRESULT WINAPI FileAsyncReaderPin_CheckMediaType(BasePin *iface, const AM
return S_FALSE; return S_FALSE;
} }
static HRESULT WINAPI FileAsyncReaderPin_GetMediaType(BasePin *iface, int index, AM_MEDIA_TYPE *mt) static HRESULT WINAPI FileAsyncReaderPin_GetMediaType(struct strmbase_pin *iface, int index, AM_MEDIA_TYPE *mt)
{ {
AsyncReader *filter = impl_from_BasePin(iface); AsyncReader *filter = impl_from_strmbase_pin(iface);
if (index < 0) if (index < 0)
return E_INVALIDARG; return E_INVALIDARG;

View File

@ -81,7 +81,7 @@ typedef struct IEnumMediaTypesImpl
{ {
IEnumMediaTypes IEnumMediaTypes_iface; IEnumMediaTypes IEnumMediaTypes_iface;
LONG refCount; LONG refCount;
BasePin *basePin; struct strmbase_pin *basePin;
ULONG count; ULONG count;
ULONG uIndex; ULONG uIndex;
} IEnumMediaTypesImpl; } IEnumMediaTypesImpl;
@ -93,7 +93,7 @@ static inline IEnumMediaTypesImpl *impl_from_IEnumMediaTypes(IEnumMediaTypes *if
static const struct IEnumMediaTypesVtbl IEnumMediaTypesImpl_Vtbl; static const struct IEnumMediaTypesVtbl IEnumMediaTypesImpl_Vtbl;
HRESULT enum_media_types_create(BasePin *basePin, IEnumMediaTypes **ppEnum) HRESULT enum_media_types_create(struct strmbase_pin *basePin, IEnumMediaTypes **ppEnum)
{ {
IEnumMediaTypesImpl * pEnumMediaTypes = CoTaskMemAlloc(sizeof(IEnumMediaTypesImpl)); IEnumMediaTypesImpl * pEnumMediaTypes = CoTaskMemAlloc(sizeof(IEnumMediaTypesImpl));

View File

@ -27,9 +27,9 @@ static const IMemInputPinVtbl MemInputPin_Vtbl;
typedef HRESULT (*SendPinFunc)( IPin *to, LPVOID arg ); typedef HRESULT (*SendPinFunc)( IPin *to, LPVOID arg );
static inline BasePin *impl_from_IPin( IPin *iface ) static inline struct strmbase_pin *impl_from_IPin(IPin *iface)
{ {
return CONTAINING_RECORD(iface, BasePin, IPin_iface); return CONTAINING_RECORD(iface, struct strmbase_pin, IPin_iface);
} }
/** Helper function, there are a lot of places where the error code is inherited /** Helper function, there are a lot of places where the error code is inherited
@ -153,7 +153,7 @@ static BOOL CompareMediaTypes(const AM_MEDIA_TYPE * pmt1, const AM_MEDIA_TYPE *
} }
/*** Common Base Pin function */ /*** Common Base Pin function */
HRESULT WINAPI BasePinImpl_GetMediaType(BasePin *iface, int iPosition, AM_MEDIA_TYPE *pmt) HRESULT WINAPI BasePinImpl_GetMediaType(struct strmbase_pin *iface, int iPosition, AM_MEDIA_TYPE *pmt)
{ {
if (iPosition < 0) if (iPosition < 0)
return E_INVALIDARG; return E_INVALIDARG;
@ -162,20 +162,20 @@ HRESULT WINAPI BasePinImpl_GetMediaType(BasePin *iface, int iPosition, AM_MEDIA_
ULONG WINAPI BasePinImpl_AddRef(IPin *iface) ULONG WINAPI BasePinImpl_AddRef(IPin *iface)
{ {
BasePin *pin = impl_from_IPin(iface); struct strmbase_pin *pin = impl_from_IPin(iface);
return IBaseFilter_AddRef(&pin->filter->IBaseFilter_iface); return IBaseFilter_AddRef(&pin->filter->IBaseFilter_iface);
} }
ULONG WINAPI BasePinImpl_Release(IPin *iface) ULONG WINAPI BasePinImpl_Release(IPin *iface)
{ {
BasePin *pin = impl_from_IPin(iface); struct strmbase_pin *pin = impl_from_IPin(iface);
return IBaseFilter_Release(&pin->filter->IBaseFilter_iface); return IBaseFilter_Release(&pin->filter->IBaseFilter_iface);
} }
HRESULT WINAPI BasePinImpl_Disconnect(IPin * iface) HRESULT WINAPI BasePinImpl_Disconnect(IPin * iface)
{ {
struct strmbase_pin *This = impl_from_IPin(iface);
HRESULT hr; HRESULT hr;
BasePin *This = impl_from_IPin(iface);
TRACE("(%p)->()\n", This); TRACE("(%p)->()\n", This);
@ -199,8 +199,8 @@ HRESULT WINAPI BasePinImpl_Disconnect(IPin * iface)
HRESULT WINAPI BasePinImpl_ConnectedTo(IPin * iface, IPin ** ppPin) HRESULT WINAPI BasePinImpl_ConnectedTo(IPin * iface, IPin ** ppPin)
{ {
struct strmbase_pin *This = impl_from_IPin(iface);
HRESULT hr; HRESULT hr;
BasePin *This = impl_from_IPin(iface);
TRACE("(%p)->(%p)\n", This, ppPin); TRACE("(%p)->(%p)\n", This, ppPin);
@ -225,8 +225,8 @@ HRESULT WINAPI BasePinImpl_ConnectedTo(IPin * iface, IPin ** ppPin)
HRESULT WINAPI BasePinImpl_ConnectionMediaType(IPin * iface, AM_MEDIA_TYPE * pmt) HRESULT WINAPI BasePinImpl_ConnectionMediaType(IPin * iface, AM_MEDIA_TYPE * pmt)
{ {
struct strmbase_pin *This = impl_from_IPin(iface);
HRESULT hr; HRESULT hr;
BasePin *This = impl_from_IPin(iface);
TRACE("(%p)->(%p)\n", This, pmt); TRACE("(%p)->(%p)\n", This, pmt);
@ -250,7 +250,7 @@ HRESULT WINAPI BasePinImpl_ConnectionMediaType(IPin * iface, AM_MEDIA_TYPE * pmt
HRESULT WINAPI BasePinImpl_QueryPinInfo(IPin *iface, PIN_INFO *info) HRESULT WINAPI BasePinImpl_QueryPinInfo(IPin *iface, PIN_INFO *info)
{ {
BasePin *pin = impl_from_IPin(iface); struct strmbase_pin *pin = impl_from_IPin(iface);
TRACE("pin %p, info %p.\n", pin, info); TRACE("pin %p, info %p.\n", pin, info);
@ -263,7 +263,7 @@ HRESULT WINAPI BasePinImpl_QueryPinInfo(IPin *iface, PIN_INFO *info)
HRESULT WINAPI BasePinImpl_QueryDirection(IPin *iface, PIN_DIRECTION *dir) HRESULT WINAPI BasePinImpl_QueryDirection(IPin *iface, PIN_DIRECTION *dir)
{ {
BasePin *pin = impl_from_IPin(iface); struct strmbase_pin *pin = impl_from_IPin(iface);
TRACE("pin %p, dir %p.\n", pin, dir); TRACE("pin %p, dir %p.\n", pin, dir);
@ -274,7 +274,7 @@ HRESULT WINAPI BasePinImpl_QueryDirection(IPin *iface, PIN_DIRECTION *dir)
HRESULT WINAPI BasePinImpl_QueryId(IPin *iface, WCHAR **id) HRESULT WINAPI BasePinImpl_QueryId(IPin *iface, WCHAR **id)
{ {
BasePin *pin = impl_from_IPin(iface); struct strmbase_pin *pin = impl_from_IPin(iface);
TRACE("pin %p, id %p.\n", pin, id); TRACE("pin %p, id %p.\n", pin, id);
@ -288,7 +288,7 @@ HRESULT WINAPI BasePinImpl_QueryId(IPin *iface, WCHAR **id)
HRESULT WINAPI BasePinImpl_QueryAccept(IPin * iface, const AM_MEDIA_TYPE * pmt) HRESULT WINAPI BasePinImpl_QueryAccept(IPin * iface, const AM_MEDIA_TYPE * pmt)
{ {
BasePin *This = impl_from_IPin(iface); struct strmbase_pin *This = impl_from_IPin(iface);
TRACE("(%p)->(%p)\n", iface, pmt); TRACE("(%p)->(%p)\n", iface, pmt);
@ -297,7 +297,7 @@ HRESULT WINAPI BasePinImpl_QueryAccept(IPin * iface, const AM_MEDIA_TYPE * pmt)
HRESULT WINAPI BasePinImpl_EnumMediaTypes(IPin *iface, IEnumMediaTypes **enum_media_types) HRESULT WINAPI BasePinImpl_EnumMediaTypes(IPin *iface, IEnumMediaTypes **enum_media_types)
{ {
BasePin *pin = impl_from_IPin(iface); struct strmbase_pin *pin = impl_from_IPin(iface);
TRACE("iface %p, enum_media_types %p.\n", iface, enum_media_types); TRACE("iface %p, enum_media_types %p.\n", iface, enum_media_types);
@ -306,7 +306,7 @@ HRESULT WINAPI BasePinImpl_EnumMediaTypes(IPin *iface, IEnumMediaTypes **enum_me
HRESULT WINAPI BasePinImpl_QueryInternalConnections(IPin * iface, IPin ** apPin, ULONG * cPin) HRESULT WINAPI BasePinImpl_QueryInternalConnections(IPin * iface, IPin ** apPin, ULONG * cPin)
{ {
BasePin *This = impl_from_IPin(iface); struct strmbase_pin *This = impl_from_IPin(iface);
TRACE("(%p)->(%p, %p)\n", This, apPin, cPin); TRACE("(%p)->(%p, %p)\n", This, apPin, cPin);
@ -315,7 +315,7 @@ HRESULT WINAPI BasePinImpl_QueryInternalConnections(IPin * iface, IPin ** apPin,
HRESULT WINAPI BasePinImpl_NewSegment(IPin * iface, REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate) HRESULT WINAPI BasePinImpl_NewSegment(IPin * iface, REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate)
{ {
BasePin *This = impl_from_IPin(iface); struct strmbase_pin *This = impl_from_IPin(iface);
TRACE("(%p)->(%s, %s, %e)\n", This, wine_dbgstr_longlong(tStart), wine_dbgstr_longlong(tStop), dRate); TRACE("(%p)->(%s, %s, %e)\n", This, wine_dbgstr_longlong(tStart), wine_dbgstr_longlong(tStop), dRate);

View File

@ -211,7 +211,7 @@ static const struct strmbase_filter_ops filter_ops =
.filter_query_interface = renderer_query_interface, .filter_query_interface = renderer_query_interface,
}; };
static HRESULT WINAPI BaseRenderer_Input_CheckMediaType(BasePin *pin, const AM_MEDIA_TYPE *mt) static HRESULT WINAPI BaseRenderer_Input_CheckMediaType(struct strmbase_pin *pin, const AM_MEDIA_TYPE *mt)
{ {
BaseRenderer *filter = impl_from_IPin(&pin->IPin_iface); BaseRenderer *filter = impl_from_IPin(&pin->IPin_iface);
return filter->pFuncsTable->pfnCheckMediaType(filter, mt); return filter->pFuncsTable->pfnCheckMediaType(filter, mt);

View File

@ -63,7 +63,7 @@ void QualityControlRender_BeginRender(QualityControlImpl *This, REFERENCE_TIME s
void QualityControlRender_EndRender(QualityControlImpl *This); void QualityControlRender_EndRender(QualityControlImpl *This);
HRESULT enum_pins_create(struct strmbase_filter *filter, IEnumPins **enum_pins); HRESULT enum_pins_create(struct strmbase_filter *filter, IEnumPins **enum_pins);
HRESULT enum_media_types_create(BasePin *pin, IEnumMediaTypes **enum_media_types) DECLSPEC_HIDDEN; HRESULT enum_media_types_create(struct strmbase_pin *pin, IEnumMediaTypes **enum_media_types) DECLSPEC_HIDDEN;
HRESULT WINAPI RendererPosPassThru_RegisterMediaTime(IUnknown *iface, REFERENCE_TIME start); HRESULT WINAPI RendererPosPassThru_RegisterMediaTime(IUnknown *iface, REFERENCE_TIME start);
HRESULT WINAPI RendererPosPassThru_ResetMediaTime(IUnknown *iface); HRESULT WINAPI RendererPosPassThru_ResetMediaTime(IUnknown *iface);

View File

@ -45,7 +45,7 @@ static inline TransformFilter *impl_from_sink_IPin(IPin *iface)
return CONTAINING_RECORD(iface, TransformFilter, sink.pin.IPin_iface); return CONTAINING_RECORD(iface, TransformFilter, sink.pin.IPin_iface);
} }
static HRESULT WINAPI TransformFilter_Input_CheckMediaType(BasePin *iface, const AM_MEDIA_TYPE * pmt) static HRESULT WINAPI TransformFilter_Input_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *pmt)
{ {
TransformFilter *pTransform = impl_from_sink_IPin(&iface->IPin_iface); TransformFilter *pTransform = impl_from_sink_IPin(&iface->IPin_iface);
@ -92,7 +92,7 @@ static inline TransformFilter *impl_from_source_IPin(IPin *iface)
return CONTAINING_RECORD(iface, TransformFilter, source.pin.IPin_iface); return CONTAINING_RECORD(iface, TransformFilter, source.pin.IPin_iface);
} }
static HRESULT WINAPI TransformFilter_Output_CheckMediaType(BasePin *This, const AM_MEDIA_TYPE *pmt) static HRESULT WINAPI TransformFilter_Output_CheckMediaType(struct strmbase_pin *This, const AM_MEDIA_TYPE *pmt)
{ {
TransformFilter *pTransformFilter = impl_from_source_IPin(&This->IPin_iface); TransformFilter *pTransformFilter = impl_from_source_IPin(&This->IPin_iface);
AM_MEDIA_TYPE* outpmt = &pTransformFilter->pmt; AM_MEDIA_TYPE* outpmt = &pTransformFilter->pmt;
@ -110,7 +110,7 @@ static HRESULT WINAPI TransformFilter_Output_DecideBufferSize(struct strmbase_so
return pTransformFilter->pFuncsTable->pfnDecideBufferSize(pTransformFilter, pAlloc, ppropInputRequest); return pTransformFilter->pFuncsTable->pfnDecideBufferSize(pTransformFilter, pAlloc, ppropInputRequest);
} }
static HRESULT WINAPI TransformFilter_Output_GetMediaType(BasePin *This, int iPosition, AM_MEDIA_TYPE *pmt) static HRESULT WINAPI TransformFilter_Output_GetMediaType(struct strmbase_pin *This, int iPosition, AM_MEDIA_TYPE *pmt)
{ {
TransformFilter *pTransform = impl_from_source_IPin(&This->IPin_iface); TransformFilter *pTransform = impl_from_source_IPin(&This->IPin_iface);

View File

@ -648,7 +648,7 @@ static const IBasicVideoVtbl basic_video_vtbl =
}; };
HRESULT WINAPI strmbase_video_init(BaseControlVideo *video, struct strmbase_filter *filter, HRESULT WINAPI strmbase_video_init(BaseControlVideo *video, struct strmbase_filter *filter,
CRITICAL_SECTION *cs, BasePin *pin, const BaseControlVideoFuncTable *func_table) CRITICAL_SECTION *cs, struct strmbase_pin *pin, const BaseControlVideoFuncTable *func_table)
{ {
video->IBasicVideo_iface.lpVtbl = &basic_video_vtbl; video->IBasicVideo_iface.lpVtbl = &basic_video_vtbl;
video->pFilter = filter; video->pFilter = filter;

View File

@ -195,7 +195,7 @@ BOOL WINAPI BaseControlWindowImpl_PossiblyEatMessage(BaseWindow *This, UINT uMsg
HRESULT WINAPI BaseControlWindow_Init(BaseControlWindow *pControlWindow, HRESULT WINAPI BaseControlWindow_Init(BaseControlWindow *pControlWindow,
const IVideoWindowVtbl *lpVtbl, struct strmbase_filter *owner, const IVideoWindowVtbl *lpVtbl, struct strmbase_filter *owner,
CRITICAL_SECTION *lock, BasePin* pPin,const BaseWindowFuncTable *pFuncsTable) CRITICAL_SECTION *lock, struct strmbase_pin *pPin, const BaseWindowFuncTable *pFuncsTable)
{ {
HRESULT hr; HRESULT hr;

View File

@ -52,7 +52,7 @@ struct gstdemux
struct strmbase_filter filter; struct strmbase_filter filter;
IAMStreamSelect IAMStreamSelect_iface; IAMStreamSelect IAMStreamSelect_iface;
BasePin sink; struct strmbase_pin sink;
IAsyncReader *reader; IAsyncReader *reader;
IMemAllocator *alloc; IMemAllocator *alloc;
struct gstdemux_source **ppPins; struct gstdemux_source **ppPins;
@ -1240,7 +1240,7 @@ static const struct strmbase_filter_ops filter_ops =
.filter_destroy = gstdemux_destroy, .filter_destroy = gstdemux_destroy,
}; };
static HRESULT WINAPI sink_CheckMediaType(BasePin *iface, const AM_MEDIA_TYPE *mt) static HRESULT WINAPI sink_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
{ {
if (IsEqualGUID(&mt->majortype, &MEDIATYPE_Stream)) if (IsEqualGUID(&mt->majortype, &MEDIATYPE_Stream))
return S_OK; return S_OK;
@ -1793,13 +1793,13 @@ static HRESULT WINAPI GSTOutPin_QueryInterface(IPin *iface, REFIID riid, void **
return E_NOINTERFACE; return E_NOINTERFACE;
} }
static HRESULT WINAPI GSTOutPin_CheckMediaType(BasePin *base, const AM_MEDIA_TYPE *amt) static HRESULT WINAPI GSTOutPin_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
{ {
FIXME("(%p) stub\n", base); FIXME("(%p) stub\n", base);
return S_OK; return S_OK;
} }
static HRESULT WINAPI GSTOutPin_GetMediaType(BasePin *iface, int iPosition, AM_MEDIA_TYPE *pmt) static HRESULT WINAPI GSTOutPin_GetMediaType(struct strmbase_pin *iface, int iPosition, AM_MEDIA_TYPE *pmt)
{ {
struct gstdemux_source *This = impl_source_from_IPin(&iface->IPin_iface); struct gstdemux_source *This = impl_source_from_IPin(&iface->IPin_iface);
@ -2304,7 +2304,7 @@ void start_dispatch_thread(void)
CloseHandle(CreateThread(NULL, 0, &dispatch_thread, NULL, 0, NULL)); CloseHandle(CreateThread(NULL, 0, &dispatch_thread, NULL, 0, NULL));
} }
static HRESULT WINAPI wave_parser_sink_CheckMediaType(BasePin *iface, const AM_MEDIA_TYPE *mt) static HRESULT WINAPI wave_parser_sink_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
{ {
if (!IsEqualGUID(&mt->majortype, &MEDIATYPE_Stream)) if (!IsEqualGUID(&mt->majortype, &MEDIATYPE_Stream))
return S_FALSE; return S_FALSE;
@ -2413,7 +2413,7 @@ IUnknown * CALLBACK wave_parser_create(IUnknown *outer, HRESULT *phr)
return &object->filter.IUnknown_inner; return &object->filter.IUnknown_inner;
} }
static HRESULT WINAPI avi_splitter_sink_CheckMediaType(BasePin *iface, const AM_MEDIA_TYPE *mt) static HRESULT WINAPI avi_splitter_sink_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
{ {
if (IsEqualGUID(&mt->majortype, &MEDIATYPE_Stream) if (IsEqualGUID(&mt->majortype, &MEDIATYPE_Stream)
&& IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_Avi)) && IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_Avi))
@ -2520,7 +2520,7 @@ IUnknown * CALLBACK avi_splitter_create(IUnknown *outer, HRESULT *phr)
return &object->filter.IUnknown_inner; return &object->filter.IUnknown_inner;
} }
static HRESULT WINAPI mpeg_splitter_sink_CheckMediaType(BasePin *iface, const AM_MEDIA_TYPE *mt) static HRESULT WINAPI mpeg_splitter_sink_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
{ {
if (!IsEqualGUID(&mt->majortype, &MEDIATYPE_Stream)) if (!IsEqualGUID(&mt->majortype, &MEDIATYPE_Stream))
return S_FALSE; return S_FALSE;

View File

@ -137,7 +137,7 @@ typedef struct QTOutPin {
} QTOutPin; } QTOutPin;
typedef struct QTInPin { typedef struct QTInPin {
BasePin pin; struct strmbase_pin pin;
GUID subType; GUID subType;
IAsyncReader *pReader; IAsyncReader *pReader;
@ -290,7 +290,7 @@ static const struct strmbase_filter_ops filter_ops =
.filter_destroy = qt_splitter_destroy, .filter_destroy = qt_splitter_destroy,
}; };
static HRESULT WINAPI sink_CheckMediaType(BasePin *iface, const AM_MEDIA_TYPE *mt) static HRESULT WINAPI sink_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
{ {
QTInPin *pin = impl_from_IPin(&iface->IPin_iface); QTInPin *pin = impl_from_IPin(&iface->IPin_iface);
@ -1253,7 +1253,7 @@ static inline QTOutPin *impl_QTOutPin_from_IPin( IPin *iface )
return CONTAINING_RECORD(iface, QTOutPin, pin.pin.IPin_iface); return CONTAINING_RECORD(iface, QTOutPin, pin.pin.IPin_iface);
} }
static inline QTOutPin *impl_QTOutPin_from_BasePin( BasePin *iface ) static inline QTOutPin *impl_sink_from_strmbase_pin(struct strmbase_pin *iface)
{ {
return CONTAINING_RECORD(iface, QTOutPin, pin.pin); return CONTAINING_RECORD(iface, QTOutPin, pin.pin);
} }
@ -1289,15 +1289,15 @@ static HRESULT WINAPI QTOutPin_QueryInterface(IPin *iface, REFIID riid, void **p
return E_NOINTERFACE; return E_NOINTERFACE;
} }
static HRESULT WINAPI QTOutPin_CheckMediaType(BasePin *base, const AM_MEDIA_TYPE *amt) static HRESULT WINAPI QTOutPin_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
{ {
FIXME("(%p) stub\n", base); FIXME("(%p) stub\n", base);
return S_OK; return S_OK;
} }
static HRESULT WINAPI QTOutPin_GetMediaType(BasePin *iface, int iPosition, AM_MEDIA_TYPE *pmt) static HRESULT WINAPI QTOutPin_GetMediaType(struct strmbase_pin *iface, int iPosition, AM_MEDIA_TYPE *pmt)
{ {
QTOutPin *This = impl_QTOutPin_from_BasePin(iface); QTOutPin *This = impl_sink_from_strmbase_pin(iface);
if (iPosition < 0) if (iPosition < 0)
return E_INVALIDARG; return E_INVALIDARG;

View File

@ -28,7 +28,7 @@ void WINAPI DeleteMediaType(AM_MEDIA_TYPE * pMediaType);
/* Pin functions */ /* Pin functions */
typedef struct BasePin struct strmbase_pin
{ {
IPin IPin_iface; IPin IPin_iface;
struct strmbase_filter *filter; struct strmbase_filter *filter;
@ -40,11 +40,11 @@ typedef struct BasePin
double dRate; double dRate;
const struct BasePinFuncTable* pFuncsTable; const struct BasePinFuncTable* pFuncsTable;
} BasePin; };
typedef HRESULT (WINAPI *BasePin_CheckMediaType)(BasePin *This, const AM_MEDIA_TYPE *pmt); typedef HRESULT (WINAPI *BasePin_CheckMediaType)(struct strmbase_pin *pin, const AM_MEDIA_TYPE *mt);
typedef LONG (WINAPI *BasePin_GetMediaTypeVersion)(BasePin *This); typedef LONG (WINAPI *BasePin_GetMediaTypeVersion)(struct strmbase_pin *pin);
typedef HRESULT (WINAPI *BasePin_GetMediaType)(BasePin *This, int iPosition, AM_MEDIA_TYPE *amt); typedef HRESULT (WINAPI *BasePin_GetMediaType)(struct strmbase_pin *pin, int index, AM_MEDIA_TYPE *mt);
typedef struct BasePinFuncTable { typedef struct BasePinFuncTable {
/* Required for QueryAccept(), Connect(), ReceiveConnection(). */ /* Required for QueryAccept(), Connect(), ReceiveConnection(). */
@ -55,12 +55,11 @@ typedef struct BasePinFuncTable {
struct strmbase_source struct strmbase_source
{ {
/* inheritance C style! */ struct strmbase_pin pin;
BasePin pin; IMemInputPin *pMemInputPin;
IMemInputPin * pMemInputPin; IMemAllocator *pAllocator;
IMemAllocator * pAllocator;
const struct strmbase_source_ops *pFuncsTable; const struct strmbase_source_ops *pFuncsTable;
}; };
typedef HRESULT (WINAPI *BaseOutputPin_AttemptConnection)(struct strmbase_source *pin, IPin *peer, const AM_MEDIA_TYPE *mt); typedef HRESULT (WINAPI *BaseOutputPin_AttemptConnection)(struct strmbase_source *pin, IPin *peer, const AM_MEDIA_TYPE *mt);
@ -81,15 +80,14 @@ struct strmbase_source_ops
typedef struct BaseInputPin typedef struct BaseInputPin
{ {
/* inheritance C style! */ struct strmbase_pin pin;
BasePin pin;
IMemInputPin IMemInputPin_iface; IMemInputPin IMemInputPin_iface;
IMemAllocator * pAllocator; IMemAllocator *pAllocator;
BOOL flushing, end_of_stream; BOOL flushing, end_of_stream;
IMemAllocator *preferred_allocator; IMemAllocator *preferred_allocator;
const struct BaseInputPinFuncTable* pFuncsTable; const struct BaseInputPinFuncTable *pFuncsTable;
} BaseInputPin; } BaseInputPin;
typedef HRESULT (WINAPI *BaseInputPin_Receive)(BaseInputPin *This, IMediaSample *pSample); typedef HRESULT (WINAPI *BaseInputPin_Receive)(BaseInputPin *This, IMediaSample *pSample);
@ -101,8 +99,8 @@ typedef struct BaseInputPinFuncTable {
} BaseInputPinFuncTable; } BaseInputPinFuncTable;
/* Base Pin */ /* Base Pin */
HRESULT WINAPI BasePinImpl_GetMediaType(BasePin *This, int iPosition, AM_MEDIA_TYPE *pmt); HRESULT WINAPI BasePinImpl_GetMediaType(struct strmbase_pin *pin, int index, AM_MEDIA_TYPE *mt);
LONG WINAPI BasePinImpl_GetMediaTypeVersion(BasePin *This); LONG WINAPI BasePinImpl_GetMediaTypeVersion(struct strmbase_pin *pin);
ULONG WINAPI BasePinImpl_AddRef(IPin *iface); ULONG WINAPI BasePinImpl_AddRef(IPin *iface);
ULONG WINAPI BasePinImpl_Release(IPin *iface); ULONG WINAPI BasePinImpl_Release(IPin *iface);
HRESULT WINAPI BasePinImpl_Disconnect(IPin * iface); HRESULT WINAPI BasePinImpl_Disconnect(IPin * iface);
@ -424,11 +422,11 @@ typedef struct tagBaseControlWindow
HWND hwndOwner; HWND hwndOwner;
struct strmbase_filter *pFilter; struct strmbase_filter *pFilter;
CRITICAL_SECTION* pInterfaceLock; CRITICAL_SECTION* pInterfaceLock;
BasePin* pPin; struct strmbase_pin *pPin;
} BaseControlWindow; } BaseControlWindow;
HRESULT WINAPI BaseControlWindow_Init(BaseControlWindow *window, const IVideoWindowVtbl *vtbl, HRESULT WINAPI BaseControlWindow_Init(BaseControlWindow *window, const IVideoWindowVtbl *vtbl,
struct strmbase_filter *filter, CRITICAL_SECTION *lock, BasePin *pin, const BaseWindowFuncTable *ops); struct strmbase_filter *filter, CRITICAL_SECTION *lock, struct strmbase_pin *pin, const BaseWindowFuncTable *ops);
HRESULT WINAPI BaseControlWindow_Destroy(BaseControlWindow *pControlWindow); HRESULT WINAPI BaseControlWindow_Destroy(BaseControlWindow *pControlWindow);
BOOL WINAPI BaseControlWindowImpl_PossiblyEatMessage(BaseWindow *This, UINT uMsg, WPARAM wParam, LPARAM lParam); BOOL WINAPI BaseControlWindowImpl_PossiblyEatMessage(BaseWindow *This, UINT uMsg, WPARAM wParam, LPARAM lParam);
@ -490,7 +488,7 @@ typedef struct tagBaseControlVideo
struct strmbase_filter *pFilter; struct strmbase_filter *pFilter;
CRITICAL_SECTION* pInterfaceLock; CRITICAL_SECTION* pInterfaceLock;
BasePin* pPin; struct strmbase_pin *pPin;
const struct BaseControlVideoFuncTable* pFuncsTable; const struct BaseControlVideoFuncTable* pFuncsTable;
} BaseControlVideo; } BaseControlVideo;
@ -521,7 +519,7 @@ typedef struct BaseControlVideoFuncTable {
} BaseControlVideoFuncTable; } BaseControlVideoFuncTable;
HRESULT WINAPI strmbase_video_init(BaseControlVideo *video, struct strmbase_filter *filter, HRESULT WINAPI strmbase_video_init(BaseControlVideo *video, struct strmbase_filter *filter,
CRITICAL_SECTION *cs, BasePin *pin, const BaseControlVideoFuncTable *func_table); CRITICAL_SECTION *cs, struct strmbase_pin *pin, const BaseControlVideoFuncTable *func_table);
HRESULT WINAPI BaseControlVideo_Destroy(BaseControlVideo *pControlVideo); HRESULT WINAPI BaseControlVideo_Destroy(BaseControlVideo *pControlVideo);
#endif #endif
#endif #endif