叉直接显示三通过滤器
Fork Direct Show Tee Filter
我需要一个'Infinite Pin Tee filter',它允许启用/禁用特定引脚实例的交付。
首先,我想以Windows SDK中的"infinite Pin Tee Filter"示例为基点,并从这个基础开始分叉代码。但是这迫使我复制了很多"不必要的"代码。
另一个选项是从Direct show Pin Tee filter继承的,只覆盖必要的方法。
- 为pin添加新属性"IsEnabled"。 覆盖接收(IMediaSample *pSample)来检查新的"IsEnabled"属性。写一个与filter交互的接口
第二种选择真的可行吗?除了代码复制之外,这两种方法的优缺点是什么?
InfTee Filter Sample看起来并不过于复杂,是一个很好的起点。您提到的另一个选项不包括"流结束"交付场景,特定于停止到暂停转换,试图避免不必要的数据复制。试图修补这些,你最终会得到与InfTee样例相当的代码。
你的另一个真正的替代选择是建立一个非常简单的"一进一出"过滤器,它提供或不媒体样本取决于它的IsEnabled属性。这允许您按原样使用stock InfTee,并在其输出中添加您自己的阻塞过滤器的几个实例,以实现数据分割逻辑。
相关文章:
- 带过滤器的现代迭代c++集合
- 如何将字符串添加到布谷鸟过滤器?
- 在事件过滤器之前发出对象的事件
- C++对开销较少的容器使用多个过滤器
- CBasePin 递增对拥有过滤器的引用.循环引用?
- Qt:事件过滤器在显示 QCompleter 时不接收按键
- 使用 Vivek 的 Vcam / 捕获源过滤器构建/链接错误
- Qt 中的去抖动事件过滤器
- QT 事件过滤器 mouseEvent->pos().x() 始终为零,但 mouseEvent->pos().y() 工作正常
- 如何使用C++获取/设置OBS中的垂直滚动过滤器属性?
- ZeroMQ (cppzmq) 订阅者,过滤器以相同的字符串开头
- 有没有办法查询邮件过滤器是否已经生效?
- 使用指针使用过滤器重写字符数组
- 如何优化此侵蚀过滤器代码?
- 编译自己的 FFMPEG 过滤器
- 显式检查提升::日志过滤器?
- C++编译新的警告过滤器
- 我们无法在 Windows 10 中设置自定义密码过滤器
- CUDA 盒子过滤器如何工作?
- 叉直接显示三通过滤器