c++ - 从 DirectShow 过滤器向属性页发送消息

标签 c++ directshow

我编写了一个派生自 CTransInPlace 并实现单个属性页的 Directshow 过滤器。将数据从属性页传递到过滤器并将数据从过滤器拉到属性页效果很好(使用定义的接口(interface)),但我想从过滤器向属性页发送通知以表示发生了某些事情(在此在这种情况下,削波发生在均衡器中)。

此时我遇到了麻烦,因为我没有从过滤器中引用属性页,而属性页是由 GraphEdit 实例化的。

向属性页发送某种类型的消息或通知的最佳方式是什么?

最佳答案

您可以在过滤器中实现回调函数。看一下 samplegrabber 过滤器。有一个类似的情况:

samplegrabber 过滤器实现了 ISampleGrabber Interface其中包括 SetCallback功能。需要接收回调的类,需要实现ISampleGrabberCB Interface .调用 SetCallback 时,您将指针传递给 ISampleGrabberCB 接口(interface)。现在,samplegrabber 过滤器可以调用该接口(interface)中的函数(BufferCB 或 SampleCB)。

关于c++ - 从 DirectShow 过滤器向属性页发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6220748/

相关文章:

c++ - 确保相同的配置用于库和可执行文件

c# - 任何示例项目都使用 DirectShow.NET 库在同一项目中捕获图像和视频?

c# - 免注册 (sxs) COM DirectShow 过滤器

c# - DirectShow/WPF 线程问题

c++ - 如何确保一个类型的值只能被它的 friend 操纵?

c++ - 如何从数组中选择总和相同的数字组

c++ - 函数输入变化

c++ - 使用 C++ 将字符转换为字节表示

c# - 是否可以从一个输入控制 2 个 DirectShowNet 流?

c++ - Windows:如何获得相机支持的分辨率?