我需要一个' Infinite Pin Tee过滤器'允许启用/禁用传递到特定的pin实例。
首先,我选择了#34; Inifinite Pin Tee Filter"以Windows SDK为基点的示例,并开始从此基础分叉代码。 但这迫使我复制了很多不必要的"代码。
其他选项继承自Direct show Pin Tee过滤器,仅覆盖必要的方法。
这第二种选择真的可行吗? 除了代码重复之外,两种选择的优点和缺点是什么?
答案 0 :(得分:2)
InfTee Filter Sample看起来并不复杂,是一个很好的起点。您提到的另一个选项不包括“流结束”传送的方案,停止到特定的暂停转换,尝试避免不必要的数据复制。试图修补那些最终会得到与InfTee样本相当的代码的代码。
另一个真正的替代选择是构建一个非常简单的“一进一出”过滤器,根据其IsEnabled属性提供或不传送媒体样本。这使您可以按原样使用库存InfTee,并将自己的阻塞过滤器的几个实例添加到其输出中,以实现数据切除逻辑。这两种方法都有意义。