KS相机驱动
+ -

KS筛选器

2025-02-18 11 0

Ks内核驱动的基本模块为筛选器(filter),其在应用层由DirectShow代理为DirectShow筛选器。

筛选器图是一组连接的筛选器. 筛选器图链接要对数据流进行的多个处理任务。可通过GraphEdit工具测试各种筛选器。

一个筛选器由三部分组成:

  • Node:用于数据处理
  • Pin:用于对外的连接
  • connection:用于Node和Pin的连接

下图是一个最简单的筛选器:
筛选器

引脚为粗线,引脚与Node之间通过connection相连。

筛选器包括2个Pin(source Pin和sink Pin)。
Node从Source Pin上接收数据,在内部处理之后,再写入到Sink Pin引脚。

对于实现混音功能的过滤器,可能有多个输入源。
221521522892

筛选器中connection的实现是通过KSTOPOLOGY_CONNECTION结构体实现的,其是通过KSPROPERTY_TOPOLOGY_CONNECTIONS 属性查询的。

typedef struct {
  ULONG FromNode;
  ULONG FromNodePin;
  ULONG ToNode;
  ULONG ToNodePin;
} KSTOPOLOGY_CONNECTION, *PKSTOPOLOGY_CONNECTION;
KSTOPOLOGY_CONNECTION connection[]= 
//    FromNode,       FromNodePin,     ToNode,        ToNodePin,
{
 {  KSFILTER_NODE,        0,            0,               0     },
 {       0,               1,       KSFILTER_NODE,        1     }
};
  • 如果Node值为KSFILTER_NODE,则表明该Pin无外部连接节点。

0 篇笔记 写笔记

作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!