c++ - 为什么必须在注册过滤器时声明引脚?

标签 c++ directshow

注册直接显示过滤器时,您必须(或者可以?)定义过滤器的所有引脚。 但是您也可以在过滤器类中定义它们。 为什么你必须这样做两次,这两种方式如何相互关联?

最佳答案

真正的引脚是从 CBasePin 派生的那些类.它们实现引脚功能及其方法接收/发送数据、连接到其他引脚、与它们自己的过滤器通信并通过它们自己的过滤器进行通信。

然后注册相关的pin结构如AMOVIESETUP_PIN仅供注册。它们与运行时过滤器操作无关,仅有助于在图形构建阶段找到过滤器。注册过滤器时,它也会公布其功能和引脚上限。那么Intelligent Connect在连接不直接连接的引脚时使用此信息来选择合适的滤波器。

关于c++ - 为什么必须在注册过滤器时声明引脚?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22077140/

相关文章:

c++ - DLL 中 WINAPI 函数的链接器错误 LNK2001, header 和库都存在,我缺少什么?

c++ - 使用 node.js 访问以 c++ 编写的 SDK

directshow - 有没有例子展示如何编写 DirectShow 转换过滤器?

audio - 将USB网络摄像头和USB扬声器组合到Windows中的单个虚拟音频设备中

c++ - Directshow 捕获到文件,没有任何反应

c++ - 将 DirectShow 与 Direct2D 结合使用

c++ - 迭代单个左值

c++ - QLineEdit 的背景图像

c++ STL string <bad ptr> 但是有字符串值是什么意思?

wpf - 注册嵌入式 DirectShow 过滤器