DMO似乎被用来代替DirectShow变换滤波器。一些文档说可能有一个没有输入流的DMO。但是它是如何工作的呢?如果没有输入流,在函数IMediaObject::CheckInputType中应该写什么?
发布于 2013-04-19 23:50:10
您可以实现一个无输入的DMO,例如,假设DMO在内部生成输出。没有人会调用CheckInputType,因为没有输入存在,这很好(您的CheckInputType主体将是空的,例如返回E_NOTIMPL)。
然而,你应该退后一步,解释它是做什么的。不,DMO不是DirectShow筛选器的替代品。DMO可以映射到DirectShow过滤器空间,通过DMO包装器过滤器,但是后者的does not support DMOs with no inputs,所以您的DMO将是无用的DirectShow管道。
要创建自定义DirectShow源,您需要实现full filter。
https://stackoverflow.com/questions/16102343
复制相似问题