Commit 9f1909be authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

strmbase: Rename pfnCheckMediaType() to pin_query_accept().

And remove the unnecessary calling convention. Signed-off-by: 's avatarZebediah Figura <z.figura12@gmail.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 8d40f81d
......@@ -379,7 +379,7 @@ static const IPinVtbl AVICompressorInputPinVtbl = {
BaseInputPinImpl_NewSegment
};
static HRESULT WINAPI AVICompressorIn_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *pmt)
static HRESULT sink_query_accept(struct strmbase_pin *base, const AM_MEDIA_TYPE *pmt)
{
AVICompressor *This = impl_from_strmbase_pin(base);
VIDEOINFOHEADER *videoinfo;
......@@ -499,12 +499,11 @@ static HRESULT WINAPI AVICompressorIn_Receive(BaseInputPin *base, IMediaSample *
return hres;
}
static const BaseInputPinFuncTable AVICompressorBaseInputPinVtbl = {
{
AVICompressorIn_CheckMediaType,
AVICompressorIn_GetMediaType
},
AVICompressorIn_Receive
static const BaseInputPinFuncTable AVICompressorBaseInputPinVtbl =
{
.base.pin_query_accept = sink_query_accept,
.base.pfnGetMediaType = AVICompressorIn_GetMediaType,
.pfnReceive = AVICompressorIn_Receive,
};
static HRESULT WINAPI AVICompressorOut_QueryInterface(IPin *iface, REFIID riid, void **ppv)
......
......@@ -1152,7 +1152,7 @@ static const ISpecifyPropertyPagesVtbl SpecifyPropertyPagesVtbl = {
SpecifyPropertyPages_GetPages
};
static HRESULT WINAPI AviMuxOut_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
static HRESULT source_query_accept(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
{
FIXME("(%p) stub\n", base);
return S_OK;
......@@ -1223,13 +1223,10 @@ static HRESULT WINAPI AviMuxOut_DecideAllocator(struct strmbase_source *base,
static const struct strmbase_source_ops source_ops =
{
{
AviMuxOut_CheckMediaType,
AviMuxOut_GetMediaType
},
AviMuxOut_AttemptConnection,
NULL,
AviMuxOut_DecideAllocator,
.base.pin_query_accept = source_query_accept,
.base.pfnGetMediaType = AviMuxOut_GetMediaType,
.pfnAttemptConnection = AviMuxOut_AttemptConnection,
.pfnDecideAllocator = AviMuxOut_DecideAllocator,
};
static inline AviMux *impl_from_out_IPin(IPin *iface)
......@@ -1372,7 +1369,7 @@ static const IQualityControlVtbl AviMuxOut_QualityControlVtbl = {
AviMuxOut_QualityControl_SetSink
};
static HRESULT WINAPI AviMuxIn_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *pmt)
static HRESULT sink_query_accept(struct strmbase_pin *base, const AM_MEDIA_TYPE *pmt)
{
if(IsEqualIID(&pmt->majortype, &MEDIATYPE_Audio) &&
IsEqualIID(&pmt->formattype, &FORMAT_WaveFormatEx))
......@@ -1495,12 +1492,11 @@ static HRESULT WINAPI AviMuxIn_Receive(BaseInputPin *base, IMediaSample *pSample
return hr;
}
static const BaseInputPinFuncTable AviMuxIn_BaseInputFuncTable = {
{
AviMuxIn_CheckMediaType,
AviMuxIn_GetMediaType
},
AviMuxIn_Receive
static const BaseInputPinFuncTable AviMuxIn_BaseInputFuncTable =
{
.base.pin_query_accept = sink_query_accept,
.base.pfnGetMediaType = AviMuxIn_GetMediaType,
.pfnReceive = AviMuxIn_Receive,
};
static inline AviMux* impl_from_in_IPin(IPin *iface)
......
......@@ -167,7 +167,7 @@ static const IPinVtbl SmartTeeFilterInputVtbl = {
BaseInputPinImpl_NewSegment
};
static HRESULT WINAPI SmartTeeFilterInput_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *pmt)
static HRESULT sink_query_accept(struct strmbase_pin *base, const AM_MEDIA_TYPE *pmt)
{
SmartTeeFilter *This = impl_from_strmbase_pin(base);
TRACE("(%p, AM_MEDIA_TYPE(%p))\n", This, pmt);
......@@ -319,12 +319,11 @@ static HRESULT WINAPI SmartTeeFilterInput_Receive(BaseInputPin *base, IMediaSamp
return hrPreview;
}
static const BaseInputPinFuncTable SmartTeeFilterInputFuncs = {
{
SmartTeeFilterInput_CheckMediaType,
SmartTeeFilterInput_GetMediaType
},
SmartTeeFilterInput_Receive
static const BaseInputPinFuncTable SmartTeeFilterInputFuncs =
{
.base.pin_query_accept = sink_query_accept,
.base.pfnGetMediaType = SmartTeeFilterInput_GetMediaType,
.pfnReceive = SmartTeeFilterInput_Receive,
};
static HRESULT WINAPI SmartTeeFilterCapture_EnumMediaTypes(IPin *iface, IEnumMediaTypes **ppEnum)
......@@ -362,7 +361,7 @@ static const IPinVtbl SmartTeeFilterCaptureVtbl = {
BasePinImpl_NewSegment
};
static HRESULT WINAPI SmartTeeFilterCapture_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
static HRESULT capture_query_accept(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
{
FIXME("(%p) stub\n", base);
return S_OK;
......@@ -391,13 +390,10 @@ static HRESULT WINAPI SmartTeeFilterCapture_DecideAllocator(struct strmbase_sour
static const struct strmbase_source_ops capture_ops =
{
{
SmartTeeFilterCapture_CheckMediaType,
SmartTeeFilterCapture_GetMediaType
},
BaseOutputPinImpl_AttemptConnection,
NULL,
SmartTeeFilterCapture_DecideAllocator,
.base.pin_query_accept = capture_query_accept,
.base.pfnGetMediaType = SmartTeeFilterCapture_GetMediaType,
.pfnAttemptConnection = BaseOutputPinImpl_AttemptConnection,
.pfnDecideAllocator = SmartTeeFilterCapture_DecideAllocator,
};
static HRESULT WINAPI SmartTeeFilterPreview_EnumMediaTypes(IPin *iface, IEnumMediaTypes **ppEnum)
......@@ -435,7 +431,7 @@ static const IPinVtbl SmartTeeFilterPreviewVtbl = {
BasePinImpl_NewSegment
};
static HRESULT WINAPI SmartTeeFilterPreview_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
static HRESULT preview_query_accept(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
{
FIXME("(%p) stub\n", base);
return S_OK;
......@@ -464,14 +460,12 @@ static HRESULT WINAPI SmartTeeFilterPreview_DecideAllocator(struct strmbase_sour
static const struct strmbase_source_ops preview_ops =
{
{
SmartTeeFilterPreview_CheckMediaType,
SmartTeeFilterPreview_GetMediaType
},
BaseOutputPinImpl_AttemptConnection,
NULL,
SmartTeeFilterPreview_DecideAllocator,
.base.pin_query_accept = preview_query_accept,
.base.pfnGetMediaType = SmartTeeFilterPreview_GetMediaType,
.pfnAttemptConnection = BaseOutputPinImpl_AttemptConnection,
.pfnDecideAllocator = SmartTeeFilterPreview_DecideAllocator,
};
IUnknown* WINAPI QCAP_createSmartTeeFilter(IUnknown *outer, HRESULT *phr)
{
static const WCHAR captureW[] = {'C','a','p','t','u','r','e',0};
......
......@@ -512,7 +512,7 @@ static inline VfwCapture *impl_from_strmbase_pin(struct strmbase_pin *pin)
return CONTAINING_RECORD(pin, VfwCapture, source.pin);
}
static HRESULT WINAPI VfwPin_CheckMediaType(struct strmbase_pin *pin, const AM_MEDIA_TYPE *mt)
static HRESULT source_query_accept(struct strmbase_pin *pin, const AM_MEDIA_TYPE *mt)
{
VfwCapture *filter = impl_from_strmbase_pin(pin);
return qcap_driver_check_format(filter->driver_info, mt);
......@@ -556,13 +556,11 @@ static HRESULT WINAPI VfwPin_DecideBufferSize(struct strmbase_source *iface,
static const struct strmbase_source_ops source_ops =
{
{
VfwPin_CheckMediaType,
VfwPin_GetMediaType
},
BaseOutputPinImpl_AttemptConnection,
VfwPin_DecideBufferSize,
BaseOutputPinImpl_DecideAllocator,
.base.pin_query_accept = source_query_accept,
.base.pfnGetMediaType = VfwPin_GetMediaType,
.pfnAttemptConnection = BaseOutputPinImpl_AttemptConnection,
.pfnDecideBufferSize = VfwPin_DecideBufferSize,
.pfnDecideAllocator = BaseOutputPinImpl_DecideAllocator,
};
static HRESULT WINAPI VfwPin_QueryInterface(IPin * iface, REFIID riid, LPVOID * ppv)
......
......@@ -580,7 +580,7 @@ static inline AsyncReader *impl_from_IAsyncReader(IAsyncReader *iface)
return CONTAINING_RECORD(iface, AsyncReader, IAsyncReader_iface);
}
static HRESULT WINAPI FileAsyncReaderPin_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *pmt)
static HRESULT source_query_accept(struct strmbase_pin *iface, const AM_MEDIA_TYPE *pmt)
{
AsyncReader *filter = impl_from_strmbase_pin(iface);
......@@ -703,13 +703,11 @@ static HRESULT WINAPI FileAsyncReaderPin_DecideBufferSize(struct strmbase_source
static const struct strmbase_source_ops source_ops =
{
{
FileAsyncReaderPin_CheckMediaType,
FileAsyncReaderPin_GetMediaType
},
FileAsyncReaderPin_AttemptConnection,
FileAsyncReaderPin_DecideBufferSize,
BaseOutputPinImpl_DecideAllocator,
.base.pin_query_accept = source_query_accept,
.base.pfnGetMediaType = FileAsyncReaderPin_GetMediaType,
.pfnAttemptConnection = FileAsyncReaderPin_AttemptConnection,
.pfnDecideBufferSize = FileAsyncReaderPin_DecideBufferSize,
.pfnDecideAllocator = BaseOutputPinImpl_DecideAllocator,
};
static HRESULT WINAPI FileAsyncReader_QueryInterface(IAsyncReader *iface, REFIID iid, void **out)
......
......@@ -292,7 +292,7 @@ HRESULT WINAPI BasePinImpl_QueryAccept(IPin * iface, const AM_MEDIA_TYPE * pmt)
TRACE("(%p)->(%p)\n", iface, pmt);
return (This->pFuncsTable->pfnCheckMediaType(This, pmt) == S_OK ? S_OK : S_FALSE);
return (This->pFuncsTable->pin_query_accept(This, pmt) == S_OK ? S_OK : S_FALSE);
}
HRESULT WINAPI BasePinImpl_EnumMediaTypes(IPin *iface, IEnumMediaTypes **enum_media_types)
......@@ -654,7 +654,7 @@ HRESULT WINAPI BaseOutputPinImpl_AttemptConnection(struct strmbase_source *This,
TRACE("(%p)->(%p, %p)\n", This, pReceivePin, pmt);
dump_AM_MEDIA_TYPE(pmt);
if ((hr = This->pFuncsTable->base.pfnCheckMediaType(&This->pin, pmt)) != S_OK)
if ((hr = This->pFuncsTable->base.pin_query_accept(&This->pin, pmt)) != S_OK)
return hr;
This->pin.pConnectedTo = pReceivePin;
......@@ -780,7 +780,7 @@ HRESULT WINAPI BaseInputPinImpl_ReceiveConnection(IPin * iface, IPin * pReceiveP
if (This->pin.pConnectedTo)
hr = VFW_E_ALREADY_CONNECTED;
if (SUCCEEDED(hr) && This->pin.pFuncsTable->pfnCheckMediaType(&This->pin, pmt) != S_OK)
if (SUCCEEDED(hr) && This->pin.pFuncsTable->pin_query_accept(&This->pin, pmt) != S_OK)
hr = VFW_E_TYPE_NOT_ACCEPTED; /* FIXME: shouldn't we just map common errors onto
* VFW_E_TYPE_NOT_ACCEPTED and pass the value on otherwise? */
......
......@@ -211,7 +211,7 @@ static const struct strmbase_filter_ops filter_ops =
.filter_query_interface = renderer_query_interface,
};
static HRESULT WINAPI BaseRenderer_Input_CheckMediaType(struct strmbase_pin *pin, const AM_MEDIA_TYPE *mt)
static HRESULT sink_query_accept(struct strmbase_pin *pin, const AM_MEDIA_TYPE *mt)
{
BaseRenderer *filter = impl_from_IPin(&pin->IPin_iface);
return filter->pFuncsTable->pfnCheckMediaType(filter, mt);
......@@ -223,12 +223,11 @@ static HRESULT WINAPI BaseRenderer_Receive(BaseInputPin *pin, IMediaSample *samp
return BaseRendererImpl_Receive(filter, sample);
}
static const BaseInputPinFuncTable input_BaseInputFuncTable = {
{
BaseRenderer_Input_CheckMediaType,
BasePinImpl_GetMediaType
},
BaseRenderer_Receive
static const BaseInputPinFuncTable input_BaseInputFuncTable =
{
.base.pin_query_accept = sink_query_accept,
.base.pfnGetMediaType = BasePinImpl_GetMediaType,
.pfnReceive = BaseRenderer_Receive,
};
......
......@@ -45,7 +45,7 @@ static inline TransformFilter *impl_from_sink_IPin(IPin *iface)
return CONTAINING_RECORD(iface, TransformFilter, sink.pin.IPin_iface);
}
static HRESULT WINAPI TransformFilter_Input_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *pmt)
static HRESULT sink_query_accept(struct strmbase_pin *iface, const AM_MEDIA_TYPE *pmt)
{
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);
}
static HRESULT WINAPI TransformFilter_Output_CheckMediaType(struct strmbase_pin *This, const AM_MEDIA_TYPE *pmt)
static HRESULT source_query_accept(struct strmbase_pin *This, const AM_MEDIA_TYPE *pmt)
{
TransformFilter *pTransformFilter = impl_from_source_IPin(&This->IPin_iface);
AM_MEDIA_TYPE* outpmt = &pTransformFilter->pmt;
......@@ -163,23 +163,20 @@ static const struct strmbase_filter_ops filter_ops =
.filter_destroy = transform_destroy,
};
static const BaseInputPinFuncTable tf_input_BaseInputFuncTable = {
{
TransformFilter_Input_CheckMediaType,
BasePinImpl_GetMediaType
},
TransformFilter_Input_Receive
static const BaseInputPinFuncTable tf_input_BaseInputFuncTable =
{
.base.pin_query_accept = sink_query_accept,
.base.pfnGetMediaType = BasePinImpl_GetMediaType,
.pfnReceive = TransformFilter_Input_Receive,
};
static const struct strmbase_source_ops source_ops =
{
{
TransformFilter_Output_CheckMediaType,
TransformFilter_Output_GetMediaType
},
BaseOutputPinImpl_AttemptConnection,
TransformFilter_Output_DecideBufferSize,
BaseOutputPinImpl_DecideAllocator,
.base.pin_query_accept = source_query_accept,
.base.pfnGetMediaType = TransformFilter_Output_GetMediaType,
.pfnAttemptConnection = BaseOutputPinImpl_AttemptConnection,
.pfnDecideBufferSize = TransformFilter_Output_DecideBufferSize,
.pfnDecideAllocator = BaseOutputPinImpl_DecideAllocator,
};
static HRESULT WINAPI TransformFilterImpl_Stop(IBaseFilter *iface)
......
......@@ -1240,7 +1240,7 @@ static const struct strmbase_filter_ops filter_ops =
.filter_destroy = gstdemux_destroy,
};
static HRESULT WINAPI sink_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
static HRESULT sink_query_accept(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
{
if (IsEqualGUID(&mt->majortype, &MEDIATYPE_Stream))
return S_OK;
......@@ -1249,7 +1249,7 @@ static HRESULT WINAPI sink_CheckMediaType(struct strmbase_pin *iface, const AM_M
static const BasePinFuncTable sink_ops =
{
.pfnCheckMediaType = sink_CheckMediaType,
.pin_query_accept = sink_query_accept,
.pfnGetMediaType = BasePinImpl_GetMediaType,
};
......@@ -1793,7 +1793,7 @@ static HRESULT WINAPI GSTOutPin_QueryInterface(IPin *iface, REFIID riid, void **
return E_NOINTERFACE;
}
static HRESULT WINAPI GSTOutPin_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
static HRESULT source_query_accept(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
{
FIXME("(%p) stub\n", base);
return S_OK;
......@@ -1906,13 +1906,11 @@ static const IPinVtbl GST_OutputPin_Vtbl = {
static const struct strmbase_source_ops source_ops =
{
{
GSTOutPin_CheckMediaType,
GSTOutPin_GetMediaType
},
BaseOutputPinImpl_AttemptConnection,
GSTOutPin_DecideBufferSize,
GSTOutPin_DecideAllocator,
.base.pin_query_accept = source_query_accept,
.base.pfnGetMediaType = GSTOutPin_GetMediaType,
.pfnAttemptConnection = BaseOutputPinImpl_AttemptConnection,
.pfnDecideBufferSize = GSTOutPin_DecideBufferSize,
.pfnDecideAllocator = GSTOutPin_DecideAllocator,
};
static struct gstdemux_source *create_pin(struct gstdemux *filter, const WCHAR *name)
......@@ -2304,7 +2302,7 @@ void start_dispatch_thread(void)
CloseHandle(CreateThread(NULL, 0, &dispatch_thread, NULL, 0, NULL));
}
static HRESULT WINAPI wave_parser_sink_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
static HRESULT wave_parser_sink_query_accept(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
{
if (!IsEqualGUID(&mt->majortype, &MEDIATYPE_Stream))
return S_FALSE;
......@@ -2317,7 +2315,7 @@ static HRESULT WINAPI wave_parser_sink_CheckMediaType(struct strmbase_pin *iface
static const BasePinFuncTable wave_parser_sink_ops =
{
.pfnCheckMediaType = wave_parser_sink_CheckMediaType,
.pin_query_accept = wave_parser_sink_query_accept,
.pfnGetMediaType = BasePinImpl_GetMediaType,
};
......@@ -2413,7 +2411,7 @@ IUnknown * CALLBACK wave_parser_create(IUnknown *outer, HRESULT *phr)
return &object->filter.IUnknown_inner;
}
static HRESULT WINAPI avi_splitter_sink_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
static HRESULT avi_splitter_sink_query_accept(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
{
if (IsEqualGUID(&mt->majortype, &MEDIATYPE_Stream)
&& IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_Avi))
......@@ -2423,7 +2421,7 @@ static HRESULT WINAPI avi_splitter_sink_CheckMediaType(struct strmbase_pin *ifac
static const BasePinFuncTable avi_splitter_sink_ops =
{
.pfnCheckMediaType = avi_splitter_sink_CheckMediaType,
.pin_query_accept = avi_splitter_sink_query_accept,
.pfnGetMediaType = BasePinImpl_GetMediaType,
};
......@@ -2520,7 +2518,7 @@ IUnknown * CALLBACK avi_splitter_create(IUnknown *outer, HRESULT *phr)
return &object->filter.IUnknown_inner;
}
static HRESULT WINAPI mpeg_splitter_sink_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
static HRESULT mpeg_splitter_sink_query_accept(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
{
if (!IsEqualGUID(&mt->majortype, &MEDIATYPE_Stream))
return S_FALSE;
......@@ -2535,7 +2533,7 @@ static HRESULT WINAPI mpeg_splitter_sink_CheckMediaType(struct strmbase_pin *ifa
static const BasePinFuncTable mpeg_splitter_sink_ops =
{
.pfnCheckMediaType = mpeg_splitter_sink_CheckMediaType,
.pin_query_accept = mpeg_splitter_sink_query_accept,
.pfnGetMediaType = BasePinImpl_GetMediaType,
};
......
......@@ -290,7 +290,7 @@ static const struct strmbase_filter_ops filter_ops =
.filter_destroy = qt_splitter_destroy,
};
static HRESULT WINAPI sink_CheckMediaType(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
static HRESULT sink_query_accept(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt)
{
QTInPin *pin = impl_from_IPin(&iface->IPin_iface);
......@@ -304,7 +304,7 @@ static HRESULT WINAPI sink_CheckMediaType(struct strmbase_pin *iface, const AM_M
static const BasePinFuncTable sink_ops =
{
.pfnCheckMediaType = sink_CheckMediaType,
.pin_query_accept = sink_query_accept,
.pfnGetMediaType = BasePinImpl_GetMediaType,
};
......@@ -1289,7 +1289,7 @@ static HRESULT WINAPI QTOutPin_QueryInterface(IPin *iface, REFIID riid, void **p
return E_NOINTERFACE;
}
static HRESULT WINAPI QTOutPin_CheckMediaType(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
static HRESULT source_query_accept(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt)
{
FIXME("(%p) stub\n", base);
return S_OK;
......@@ -1406,13 +1406,11 @@ static const IQualityControlVtbl QTOutPin_QualityControl_Vtbl = {
static const struct strmbase_source_ops source_ops =
{
{
QTOutPin_CheckMediaType,
QTOutPin_GetMediaType
},
BaseOutputPinImpl_AttemptConnection,
QTOutPin_DecideBufferSize,
QTOutPin_DecideAllocator,
.base.pin_query_accept = source_query_accept,
.base.pfnGetMediaType = QTOutPin_GetMediaType,
.pfnAttemptConnection = BaseOutputPinImpl_AttemptConnection,
.pfnDecideBufferSize = QTOutPin_DecideBufferSize,
.pfnDecideAllocator = QTOutPin_DecideAllocator,
};
static const OutputQueueFuncTable output_OutputQueueFuncTable = {
......
......@@ -42,14 +42,13 @@ struct strmbase_pin
const struct BasePinFuncTable* pFuncsTable;
};
typedef HRESULT (WINAPI *BasePin_CheckMediaType)(struct strmbase_pin *pin, const AM_MEDIA_TYPE *mt);
typedef LONG (WINAPI *BasePin_GetMediaTypeVersion)(struct strmbase_pin *pin);
typedef HRESULT (WINAPI *BasePin_GetMediaType)(struct strmbase_pin *pin, int index, AM_MEDIA_TYPE *mt);
typedef struct BasePinFuncTable {
/* Required for QueryAccept(), Connect(), ReceiveConnection(). */
BasePin_CheckMediaType pfnCheckMediaType;
/* Required for BasePinImpl_EnumMediaTypes */
HRESULT (*pin_query_accept)(struct strmbase_pin *pin, const AM_MEDIA_TYPE *mt);
/* Required for EnumMediaTypes(). */
BasePin_GetMediaType pfnGetMediaType;
} BasePinFuncTable;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment