quartz: Add a QueryConnect method for transform filters.
This commit is contained in:
parent
71bcdc9044
commit
243351d223
|
@ -240,6 +240,7 @@ static const TransformFuncsTable ACMWrapper_FuncsTable = {
|
|||
NULL,
|
||||
ACMWrapper_ProcessSampleData,
|
||||
NULL,
|
||||
NULL,
|
||||
ACMWrapper_ConnectInput,
|
||||
ACMWrapper_Cleanup
|
||||
};
|
||||
|
|
|
@ -261,6 +261,7 @@ static const TransformFuncsTable AVIDec_FuncsTable = {
|
|||
AVIDec_ProcessBegin,
|
||||
AVIDec_ProcessSampleData,
|
||||
AVIDec_ProcessEnd,
|
||||
NULL,
|
||||
AVIDec_ConnectInput,
|
||||
AVIDec_Cleanup
|
||||
};
|
||||
|
|
|
@ -97,12 +97,14 @@ static HRESULT TransformFilter_Sample(LPVOID iface, IMediaSample * pSample)
|
|||
|
||||
static HRESULT TransformFilter_Input_QueryAccept(LPVOID iface, const AM_MEDIA_TYPE * pmt)
|
||||
{
|
||||
/* TransformFilterImpl* This = (TransformFilterImpl*)iface; */
|
||||
TransformFilterImpl* This = (TransformFilterImpl*)iface;
|
||||
TRACE("%p\n", iface);
|
||||
dump_AM_MEDIA_TYPE(pmt);
|
||||
|
||||
/* FIXME: Add a function to verify media type with the actual filter */
|
||||
/* return This->pFuncsTable->pfnConnectInput(This, pmt); */
|
||||
if (This->pFuncsTable->pfnQueryConnect)
|
||||
return This->pFuncsTable->pfnQueryConnect(This, pmt);
|
||||
/* Assume OK if there's no query method (the connection will fail if
|
||||
needed) */
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ typedef struct TransformFuncsTable {
|
|||
HRESULT (*pfnProcessBegin) (TransformFilterImpl* This);
|
||||
HRESULT (*pfnProcessSampleData) (TransformFilterImpl* This, LPBYTE data, DWORD size);
|
||||
HRESULT (*pfnProcessEnd) (TransformFilterImpl* This);
|
||||
HRESULT (*pfnQueryConnect) (TransformFilterImpl* This, const AM_MEDIA_TYPE * pmt);
|
||||
HRESULT (*pfnConnectInput) (TransformFilterImpl* This, const AM_MEDIA_TYPE * pmt);
|
||||
HRESULT (*pfnCleanup) (TransformFilterImpl* This);
|
||||
} TransformFuncsTable;
|
||||
|
|
Loading…
Reference in New Issue