DMO似乎用于替换DirectShow变换过滤器。一些文件称可能存在没有输入流的DMO。但它应该如何运作?如果没有输入流,在函数IMediaObject::CheckInputType
应该写什么?
答案 0 :(得分:0)
您可以实施无输入DMO,例如我们假设DMO在内部生成输出。没有人会调用CheckInputType
因为没有输入,这很好(您的CheckInputType
正文将为空,例如返回E_NOTIMPL
)。
但是你应该退后一步并解释它的用途。不,DMOs不能替代DirectShow过滤器。 DMO可以通过DMO包装器过滤器映射到DirectShow过滤器空间,但后者does not support DMOs with no inputs因此您的DMO将对DirectShow管道无用。
要创建自定义DirectShow源,您需要实现完整过滤器。