gpt4 book ai didi

c# - DirectShow - 如何调试引脚连接失败

转载 作者:行者123 更新时间:2023-11-30 14:19:51 25 4
gpt4 key购买 nike

我正在使用 IGraphBuilder 将视频捕获设备呈现到屏幕上。该过程包括将捕获过滤器添加到图中,然后将 VideoMixingRenderer 添加到图中(使用自定义分配器),最后调用 graph.Render() 以使用智能连接连接引脚。在某些情况下这很有效并且我的自定义分配器已正确加载(并调用了 InitializeDevice),但在其他情况下未使用自定义分配器并且我得到一个 ActiveMovie 窗口显示捕获设备而不是我添加到图形的 VMR .智能连接似乎不想将捕获设备过滤器连接到 VMR,而是创建自己的渲染器。是否有任何工具或技术可以对此进行调试?对 graph.Render() 的调用成功且 HR 为 0,因此我没有从 DirectShow 返回任何有关连接失败的信息。希望有一个诊断工具可以让我更好地了解 DirectShow 中发生的事情。

最佳答案

智能连接逻辑将创建一个日志文件,您可以使用它来跟踪错误。使用 IGraphBuilder::SetLogFile(或 graphedt 菜单项)。这会记录图形构建期间的所有事件。

无法连接到 vmr 的最常见原因是上游过滤器坚持使用自己的分配器,vmr 也是如此。在某些情况下,您可能会在两者之间进行转换(例如颜色空间转换),并且这会复制缓冲区,因此将使用 vmr 的分配器。无论如何,类似的解释是可能的。

G

关于c# - DirectShow - 如何调试引脚连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2157029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com