KS 筛选器

筛选器是封装要对数据流执行的处理任务的一组节点。 引脚 用作筛选器上的输入和输出管道。

简单筛选器可以包含一个数据接收器引脚和一个数据源引脚。 筛选器接收数据接收器引脚上的传入数据,在内部对其进行处理,并写入数据源引脚。 在下图中,引脚显示为粗线段。 在内部,筛选器将数据接收器引脚连接到内部处理单元(一个 节点),后者又连接到数据源引脚。

说明简单 ks 筛选器的示意图。

另一台设备可能会在引脚之间合并或拆分数据流。 例如,音频混音器支持多个数据接收器引脚。 混音器将它们合并到单个流中,并将该流写入数据源引脚。 下图显示了数据流。

说明混音器的示意图。

该图描述了筛选器引脚之间的内部关系。 更复杂的筛选器可能会封装多个节点,这些节点转换流经筛选器的数据。

筛选器使用 KSPROPSETID_Topology 属性集指定引脚和内部节点之间的内部连接。

KSPROPERTY_TOPOLOGY_CONNECTIONS 属性查询 KS 筛选器节点之间的所有连接。 此属性返回 KSTOPOLOGY_CONNECTION数组。 每个KSTOPOLOGY_CONNECTION结构都表示筛选器内的单个数据路径连接。 在上面的混音器图中,KSTOPOLOGY_CONNECTION结构的顺序可能如下所示:

//    FromNode,       FromNodePin,     ToNode,        ToNodePin,
{
 {  KSFILTER_NODE,        0,            0,               0     },
 {       0,               1,       KSFILTER_NODE,        1     }
}