我的DirectShow过滤器没有引脚

时间:2011-05-05 21:55:06

标签: c++ graph directshow

我通常使用GraphEdit构建过滤器图。

我可以正确添加我的过滤器。此过滤器来自WinDDK制造的驱动程序。它有一个输入引脚和一个输出引脚。

当我尝试使用this tutorial以编程方式执行此操作时,过滤器会加载,但它没有引脚。引脚枚举失败,当我用graphedit连接到我的远程图形时,它没有显示任何引脚。

如何确保我的驱动程序导出正确的DirectShow过滤器?

关于创建DirectShow过滤器的MSDN教程和GraphEdit“插入过滤器”功能之间的根本区别是什么?

2 个答案:

答案 0 :(得分:1)

如果我理解正确,您已经创建了自己的源过滤器?

指向仔细检查:

  • 您是否正确实施了GetPinCount,GetPin,FindPin?
  • 添加/创建每个引脚后,您是否调用了IncrementPinVersion?

我不熟悉WinDDK开发,但是你能在这些方法中加入断点来看看发生了什么吗?

答案 1 :(得分:0)

插入图形时,某些滤波器可能没有引脚(特别是没有输出引脚)。这些滤波器通常根据特定条件动态创建引脚:例如,我知道一些BDA驱动器只有在输入引脚连接后才会创建输出引脚。 这允许根据连接到输入引脚的内容决定输出引脚的介质类型。 也许你可以检查一下你是否处于类似情况。

银杏