Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/strmbase/audio.c | 9 +-------- dlls/strmbase/dispatch.c | 8 +------- dlls/strmbase/dllfunc.c | 19 +------------------ dlls/strmbase/enumpins.c | 6 +----- dlls/strmbase/filter.c | 8 +------- dlls/strmbase/outputqueue.c | 10 +--------- dlls/strmbase/pin.c | 9 +-------- dlls/strmbase/pospass.c | 10 +--------- dlls/strmbase/qualitycontrol.c | 9 --------- dlls/strmbase/renderer.c | 7 ------- dlls/strmbase/seeking.c | 10 +--------- dlls/strmbase/strmbase_private.h | 32 ++++++++++++++++++++++++++++++++ dlls/strmbase/transform.c | 15 --------------- dlls/strmbase/video.c | 9 +-------- dlls/strmbase/window.c | 9 +-------- include/wine/strmbase.h | 13 ------------- 16 files changed, 43 insertions(+), 140 deletions(-)
diff --git a/dlls/strmbase/audio.c b/dlls/strmbase/audio.c index 260e5edffc..6ad64610f0 100644 --- a/dlls/strmbase/audio.c +++ b/dlls/strmbase/audio.c @@ -18,14 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#define COBJMACROS - -#include <assert.h> -#include "dshow.h" -#include "uuids.h" -#include "vfwmsgs.h" -#include "wine/strmbase.h" - +#include "strmbase_private.h"
static inline BasicAudio *impl_from_IBasicAudio(IBasicAudio *iface) { diff --git a/dlls/strmbase/dispatch.c b/dlls/strmbase/dispatch.c index 697618527a..e91b65a94a 100644 --- a/dlls/strmbase/dispatch.c +++ b/dlls/strmbase/dispatch.c @@ -18,13 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#define COBJMACROS - -#include "dshow.h" -#include "wine/strmbase.h" -#include "uuids.h" -#include "vfwmsgs.h" -#include <assert.h> +#include "strmbase_private.h"
HRESULT WINAPI BaseDispatch_Init(BaseDispatch *This, REFIID riid) { diff --git a/dlls/strmbase/dllfunc.c b/dlls/strmbase/dllfunc.c index da4f450412..842bee6121 100644 --- a/dlls/strmbase/dllfunc.c +++ b/dlls/strmbase/dllfunc.c @@ -19,24 +19,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#include <stdarg.h> -#include <assert.h> - -#define COBJMACROS -#define NONAMELESSSTRUCT -#define NONAMELESSUNION - -#include "windef.h" -#include "winbase.h" -#include "wingdi.h" -#include "winerror.h" -#include "winreg.h" -#include "objbase.h" -#include "uuids.h" -#include "strmif.h" - -#include "wine/debug.h" -#include "wine/strmbase.h" +#include "strmbase_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(strmbase);
diff --git a/dlls/strmbase/enumpins.c b/dlls/strmbase/enumpins.c index abfaf6917d..65a11bd34e 100644 --- a/dlls/strmbase/enumpins.c +++ b/dlls/strmbase/enumpins.c @@ -19,11 +19,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#define COBJMACROS - -#include "dshow.h" -#include "wine/strmbase.h" -#include "wine/debug.h" +#include "strmbase_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(strmbase);
diff --git a/dlls/strmbase/filter.c b/dlls/strmbase/filter.c index f133f1ca78..50340cd9b5 100644 --- a/dlls/strmbase/filter.c +++ b/dlls/strmbase/filter.c @@ -18,13 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#define COBJMACROS - -#include "dshow.h" -#include "wine/debug.h" -#include "wine/strmbase.h" -#include "uuids.h" -#include <assert.h> +#include "strmbase_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(strmbase);
diff --git a/dlls/strmbase/outputqueue.c b/dlls/strmbase/outputqueue.c index ba61c1f7b5..e3515c0e31 100644 --- a/dlls/strmbase/outputqueue.c +++ b/dlls/strmbase/outputqueue.c @@ -18,15 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#define COBJMACROS - -#include "dshow.h" -#include "wine/debug.h" -#include "wine/list.h" -#include "wine/strmbase.h" -#include "uuids.h" -#include "vfwmsgs.h" -#include <assert.h> +#include "strmbase_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(strmbase);
diff --git a/dlls/strmbase/pin.c b/dlls/strmbase/pin.c index 3075207614..8ae909850a 100644 --- a/dlls/strmbase/pin.c +++ b/dlls/strmbase/pin.c @@ -19,14 +19,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#define COBJMACROS - -#include "dshow.h" -#include "wine/debug.h" -#include "wine/strmbase.h" -#include "uuids.h" -#include "vfwmsgs.h" -#include <assert.h> +#include "strmbase_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(strmbase);
diff --git a/dlls/strmbase/pospass.c b/dlls/strmbase/pospass.c index 45eb23482d..f8321324a8 100644 --- a/dlls/strmbase/pospass.c +++ b/dlls/strmbase/pospass.c @@ -20,15 +20,7 @@ */ /* FIXME: critical sections */
-#define COBJMACROS - -#include "dshow.h" -#include "uuids.h" - -#include "wine/debug.h" -#include "wine/strmbase.h" - -#include <assert.h> +#include "strmbase_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(strmbase);
diff --git a/dlls/strmbase/qualitycontrol.c b/dlls/strmbase/qualitycontrol.c index 456ef83c5e..d6a91a7133 100644 --- a/dlls/strmbase/qualitycontrol.c +++ b/dlls/strmbase/qualitycontrol.c @@ -23,17 +23,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#define COBJMACROS - -#include "dshow.h" -#include "wine/strmbase.h" #include "strmbase_private.h"
-#include "uuids.h" -#include "wine/debug.h" - -#include <assert.h> - WINE_DEFAULT_DEBUG_CHANNEL(strmbase_qc);
#define XTIME_FMT "%u.%03u" diff --git a/dlls/strmbase/renderer.c b/dlls/strmbase/renderer.c index 0649d34464..43d7c70d45 100644 --- a/dlls/strmbase/renderer.c +++ b/dlls/strmbase/renderer.c @@ -18,13 +18,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#define COBJMACROS - -#include "dshow.h" -#include "wine/debug.h" -#include "wine/strmbase.h" -#include "uuids.h" -#include "vfwmsgs.h" #include "strmbase_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(strmbase); diff --git a/dlls/strmbase/seeking.c b/dlls/strmbase/seeking.c index c31699c209..8a773b51d5 100644 --- a/dlls/strmbase/seeking.c +++ b/dlls/strmbase/seeking.c @@ -20,15 +20,7 @@ */ /* FIXME: critical sections */
-#define COBJMACROS - -#include "dshow.h" -#include "wine/strmbase.h" - -#include "uuids.h" -#include "wine/debug.h" - -#include <assert.h> +#include "strmbase_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(strmbase);
diff --git a/dlls/strmbase/strmbase_private.h b/dlls/strmbase/strmbase_private.h index 4e5a25a937..f3367f88c5 100644 --- a/dlls/strmbase/strmbase_private.h +++ b/dlls/strmbase/strmbase_private.h @@ -18,6 +18,20 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#ifndef __WINE_STRMBASE_PRIVATE_H +#define __WINE_STRMBASE_PRIVATE_H + +#include <assert.h> +#define NONAMELESSUNION +#define NONAMELESSSTRUCT +#define COBJMACROS +#include "dshow.h" +#include "uuids.h" +#include "wine/debug.h" +#include "wine/list.h" +#include "wine/strmbase.h" +#include "wine/unicode.h" + /* Quality Control */ typedef struct QualityControlImpl { IQualityControl IQualityControl_iface; @@ -48,3 +62,21 @@ HRESULT QualityControlRender_WaitFor(QualityControlImpl *This, IMediaSample *sam void QualityControlRender_DoQOS(QualityControlImpl *priv); void QualityControlRender_BeginRender(QualityControlImpl *This); void QualityControlRender_EndRender(QualityControlImpl *This); + +HRESULT WINAPI EnumPins_Construct(BaseFilter *base, BaseFilter_GetPin pfn_get_pin, + BaseFilter_GetPinCount pfn_get_pin_count, BaseFilter_GetPinVersion pfn_get_pin_version, + IEnumPins **enum_pins); + +HRESULT WINAPI RendererPosPassThru_RegisterMediaTime(IUnknown *iface, REFERENCE_TIME start); +HRESULT WINAPI RendererPosPassThru_ResetMediaTime(IUnknown *iface); +HRESULT WINAPI RendererPosPassThru_EOS(IUnknown *iface); + +HRESULT WINAPI BaseDispatch_Init(BaseDispatch *disp, REFIID iid); +HRESULT WINAPI BaseDispatch_Destroy(BaseDispatch *disp); +HRESULT WINAPI BaseDispatchImpl_GetIDsOfNames(BaseDispatch *disp, REFIID iid, + WCHAR **names, UINT count, LCID lcid, DISPID *ids); +HRESULT WINAPI BaseDispatchImpl_GetTypeInfo(BaseDispatch *disp, REFIID iid, + UINT index, LCID lcid, ITypeInfo **typeinfo); +HRESULT WINAPI BaseDispatchImpl_GetTypeInfoCount(BaseDispatch *disp, UINT *count); + +#endif /* __WINE_STRMBASE_PRIVATE_H */ diff --git a/dlls/strmbase/transform.c b/dlls/strmbase/transform.c index d741e928d0..c942e92c5c 100644 --- a/dlls/strmbase/transform.c +++ b/dlls/strmbase/transform.c @@ -19,21 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#include <stdarg.h> - -#define COBJMACROS - -#include "windef.h" -#include "winbase.h" -#include "dshow.h" -#include "amvideo.h" -#include "strmif.h" -#include "vfw.h" - -#include <assert.h> - -#include "wine/debug.h" -#include "wine/strmbase.h" #include "strmbase_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(strmbase); diff --git a/dlls/strmbase/video.c b/dlls/strmbase/video.c index f5366418a0..2857932a05 100644 --- a/dlls/strmbase/video.c +++ b/dlls/strmbase/video.c @@ -18,14 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#define COBJMACROS - -#include <assert.h> -#include "dshow.h" -#include "uuids.h" -#include "vfwmsgs.h" -#include "wine/debug.h" -#include "wine/strmbase.h" +#include "strmbase_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(strmbase);
diff --git a/dlls/strmbase/window.c b/dlls/strmbase/window.c index 64e9bc1d02..d0105bdfbd 100644 --- a/dlls/strmbase/window.c +++ b/dlls/strmbase/window.c @@ -18,14 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#define COBJMACROS - -#include "dshow.h" -#include "wine/debug.h" -#include "wine/strmbase.h" -#include "uuids.h" -#include "vfwmsgs.h" -#include <assert.h> +#include "strmbase_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(strmbase);
diff --git a/include/wine/strmbase.h b/include/wine/strmbase.h index cfd8027559..6429d864fd 100644 --- a/include/wine/strmbase.h +++ b/include/wine/strmbase.h @@ -204,8 +204,6 @@ HRESULT WINAPI BaseFilter_Destroy(BaseFilter * This); /* Enums */ HRESULT WINAPI EnumMediaTypes_Construct(BasePin *iface, BasePin_GetMediaType enumFunc, BasePin_GetMediaTypeVersion versionFunc, IEnumMediaTypes ** ppEnum);
-HRESULT WINAPI EnumPins_Construct(BaseFilter *base, BaseFilter_GetPin receive_pin, BaseFilter_GetPinCount receive_pincount, BaseFilter_GetPinVersion receive_version, IEnumPins ** ppEnum); - /* Transform Filter */ typedef struct TransformFilter { @@ -303,11 +301,6 @@ HRESULT WINAPI SourceSeekingImpl_SetRate(IMediaSeeking * iface, double dRate); HRESULT WINAPI SourceSeekingImpl_GetRate(IMediaSeeking * iface, double * dRate); HRESULT WINAPI SourceSeekingImpl_GetPreroll(IMediaSeeking * iface, LONGLONG * pPreroll);
-/* PosPassThru */ -HRESULT WINAPI RendererPosPassThru_RegisterMediaTime(IUnknown *iface, REFERENCE_TIME start); -HRESULT WINAPI RendererPosPassThru_ResetMediaTime(IUnknown *iface); -HRESULT WINAPI RendererPosPassThru_EOS(IUnknown *iface); - HRESULT WINAPI CreatePosPassThru(IUnknown* pUnkOuter, BOOL bRenderer, IPin *pPin, IUnknown **ppPassThru); HRESULT WINAPI PosPassThru_Construct(IUnknown* pUnkOuter, LPVOID *ppPassThru);
@@ -419,12 +412,6 @@ typedef struct{ ITypeInfo *pTypeInfo; } BaseDispatch;
-HRESULT WINAPI BaseDispatch_Init(BaseDispatch *This, REFIID riid); -HRESULT WINAPI BaseDispatch_Destroy(BaseDispatch *This); -HRESULT WINAPI BaseDispatchImpl_GetIDsOfNames(BaseDispatch *This, REFIID riid, OLECHAR **rgszNames, UINT cNames, LCID lcid, DISPID *rgdispid); -HRESULT WINAPI BaseDispatchImpl_GetTypeInfo(BaseDispatch *This, REFIID riid, UINT itinfo, LCID lcid, ITypeInfo **pptinfo); -HRESULT WINAPI BaseDispatchImpl_GetTypeInfoCount(BaseDispatch *This, UINT *pctinfo); - #ifdef __IVideoWindow_FWD_DEFINED__ typedef struct tagBaseControlWindow {
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/amstream/mediastream.c | 2 -- dlls/qcap/avico.c | 3 +-- dlls/qcap/avimux.c | 5 ++--- dlls/qcap/smartteefilter.c | 5 ++--- dlls/qcap/vfwcapture.c | 2 +- dlls/quartz/filesource.c | 8 ++++---- dlls/quartz/parser.c | 2 +- dlls/strmbase/pin.c | 17 ++++++++--------- dlls/strmbase/renderer.c | 1 - dlls/strmbase/transform.c | 3 +-- dlls/winegstreamer/gstdemux.c | 2 +- dlls/wineqtdecoder/qtsplitter.c | 2 +- include/wine/strmbase.h | 10 +++++----- 13 files changed, 27 insertions(+), 35 deletions(-)
diff --git a/dlls/amstream/mediastream.c b/dlls/amstream/mediastream.c index 4463eaafe7..9b51351931 100644 --- a/dlls/amstream/mediastream.c +++ b/dlls/amstream/mediastream.c @@ -591,7 +591,6 @@ static const BaseInputPinFuncTable DirectDrawMediaStreamInputPin_FuncTable = { { DirectDrawMediaStreamInputPin_CheckMediaType, - NULL, DirectDrawMediaStreamInputPin_GetMediaTypeVersion, DirectDrawMediaStreamInputPin_GetMediaType, }, @@ -1135,7 +1134,6 @@ static const BaseInputPinFuncTable AudioMediaStreamInputPin_FuncTable = { { AudioMediaStreamInputPin_CheckMediaType, - NULL, AudioMediaStreamInputPin_GetMediaTypeVersion, AudioMediaStreamInputPin_GetMediaType, }, diff --git a/dlls/qcap/avico.c b/dlls/qcap/avico.c index 3351b36167..bff1da474c 100644 --- a/dlls/qcap/avico.c +++ b/dlls/qcap/avico.c @@ -574,7 +574,6 @@ static HRESULT WINAPI AVICompressorIn_Receive(BaseInputPin *base, IMediaSample * static const BaseInputPinFuncTable AVICompressorBaseInputPinVtbl = { { AVICompressorIn_CheckMediaType, - NULL, AVICompressorIn_GetMediaTypeVersion, AVICompressorIn_GetMediaType }, @@ -679,10 +678,10 @@ static HRESULT WINAPI AVICompressorOut_BreakConnect(BaseOutputPin *base) static const BaseOutputPinFuncTable AVICompressorBaseOutputPinVtbl = { { NULL, - BaseOutputPinImpl_AttemptConnection, AVICompressorOut_GetMediaTypeVersion, AVICompressorOut_GetMediaType }, + BaseOutputPinImpl_AttemptConnection, AVICompressorOut_DecideBufferSize, AVICompressorOut_DecideAllocator, AVICompressorOut_BreakConnect diff --git a/dlls/qcap/avimux.c b/dlls/qcap/avimux.c index 427b019ec6..6ddff8f93b 100644 --- a/dlls/qcap/avimux.c +++ b/dlls/qcap/avimux.c @@ -1229,7 +1229,7 @@ static HRESULT WINAPI AviMuxOut_CheckMediaType(BasePin *base, const AM_MEDIA_TYP return S_OK; }
-static HRESULT WINAPI AviMuxOut_AttemptConnection(BasePin *base, +static HRESULT WINAPI AviMuxOut_AttemptConnection(BaseOutputPin *base, IPin *pReceivePin, const AM_MEDIA_TYPE *pmt) { PIN_DIRECTION dir; @@ -1306,10 +1306,10 @@ static HRESULT WINAPI AviMuxOut_BreakConnect(BaseOutputPin *base) static const BaseOutputPinFuncTable AviMuxOut_BaseOutputFuncTable = { { AviMuxOut_CheckMediaType, - AviMuxOut_AttemptConnection, AviMuxOut_GetMediaTypeVersion, AviMuxOut_GetMediaType }, + AviMuxOut_AttemptConnection, NULL, AviMuxOut_DecideAllocator, AviMuxOut_BreakConnect @@ -1701,7 +1701,6 @@ static HRESULT WINAPI AviMuxIn_Receive(BaseInputPin *base, IMediaSample *pSample static const BaseInputPinFuncTable AviMuxIn_BaseInputFuncTable = { { AviMuxIn_CheckMediaType, - NULL, AviMuxIn_GetMediaTypeVersion, AviMuxIn_GetMediaType }, diff --git a/dlls/qcap/smartteefilter.c b/dlls/qcap/smartteefilter.c index f052e2d0cd..09176e3b16 100644 --- a/dlls/qcap/smartteefilter.c +++ b/dlls/qcap/smartteefilter.c @@ -425,7 +425,6 @@ static HRESULT WINAPI SmartTeeFilterInput_Receive(BaseInputPin *base, IMediaSamp static const BaseInputPinFuncTable SmartTeeFilterInputFuncs = { { SmartTeeFilterInput_CheckMediaType, - NULL, SmartTeeFilterInput_GetMediaTypeVersion, SmartTeeFilterInput_GetMediaType }, @@ -522,10 +521,10 @@ static HRESULT WINAPI SmartTeeFilterCapture_BreakConnect(BaseOutputPin *base) static const BaseOutputPinFuncTable SmartTeeFilterCaptureFuncs = { { SmartTeeFilterCapture_CheckMediaType, - BaseOutputPinImpl_AttemptConnection, SmartTeeFilterCapture_GetMediaTypeVersion, SmartTeeFilterCapture_GetMediaType }, + BaseOutputPinImpl_AttemptConnection, NULL, SmartTeeFilterCapture_DecideAllocator, SmartTeeFilterCapture_BreakConnect @@ -621,10 +620,10 @@ static HRESULT WINAPI SmartTeeFilterPreview_BreakConnect(BaseOutputPin *base) static const BaseOutputPinFuncTable SmartTeeFilterPreviewFuncs = { { SmartTeeFilterPreview_CheckMediaType, - BaseOutputPinImpl_AttemptConnection, SmartTeeFilterPreview_GetMediaTypeVersion, SmartTeeFilterPreview_GetMediaType }, + BaseOutputPinImpl_AttemptConnection, NULL, SmartTeeFilterPreview_DecideAllocator, SmartTeeFilterPreview_BreakConnect diff --git a/dlls/qcap/vfwcapture.c b/dlls/qcap/vfwcapture.c index 8cf25c19b2..015f04a214 100644 --- a/dlls/qcap/vfwcapture.c +++ b/dlls/qcap/vfwcapture.c @@ -707,10 +707,10 @@ static HRESULT WINAPI VfwPin_DecideBufferSize(BaseOutputPin *iface, IMemAllocato static const BaseOutputPinFuncTable output_BaseOutputFuncTable = { { VfwPin_CheckMediaType, - BaseOutputPinImpl_AttemptConnection, VfwPin_GetMediaTypeVersion, VfwPin_GetMediaType }, + BaseOutputPinImpl_AttemptConnection, VfwPin_DecideBufferSize, BaseOutputPinImpl_DecideAllocator, BaseOutputPinImpl_BreakConnect diff --git a/dlls/quartz/filesource.c b/dlls/quartz/filesource.c index e53db995f4..c561424bdd 100644 --- a/dlls/quartz/filesource.c +++ b/dlls/quartz/filesource.c @@ -862,9 +862,9 @@ static const IPinVtbl FileAsyncReaderPin_Vtbl = /* specific AM_MEDIA_TYPE - it cannot be NULL */ /* this differs from standard OutputPin_AttemptConnection only in that it * doesn't need the IMemInputPin interface on the receiving pin */ -static HRESULT WINAPI FileAsyncReaderPin_AttemptConnection(BasePin * iface, IPin * pReceivePin, const AM_MEDIA_TYPE * pmt) +static HRESULT WINAPI FileAsyncReaderPin_AttemptConnection(BaseOutputPin *This, + IPin *pReceivePin, const AM_MEDIA_TYPE *pmt) { - BaseOutputPin *This = impl_BaseOutputPin_from_BasePin(iface); HRESULT hr;
TRACE("%p->(%p, %p)\n", This, pReceivePin, pmt); @@ -876,7 +876,7 @@ static HRESULT WINAPI FileAsyncReaderPin_AttemptConnection(BasePin * iface, IPin IPin_AddRef(pReceivePin); CopyMediaType(&This->pin.mtCurrent, pmt);
- hr = IPin_ReceiveConnection(pReceivePin, &iface->IPin_iface, pmt); + hr = IPin_ReceiveConnection(pReceivePin, &This->pin.IPin_iface, pmt);
if (FAILED(hr)) { @@ -909,10 +909,10 @@ static HRESULT WINAPI FileAsyncReaderPin_DecideBufferSize(BaseOutputPin *iface, static const BaseOutputPinFuncTable output_BaseOutputFuncTable = { { FileAsyncReaderPin_CheckMediaType, - FileAsyncReaderPin_AttemptConnection, BasePinImpl_GetMediaTypeVersion, FileAsyncReaderPin_GetMediaType }, + FileAsyncReaderPin_AttemptConnection, FileAsyncReaderPin_DecideBufferSize, BaseOutputPinImpl_DecideAllocator, BaseOutputPinImpl_BreakConnect diff --git a/dlls/quartz/parser.c b/dlls/quartz/parser.c index b0cb500c56..4145a3bf2a 100644 --- a/dlls/quartz/parser.c +++ b/dlls/quartz/parser.c @@ -424,10 +424,10 @@ HRESULT WINAPI Parser_QueryVendorInfo(IBaseFilter * iface, LPWSTR *pVendorInfo) static const BaseOutputPinFuncTable output_BaseOutputFuncTable = { { Parser_OutputPin_CheckMediaType, - BaseOutputPinImpl_AttemptConnection, BasePinImpl_GetMediaTypeVersion, Parser_OutputPin_GetMediaType }, + BaseOutputPinImpl_AttemptConnection, Parser_OutputPin_DecideBufferSize, Parser_OutputPin_DecideAllocator, Parser_OutputPin_BreakConnect diff --git a/dlls/strmbase/pin.c b/dlls/strmbase/pin.c index 8ae909850a..376db5cdbe 100644 --- a/dlls/strmbase/pin.c +++ b/dlls/strmbase/pin.c @@ -414,7 +414,7 @@ HRESULT WINAPI BaseOutputPinImpl_Connect(IPin * iface, IPin * pReceivePin, const /* if we have been a specific type to connect with, then we can either connect * with that or fail. We cannot choose different AM_MEDIA_TYPE */ if (pmt && !IsEqualGUID(&pmt->majortype, &GUID_NULL) && !IsEqualGUID(&pmt->subtype, &GUID_NULL)) - hr = This->pin.pFuncsTable->pfnAttemptConnection(&This->pin, pReceivePin, pmt); + hr = This->pFuncsTable->pfnAttemptConnection(This, pReceivePin, pmt); else { /* negotiate media type */ @@ -434,8 +434,8 @@ HRESULT WINAPI BaseOutputPinImpl_Connect(IPin * iface, IPin * pReceivePin, const if (!IsEqualGUID(&FORMAT_None, &pmtCandidate->formattype) && !IsEqualGUID(&GUID_NULL, &pmtCandidate->formattype)) assert(pmtCandidate->pbFormat); - if (( !pmt || CompareMediaTypes(pmt, pmtCandidate, TRUE) ) && - (This->pin.pFuncsTable->pfnAttemptConnection(&This->pin, pReceivePin, pmtCandidate) == S_OK)) + if ((!pmt || CompareMediaTypes(pmt, pmtCandidate, TRUE)) + && This->pFuncsTable->pfnAttemptConnection(This, pReceivePin, pmtCandidate) == S_OK) { hr = S_OK; DeleteMediaType(pmtCandidate); @@ -458,8 +458,8 @@ HRESULT WINAPI BaseOutputPinImpl_Connect(IPin * iface, IPin * pReceivePin, const { assert(pmtCandidate); dump_AM_MEDIA_TYPE(pmtCandidate); - if (( !pmt || CompareMediaTypes(pmt, pmtCandidate, TRUE) ) && - (This->pin.pFuncsTable->pfnAttemptConnection(&This->pin, pReceivePin, pmtCandidate) == S_OK)) + if ((!pmt || CompareMediaTypes(pmt, pmtCandidate, TRUE)) + && This->pFuncsTable->pfnAttemptConnection(This, pReceivePin, pmtCandidate) == S_OK) { hr = S_OK; DeleteMediaType(pmtCandidate); @@ -699,9 +699,8 @@ HRESULT WINAPI BaseOutputPinImpl_DecideAllocator(BaseOutputPin *This, IMemInputP
/* Function called as a helper to IPin_Connect */ /* specific AM_MEDIA_TYPE - it cannot be NULL */ -HRESULT WINAPI BaseOutputPinImpl_AttemptConnection(BasePin* iface, IPin * pReceivePin, const AM_MEDIA_TYPE * pmt) +HRESULT WINAPI BaseOutputPinImpl_AttemptConnection(BaseOutputPin *This, IPin *pReceivePin, const AM_MEDIA_TYPE *pmt) { - BaseOutputPin *This = impl_BaseOutputPin_from_BasePin(iface); HRESULT hr; IMemAllocator * pMemAlloc = NULL;
@@ -715,7 +714,7 @@ HRESULT WINAPI BaseOutputPinImpl_AttemptConnection(BasePin* iface, IPin * pRecei IPin_AddRef(pReceivePin); CopyMediaType(&This->pin.mtCurrent, pmt);
- hr = IPin_ReceiveConnection(pReceivePin, &iface->IPin_iface, pmt); + hr = IPin_ReceiveConnection(pReceivePin, &This->pin.IPin_iface, pmt);
/* get the IMemInputPin interface we will use to deliver samples to the * connected pin */ @@ -792,7 +791,7 @@ HRESULT WINAPI BaseOutputPin_Construct(const IPinVtbl *OutputPin_Vtbl, LONG outp }
assert(outputpin_size >= sizeof(BaseOutputPin)); - assert(vtbl->base.pfnAttemptConnection); + assert(vtbl->pfnAttemptConnection);
pPinImpl = CoTaskMemAlloc(outputpin_size);
diff --git a/dlls/strmbase/renderer.c b/dlls/strmbase/renderer.c index 43d7c70d45..082400a26b 100644 --- a/dlls/strmbase/renderer.c +++ b/dlls/strmbase/renderer.c @@ -197,7 +197,6 @@ static const BaseFilterFuncTable RendererBaseFilterFuncTable = { static const BaseInputPinFuncTable input_BaseInputFuncTable = { { BaseRenderer_Input_CheckMediaType, - NULL, BasePinImpl_GetMediaTypeVersion, BasePinImpl_GetMediaType }, diff --git a/dlls/strmbase/transform.c b/dlls/strmbase/transform.c index c942e92c5c..6bb75c1e6f 100644 --- a/dlls/strmbase/transform.c +++ b/dlls/strmbase/transform.c @@ -152,7 +152,6 @@ static const BaseFilterFuncTable tfBaseFuncTable = { static const BaseInputPinFuncTable tf_input_BaseInputFuncTable = { { TransformFilter_Input_CheckMediaType, - NULL, BasePinImpl_GetMediaTypeVersion, BasePinImpl_GetMediaType }, @@ -162,10 +161,10 @@ static const BaseInputPinFuncTable tf_input_BaseInputFuncTable = { static const BaseOutputPinFuncTable tf_output_BaseOutputFuncTable = { { TransformFilter_Output_CheckMediaType, - BaseOutputPinImpl_AttemptConnection, BasePinImpl_GetMediaTypeVersion, TransformFilter_Output_GetMediaType }, + BaseOutputPinImpl_AttemptConnection, TransformFilter_Output_DecideBufferSize, BaseOutputPinImpl_DecideAllocator, BaseOutputPinImpl_BreakConnect diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c index c3d98cf677..1552e9e6c7 100644 --- a/dlls/winegstreamer/gstdemux.c +++ b/dlls/winegstreamer/gstdemux.c @@ -1868,10 +1868,10 @@ static const IPinVtbl GST_OutputPin_Vtbl = { static const BaseOutputPinFuncTable output_BaseOutputFuncTable = { { GSTOutPin_CheckMediaType, - BaseOutputPinImpl_AttemptConnection, BasePinImpl_GetMediaTypeVersion, GSTOutPin_GetMediaType }, + BaseOutputPinImpl_AttemptConnection, GSTOutPin_DecideBufferSize, GSTOutPin_DecideAllocator, GSTOutPin_BreakConnect diff --git a/dlls/wineqtdecoder/qtsplitter.c b/dlls/wineqtdecoder/qtsplitter.c index d2255b15d9..056bd564db 100644 --- a/dlls/wineqtdecoder/qtsplitter.c +++ b/dlls/wineqtdecoder/qtsplitter.c @@ -1515,10 +1515,10 @@ static const IQualityControlVtbl QTOutPin_QualityControl_Vtbl = { static const BaseOutputPinFuncTable output_BaseOutputFuncTable = { { QTOutPin_CheckMediaType, - BaseOutputPinImpl_AttemptConnection, BasePinImpl_GetMediaTypeVersion, QTOutPin_GetMediaType }, + BaseOutputPinImpl_AttemptConnection, QTOutPin_DecideBufferSize, QTOutPin_DecideAllocator, QTOutPin_BreakConnect diff --git a/include/wine/strmbase.h b/include/wine/strmbase.h index 6429d864fd..fd241c8925 100644 --- a/include/wine/strmbase.h +++ b/include/wine/strmbase.h @@ -44,15 +44,12 @@ typedef struct BasePin } BasePin;
typedef HRESULT (WINAPI *BasePin_CheckMediaType)(BasePin *This, const AM_MEDIA_TYPE *pmt); -typedef HRESULT (WINAPI *BasePin_AttemptConnection)(BasePin *This, IPin *pReceivePin, const AM_MEDIA_TYPE *pmt); typedef LONG (WINAPI *BasePin_GetMediaTypeVersion)(BasePin *This); typedef HRESULT (WINAPI *BasePin_GetMediaType)(BasePin *This, int iPosition, AM_MEDIA_TYPE *amt);
typedef struct BasePinFuncTable { - /* Required for Input Pins*/ + /* Required for QueryAccept(), Connect(), ReceiveConnection(). */ BasePin_CheckMediaType pfnCheckMediaType; - /* Required for Output Pins*/ - BasePin_AttemptConnection pfnAttemptConnection; /* Required for BasePinImpl_EnumMediaTypes */ BasePin_GetMediaTypeVersion pfnGetMediaTypeVersion; BasePin_GetMediaType pfnGetMediaType; @@ -68,6 +65,7 @@ typedef struct BaseOutputPin const struct BaseOutputPinFuncTable* pFuncsTable; } BaseOutputPin;
+typedef HRESULT (WINAPI *BaseOutputPin_AttemptConnection)(BaseOutputPin *pin, IPin *peer, const AM_MEDIA_TYPE *mt); typedef HRESULT (WINAPI *BaseOutputPin_DecideBufferSize)(BaseOutputPin *This, IMemAllocator *pAlloc, ALLOCATOR_PROPERTIES *ppropInputRequest); typedef HRESULT (WINAPI *BaseOutputPin_DecideAllocator)(BaseOutputPin *This, IMemInputPin *pPin, IMemAllocator **pAlloc); typedef HRESULT (WINAPI *BaseOutputPin_BreakConnect)(BaseOutputPin * This); @@ -75,6 +73,8 @@ typedef HRESULT (WINAPI *BaseOutputPin_BreakConnect)(BaseOutputPin * This); typedef struct BaseOutputPinFuncTable { BasePinFuncTable base;
+ /* Required for Connect(). */ + BaseOutputPin_AttemptConnection pfnAttemptConnection; /* Required for BaseOutputPinImpl_DecideAllocator */ BaseOutputPin_DecideBufferSize pfnDecideBufferSize; /* Required for BaseOutputPinImpl_AttemptConnection */ @@ -135,7 +135,7 @@ HRESULT WINAPI BaseOutputPinImpl_Active(BaseOutputPin * This); HRESULT WINAPI BaseOutputPinImpl_Inactive(BaseOutputPin * This); HRESULT WINAPI BaseOutputPinImpl_InitAllocator(BaseOutputPin *This, IMemAllocator **pMemAlloc); HRESULT WINAPI BaseOutputPinImpl_DecideAllocator(BaseOutputPin *This, IMemInputPin *pPin, IMemAllocator **pAlloc); -HRESULT WINAPI BaseOutputPinImpl_AttemptConnection(BasePin *This, IPin * pReceivePin, const AM_MEDIA_TYPE * pmt); +HRESULT WINAPI BaseOutputPinImpl_AttemptConnection(BaseOutputPin *pin, IPin *peer, const AM_MEDIA_TYPE *mt);
HRESULT WINAPI BaseOutputPin_Construct(const IPinVtbl *OutputPin_Vtbl, LONG outputpin_size, const PIN_INFO * pPinInfo, const BaseOutputPinFuncTable* pBaseOutputFuncsTable, LPCRITICAL_SECTION pCritSec, IPin ** ppPin); HRESULT WINAPI BaseOutputPin_Destroy(BaseOutputPin *This);
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/amstream/mediastream.c | 12 ------------ dlls/qcap/avico.c | 13 ------------- dlls/qcap/avimux.c | 12 ------------ dlls/qcap/smartteefilter.c | 22 ---------------------- dlls/qcap/vfwcapture.c | 1 - dlls/quartz/filesource.c | 1 - dlls/quartz/parser.c | 1 - dlls/strmbase/pin.c | 11 +++++------ dlls/strmbase/renderer.c | 1 - dlls/strmbase/transform.c | 2 -- dlls/winegstreamer/gstdemux.c | 1 - dlls/wineqtdecoder/qtsplitter.c | 1 - include/wine/strmbase.h | 1 - 13 files changed, 5 insertions(+), 74 deletions(-)
diff --git a/dlls/amstream/mediastream.c b/dlls/amstream/mediastream.c index 9b51351931..28c3c01f7b 100644 --- a/dlls/amstream/mediastream.c +++ b/dlls/amstream/mediastream.c @@ -532,11 +532,6 @@ static HRESULT WINAPI DirectDrawMediaStreamInputPin_CheckMediaType(BasePin *base return S_FALSE; }
-static LONG WINAPI DirectDrawMediaStreamInputPin_GetMediaTypeVersion(BasePin *base) -{ - return 0; -} - static HRESULT WINAPI DirectDrawMediaStreamInputPin_GetMediaType(BasePin *base, int index, AM_MEDIA_TYPE *media_type) { DirectDrawMediaStreamInputPin *This = impl_from_DirectDrawMediaStreamInputPin_IPin(&base->IPin_iface); @@ -591,7 +586,6 @@ static const BaseInputPinFuncTable DirectDrawMediaStreamInputPin_FuncTable = { { DirectDrawMediaStreamInputPin_CheckMediaType, - DirectDrawMediaStreamInputPin_GetMediaTypeVersion, DirectDrawMediaStreamInputPin_GetMediaType, }, DirectDrawMediaStreamInputPin_Receive, @@ -1098,11 +1092,6 @@ static HRESULT WINAPI AudioMediaStreamInputPin_CheckMediaType(BasePin *base, con return S_OK; }
-static LONG WINAPI AudioMediaStreamInputPin_GetMediaTypeVersion(BasePin *base) -{ - return 0; -} - static HRESULT WINAPI AudioMediaStreamInputPin_GetMediaType(BasePin *base, int index, AM_MEDIA_TYPE *media_type) { AudioMediaStreamInputPin *This = impl_from_AudioMediaStreamInputPin_IPin(&base->IPin_iface); @@ -1134,7 +1123,6 @@ static const BaseInputPinFuncTable AudioMediaStreamInputPin_FuncTable = { { AudioMediaStreamInputPin_CheckMediaType, - AudioMediaStreamInputPin_GetMediaTypeVersion, AudioMediaStreamInputPin_GetMediaType, }, AudioMediaStreamInputPin_Receive, diff --git a/dlls/qcap/avico.c b/dlls/qcap/avico.c index bff1da474c..49ac2d864d 100644 --- a/dlls/qcap/avico.c +++ b/dlls/qcap/avico.c @@ -473,11 +473,6 @@ static HRESULT WINAPI AVICompressorIn_CheckMediaType(BasePin *base, const AM_MED return res == ICERR_OK ? S_OK : S_FALSE; }
-static LONG WINAPI AVICompressorIn_GetMediaTypeVersion(BasePin *base) -{ - return 0; -} - static HRESULT WINAPI AVICompressorIn_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) { TRACE("(%p)->(%d %p)\n", base, iPosition, amt); @@ -574,7 +569,6 @@ static HRESULT WINAPI AVICompressorIn_Receive(BaseInputPin *base, IMediaSample * static const BaseInputPinFuncTable AVICompressorBaseInputPinVtbl = { { AVICompressorIn_CheckMediaType, - AVICompressorIn_GetMediaTypeVersion, AVICompressorIn_GetMediaType }, AVICompressorIn_Receive @@ -618,12 +612,6 @@ static const IPinVtbl AVICompressorOutputPinVtbl = { BasePinImpl_NewSegment };
-static LONG WINAPI AVICompressorOut_GetMediaTypeVersion(BasePin *base) -{ - FIXME("(%p)\n", base); - return 0; -} - static HRESULT WINAPI AVICompressorOut_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) { AVICompressor *This = impl_from_IBaseFilter(base->pinInfo.pFilter); @@ -678,7 +666,6 @@ static HRESULT WINAPI AVICompressorOut_BreakConnect(BaseOutputPin *base) static const BaseOutputPinFuncTable AVICompressorBaseOutputPinVtbl = { { NULL, - AVICompressorOut_GetMediaTypeVersion, AVICompressorOut_GetMediaType }, BaseOutputPinImpl_AttemptConnection, diff --git a/dlls/qcap/avimux.c b/dlls/qcap/avimux.c index 6ddff8f93b..2bb6e12826 100644 --- a/dlls/qcap/avimux.c +++ b/dlls/qcap/avimux.c @@ -1245,11 +1245,6 @@ static HRESULT WINAPI AviMuxOut_AttemptConnection(BaseOutputPin *base, return BaseOutputPinImpl_AttemptConnection(base, pReceivePin, pmt); }
-static LONG WINAPI AviMuxOut_GetMediaTypeVersion(BasePin *base) -{ - return 0; -} - static HRESULT WINAPI AviMuxOut_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) { TRACE("(%p)->(%d %p)\n", base, iPosition, amt); @@ -1306,7 +1301,6 @@ static HRESULT WINAPI AviMuxOut_BreakConnect(BaseOutputPin *base) static const BaseOutputPinFuncTable AviMuxOut_BaseOutputFuncTable = { { AviMuxOut_CheckMediaType, - AviMuxOut_GetMediaTypeVersion, AviMuxOut_GetMediaType }, AviMuxOut_AttemptConnection, @@ -1585,11 +1579,6 @@ static HRESULT WINAPI AviMuxIn_CheckMediaType(BasePin *base, const AM_MEDIA_TYPE return S_FALSE; }
-static LONG WINAPI AviMuxIn_GetMediaTypeVersion(BasePin *base) -{ - return 0; -} - static HRESULT WINAPI AviMuxIn_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) { return S_FALSE; @@ -1701,7 +1690,6 @@ static HRESULT WINAPI AviMuxIn_Receive(BaseInputPin *base, IMediaSample *pSample static const BaseInputPinFuncTable AviMuxIn_BaseInputFuncTable = { { AviMuxIn_CheckMediaType, - AviMuxIn_GetMediaTypeVersion, AviMuxIn_GetMediaType }, AviMuxIn_Receive diff --git a/dlls/qcap/smartteefilter.c b/dlls/qcap/smartteefilter.c index 09176e3b16..72794d01e6 100644 --- a/dlls/qcap/smartteefilter.c +++ b/dlls/qcap/smartteefilter.c @@ -279,11 +279,6 @@ static HRESULT WINAPI SmartTeeFilterInput_CheckMediaType(BasePin *base, const AM return S_OK; }
-static LONG WINAPI SmartTeeFilterInput_GetMediaTypeVersion(BasePin *base) -{ - return 0; -} - static HRESULT WINAPI SmartTeeFilterInput_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) { SmartTeeFilter *This = impl_from_BasePin(base); @@ -425,7 +420,6 @@ static HRESULT WINAPI SmartTeeFilterInput_Receive(BaseInputPin *base, IMediaSamp static const BaseInputPinFuncTable SmartTeeFilterInputFuncs = { { SmartTeeFilterInput_CheckMediaType, - SmartTeeFilterInput_GetMediaTypeVersion, SmartTeeFilterInput_GetMediaType }, SmartTeeFilterInput_Receive @@ -484,13 +478,6 @@ static HRESULT WINAPI SmartTeeFilterCapture_CheckMediaType(BasePin *base, const return S_OK; }
-static LONG WINAPI SmartTeeFilterCapture_GetMediaTypeVersion(BasePin *base) -{ - SmartTeeFilter *This = impl_from_BasePin(base); - TRACE("(%p)\n", This); - return 0; -} - static HRESULT WINAPI SmartTeeFilterCapture_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) { SmartTeeFilter *This = impl_from_BasePin(base); @@ -521,7 +508,6 @@ static HRESULT WINAPI SmartTeeFilterCapture_BreakConnect(BaseOutputPin *base) static const BaseOutputPinFuncTable SmartTeeFilterCaptureFuncs = { { SmartTeeFilterCapture_CheckMediaType, - SmartTeeFilterCapture_GetMediaTypeVersion, SmartTeeFilterCapture_GetMediaType }, BaseOutputPinImpl_AttemptConnection, @@ -583,13 +569,6 @@ static HRESULT WINAPI SmartTeeFilterPreview_CheckMediaType(BasePin *base, const return S_OK; }
-static LONG WINAPI SmartTeeFilterPreview_GetMediaTypeVersion(BasePin *base) -{ - SmartTeeFilter *This = impl_from_BasePin(base); - TRACE("(%p)\n", This); - return 0; -} - static HRESULT WINAPI SmartTeeFilterPreview_GetMediaType(BasePin *base, int iPosition, AM_MEDIA_TYPE *amt) { SmartTeeFilter *This = impl_from_BasePin(base); @@ -620,7 +599,6 @@ static HRESULT WINAPI SmartTeeFilterPreview_BreakConnect(BaseOutputPin *base) static const BaseOutputPinFuncTable SmartTeeFilterPreviewFuncs = { { SmartTeeFilterPreview_CheckMediaType, - SmartTeeFilterPreview_GetMediaTypeVersion, SmartTeeFilterPreview_GetMediaType }, BaseOutputPinImpl_AttemptConnection, diff --git a/dlls/qcap/vfwcapture.c b/dlls/qcap/vfwcapture.c index 015f04a214..06831561f1 100644 --- a/dlls/qcap/vfwcapture.c +++ b/dlls/qcap/vfwcapture.c @@ -707,7 +707,6 @@ static HRESULT WINAPI VfwPin_DecideBufferSize(BaseOutputPin *iface, IMemAllocato static const BaseOutputPinFuncTable output_BaseOutputFuncTable = { { VfwPin_CheckMediaType, - VfwPin_GetMediaTypeVersion, VfwPin_GetMediaType }, BaseOutputPinImpl_AttemptConnection, diff --git a/dlls/quartz/filesource.c b/dlls/quartz/filesource.c index c561424bdd..293914dc6f 100644 --- a/dlls/quartz/filesource.c +++ b/dlls/quartz/filesource.c @@ -909,7 +909,6 @@ static HRESULT WINAPI FileAsyncReaderPin_DecideBufferSize(BaseOutputPin *iface, static const BaseOutputPinFuncTable output_BaseOutputFuncTable = { { FileAsyncReaderPin_CheckMediaType, - BasePinImpl_GetMediaTypeVersion, FileAsyncReaderPin_GetMediaType }, FileAsyncReaderPin_AttemptConnection, diff --git a/dlls/quartz/parser.c b/dlls/quartz/parser.c index 4145a3bf2a..9278a58bf7 100644 --- a/dlls/quartz/parser.c +++ b/dlls/quartz/parser.c @@ -424,7 +424,6 @@ HRESULT WINAPI Parser_QueryVendorInfo(IBaseFilter * iface, LPWSTR *pVendorInfo) static const BaseOutputPinFuncTable output_BaseOutputFuncTable = { { Parser_OutputPin_CheckMediaType, - BasePinImpl_GetMediaTypeVersion, Parser_OutputPin_GetMediaType }, BaseOutputPinImpl_AttemptConnection, diff --git a/dlls/strmbase/pin.c b/dlls/strmbase/pin.c index 376db5cdbe..58fe0e55e2 100644 --- a/dlls/strmbase/pin.c +++ b/dlls/strmbase/pin.c @@ -306,15 +306,14 @@ HRESULT WINAPI BasePinImpl_QueryAccept(IPin * iface, const AM_MEDIA_TYPE * pmt) return (This->pFuncsTable->pfnCheckMediaType(This, pmt) == S_OK ? S_OK : S_FALSE); }
-HRESULT WINAPI BasePinImpl_EnumMediaTypes(IPin * iface, IEnumMediaTypes ** ppEnum) +HRESULT WINAPI BasePinImpl_EnumMediaTypes(IPin *iface, IEnumMediaTypes **enum_media_types) { - BasePin *This = impl_from_IPin(iface); - - TRACE("(%p)->(%p)\n", This, ppEnum); + BasePin *pin = impl_from_IPin(iface);
- /* override this method to allow enumeration of your types */ + TRACE("iface %p, enum_media_types %p.\n", iface, enum_media_types);
- return EnumMediaTypes_Construct(This, This->pFuncsTable->pfnGetMediaType, This->pFuncsTable->pfnGetMediaTypeVersion , ppEnum); + return EnumMediaTypes_Construct(pin, pin->pFuncsTable->pfnGetMediaType, + BasePinImpl_GetMediaTypeVersion, enum_media_types); }
HRESULT WINAPI BasePinImpl_QueryInternalConnections(IPin * iface, IPin ** apPin, ULONG * cPin) diff --git a/dlls/strmbase/renderer.c b/dlls/strmbase/renderer.c index 082400a26b..438dbb5e91 100644 --- a/dlls/strmbase/renderer.c +++ b/dlls/strmbase/renderer.c @@ -197,7 +197,6 @@ static const BaseFilterFuncTable RendererBaseFilterFuncTable = { static const BaseInputPinFuncTable input_BaseInputFuncTable = { { BaseRenderer_Input_CheckMediaType, - BasePinImpl_GetMediaTypeVersion, BasePinImpl_GetMediaType }, BaseRenderer_Receive diff --git a/dlls/strmbase/transform.c b/dlls/strmbase/transform.c index 6bb75c1e6f..1ce628335b 100644 --- a/dlls/strmbase/transform.c +++ b/dlls/strmbase/transform.c @@ -152,7 +152,6 @@ static const BaseFilterFuncTable tfBaseFuncTable = { static const BaseInputPinFuncTable tf_input_BaseInputFuncTable = { { TransformFilter_Input_CheckMediaType, - BasePinImpl_GetMediaTypeVersion, BasePinImpl_GetMediaType }, TransformFilter_Input_Receive @@ -161,7 +160,6 @@ static const BaseInputPinFuncTable tf_input_BaseInputFuncTable = { static const BaseOutputPinFuncTable tf_output_BaseOutputFuncTable = { { TransformFilter_Output_CheckMediaType, - BasePinImpl_GetMediaTypeVersion, TransformFilter_Output_GetMediaType }, BaseOutputPinImpl_AttemptConnection, diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c index 1552e9e6c7..8b167483f6 100644 --- a/dlls/winegstreamer/gstdemux.c +++ b/dlls/winegstreamer/gstdemux.c @@ -1868,7 +1868,6 @@ static const IPinVtbl GST_OutputPin_Vtbl = { static const BaseOutputPinFuncTable output_BaseOutputFuncTable = { { GSTOutPin_CheckMediaType, - BasePinImpl_GetMediaTypeVersion, GSTOutPin_GetMediaType }, BaseOutputPinImpl_AttemptConnection, diff --git a/dlls/wineqtdecoder/qtsplitter.c b/dlls/wineqtdecoder/qtsplitter.c index 056bd564db..33edf25e12 100644 --- a/dlls/wineqtdecoder/qtsplitter.c +++ b/dlls/wineqtdecoder/qtsplitter.c @@ -1515,7 +1515,6 @@ static const IQualityControlVtbl QTOutPin_QualityControl_Vtbl = { static const BaseOutputPinFuncTable output_BaseOutputFuncTable = { { QTOutPin_CheckMediaType, - BasePinImpl_GetMediaTypeVersion, QTOutPin_GetMediaType }, BaseOutputPinImpl_AttemptConnection, diff --git a/include/wine/strmbase.h b/include/wine/strmbase.h index fd241c8925..119dec7d62 100644 --- a/include/wine/strmbase.h +++ b/include/wine/strmbase.h @@ -51,7 +51,6 @@ typedef struct BasePinFuncTable { /* Required for QueryAccept(), Connect(), ReceiveConnection(). */ BasePin_CheckMediaType pfnCheckMediaType; /* Required for BasePinImpl_EnumMediaTypes */ - BasePin_GetMediaTypeVersion pfnGetMediaTypeVersion; BasePin_GetMediaType pfnGetMediaType; } BasePinFuncTable;