strmbase: Rename pfnCheckMediaType() to pin_query_accept().
And remove the unnecessary calling convention. Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
8d40f81d1e
commit
9f1909be89
|
@ -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,15 +42,14 @@ 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 */
|
||||
BasePin_GetMediaType pfnGetMediaType;
|
||||
/* Required for QueryAccept(), Connect(), ReceiveConnection(). */
|
||||
HRESULT (*pin_query_accept)(struct strmbase_pin *pin, const AM_MEDIA_TYPE *mt);
|
||||
/* Required for EnumMediaTypes(). */
|
||||
BasePin_GetMediaType pfnGetMediaType;
|
||||
} BasePinFuncTable;
|
||||
|
||||
struct strmbase_source
|
||||
|
|
Loading…
Reference in New Issue