Commit 243351d2 authored by Chris Robinson's avatar Chris Robinson Committed by Alexandre Julliard

quartz: Add a QueryConnect method for transform filters.

parent 71bcdc90
......@@ -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;
......
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