c++ - directshow 源过滤器是否可以从应用程序读取数据?

标签 c++ directshow

我希望编写一个 directshow 源过滤器,它从应用程序读取数据而不是从文件/套接字/设备读取相同的数据。 首先是可能的吗?如果是这样,我该如何实现? 我在 gstreamer 中使用 appsrc 插件做了同样的事情,因为我是 directshow 的新手,有人可以解释一下吗。

场景: 设备 -> 应用程序 -> (DirectShow Source Filter) -> (DirectShow DecoderFilter) -> (DirectShow Sink)

提前致谢。

最佳答案

这是可能的,但您必须实现源过滤器与其数据源(应用程序)之间的通信。您的源过滤器和应用程序可以通过套接字或管道或内存映射文件进行通信 - 任何进程间通信都可以解决问题(如果应用程序托管源过滤器,即在单个进程中,您可以建立直接通信)。没有标准组件甚至帮助程序可以附加到源过滤器,您将需要处理原始 API。

关于c++ - directshow 源过滤器是否可以从应用程序读取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24421037/

相关文章:

c++ - 结构中的数组 C++

c++ - 关于重载 "="以及我是否可以避免它

c++ - 在不禁用 cout/cin 的情况下获取标准输出内容

c++ - 函数指针问题

c++ - 无法创建 ICaptureGraphBuilder2 的实例

c++ - 如何在 C++ 中将 yuy2 转换为 BITMAP

c++ - 无法获取进程句柄

c++ - Sample Grabber 过滤数据中奇怪的垃圾行

c++ - Media Foundation 错误地将静止图像捕获流描述符标记为视频捕获

unicode - avisynth 不支持 UTF-8 源文件