将消息从DirectShow筛选器发送到属性页
Send message to property page from DirectShow filter
我编写了一个Directshow筛选器,它从CTransInPlace派生并实现了一个属性页。将数据从属性页传递到过滤器,并将数据从过滤器拉到属性页,效果很好(使用定义的接口),但我想从过滤器向属性页发送一个通知,表示发生了一些事情(在这种情况下,在均衡器中发生了剪切)。
在这一点上我遇到了麻烦,因为我没有从过滤器中引用属性页,并且属性页是由GraphEdit实例化的。
向属性页发送某种类型的消息或通知的最佳方式是什么?
您可以在过滤器中实现回调函数。看看采样器过滤器。有一种模拟情况:
采样器过滤器实现ISampleGrabber接口,该接口包括SetCallback函数。需要接收回调的类需要实现ISampleGrabberCB接口。调用SetCallback时,将指针传递给ISampleGrabberCB接口。现在,采样器过滤器可以调用该接口中的函数(BufferCB或SampleCB)。
相关文章:
- 如何导出包含具有"std::unique_ptr"值的"std::map"属性的
- boost::进程间消息队列引发错误
- 在线编译器中的分段C++没有打印消息
- C++错误消息*成员参考.**初学者*
- C++概念:如何使用'concept'检查模板化结构的属性?
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 子目录是否继承属性,例如add_definitions,include_directories和父Cmakelist.t
- 通过指向指针数组的指针访问子类的属性
- MSVC是否支持C++11样式的属性而不是__declspec
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- 类的C++属性似乎已重新初始化
- Qt Quick-如何仅从c++代码与qml属性交互
- 如何通过参数抛出错误消息
- 从服务器传输到客户端的消息不会出现
- 用概念检查属性的类型
- C++如何将同一类的实例作为属性
- 编写多个 protobuf 消息:1 条具有 1 个重复属性的消息或编写不同的消息
- 如何从Google Proto Buf消息中的属性名称中找到消息类型
- 将消息从DirectShow筛选器发送到属性页