加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – DirectShow – 如何调试引脚连接故障

发布时间:2020-12-16 01:34:02 所属栏目:百科 来源:网络整理
导读:我正在使用IGraphBuilder将视频捕获设备渲染到屏幕上.该过程包括将捕获过滤器添加到图形中,然后将VideoMixingRenderer添加到图形(使用自定义分配器),最后调用graph.Render()以使用Intelligent Connect连接引脚.在某些情况下这很好用,我的自定义分配器已正确
我正在使用IGraphBuilder将视频捕获设备渲染到屏幕上.该过程包括将捕获过滤器添加到图形中,然后将VideoMixingRenderer添加到图形(使用自定义分配器),最后调用graph.Render()以使用Intelligent Connect连接引脚.在某些情况下这很好用,我的自定义分配器已正确加载(并调用InitializeDevice),但在其他情况下不使用自定义分配器,我得到一个ActiveMovie窗口显示捕获设备而不是我添加到图形中的VMR .看起来智能连接不希望将捕获设备过滤器连接到VMR,而是创建自己的渲染器.是否有任何工具或技术来调试这个?对graph.Render()的调用成功,HR为0,所以我没有从DirectShow获得有关连接失败的任何信息.希望存在一种诊断工具,可以让我更好地了解DirectShow中正在发生的事情.

解决方法

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

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

G

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读