Hi Alistair,
You mean for example the DirectShow interfaces like "IAMCertifiedOutputProtection" "IMediaEventSink" and so on?
No, QI will also need to check for the following interfaces IMediaFilter, IPersist.
e.g. IBaseFilter -> IMediaFilter-> IPersist -> IUnknown
Right, I overlooked that, will add a check for those. Thanks for explaining.
On a sitenote, MSDN states that EnhancedVideoRenderer exposes a lot more interfaces than just IBaseFilter.
It's a similar issue with VideoMixingRenderer in quartz/vmr9.c:
static const IUnknownVtbl IInner_VTable = { VMR9Inner_QueryInterface, VMR9Inner_AddRef, VMR9Inner_Release };
Maybe I should rework it like that? Having one unknown interface that is only used to query all the other interfaces.
Regards, Fabian Maurer