0

DMO 似乎用于替换 DirectShow 变换过滤器。一些文件说可能存在没有输入流的 DMO。但它应该如何工作?如果没有输入流,函数中IMediaObject::CheckInputType应该写什么?

4

1 回答 1

0

您可以实现无输入 DMO,例如,假设 DMO 在内部生成输出。没有人会打电话CheckInputType,因为不存在输入,这很好(你的CheckInputType身体将是空的,例如返回E_NOTIMPL)。

但是,您应该退后一步并解释它的用途。不,DMO 不能替代 DirectShow 过滤器。DMO 可以通过 DMO Wrapper Filter 映射到 DirectShow 过滤器空间,但是后者不支持没有输入的 DMO,因此您的 DMO 对于 DirectShow 管道将毫无用处。

要创建自定义 DirectShow 源,您需要实现完整过滤器。

于 2013-04-19T15:50:10.260 回答