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,
|
NULL,
|
||||||
ACMWrapper_ProcessSampleData,
|
ACMWrapper_ProcessSampleData,
|
||||||
NULL,
|
NULL,
|
||||||
|
NULL,
|
||||||
ACMWrapper_ConnectInput,
|
ACMWrapper_ConnectInput,
|
||||||
ACMWrapper_Cleanup
|
ACMWrapper_Cleanup
|
||||||
};
|
};
|
||||||
|
|
|
@ -261,6 +261,7 @@ static const TransformFuncsTable AVIDec_FuncsTable = {
|
||||||
AVIDec_ProcessBegin,
|
AVIDec_ProcessBegin,
|
||||||
AVIDec_ProcessSampleData,
|
AVIDec_ProcessSampleData,
|
||||||
AVIDec_ProcessEnd,
|
AVIDec_ProcessEnd,
|
||||||
|
NULL,
|
||||||
AVIDec_ConnectInput,
|
AVIDec_ConnectInput,
|
||||||
AVIDec_Cleanup
|
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)
|
static HRESULT TransformFilter_Input_QueryAccept(LPVOID iface, const AM_MEDIA_TYPE * pmt)
|
||||||
{
|
{
|
||||||
/* TransformFilterImpl* This = (TransformFilterImpl*)iface; */
|
TransformFilterImpl* This = (TransformFilterImpl*)iface;
|
||||||
TRACE("%p\n", iface);
|
TRACE("%p\n", iface);
|
||||||
dump_AM_MEDIA_TYPE(pmt);
|
dump_AM_MEDIA_TYPE(pmt);
|
||||||
|
|
||||||
/* FIXME: Add a function to verify media type with the actual filter */
|
if (This->pFuncsTable->pfnQueryConnect)
|
||||||
/* return This->pFuncsTable->pfnConnectInput(This, pmt); */
|
return This->pFuncsTable->pfnQueryConnect(This, pmt);
|
||||||
|
/* Assume OK if there's no query method (the connection will fail if
|
||||||
|
needed) */
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@ typedef struct TransformFuncsTable {
|
||||||
HRESULT (*pfnProcessBegin) (TransformFilterImpl* This);
|
HRESULT (*pfnProcessBegin) (TransformFilterImpl* This);
|
||||||
HRESULT (*pfnProcessSampleData) (TransformFilterImpl* This, LPBYTE data, DWORD size);
|
HRESULT (*pfnProcessSampleData) (TransformFilterImpl* This, LPBYTE data, DWORD size);
|
||||||
HRESULT (*pfnProcessEnd) (TransformFilterImpl* This);
|
HRESULT (*pfnProcessEnd) (TransformFilterImpl* This);
|
||||||
|
HRESULT (*pfnQueryConnect) (TransformFilterImpl* This, const AM_MEDIA_TYPE * pmt);
|
||||||
HRESULT (*pfnConnectInput) (TransformFilterImpl* This, const AM_MEDIA_TYPE * pmt);
|
HRESULT (*pfnConnectInput) (TransformFilterImpl* This, const AM_MEDIA_TYPE * pmt);
|
||||||
HRESULT (*pfnCleanup) (TransformFilterImpl* This);
|
HRESULT (*pfnCleanup) (TransformFilterImpl* This);
|
||||||
} TransformFuncsTable;
|
} TransformFuncsTable;
|
||||||
|
|
Loading…
Reference in New Issue