首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DirectShow:图形在GraphEdit中工作,而不是在代码中工作

DirectShow:图形在GraphEdit中工作,而不是在代码中工作
EN

Stack Overflow用户
提问于 2008-12-28 20:14:36
回答 1查看 2.3K关注 0票数 3

我已经在GraphEdit中建立了以下图表:罗技网络摄像头->无限T形销过滤器-> VideoRenderer。这可以很好地工作( GraphEdit会在TEe过滤器和VideoRenderer过滤器之间自动插入一些中间过滤器)。

我试过在代码中做同样的事情,但在尝试将T形过滤器连接到VideoRenderer时失败。我首先将摄像头连接到tee过滤器,正常工作(摄像头打开并获得S_OK),然后我尝试将tee过滤器的单个输出引脚连接到第一个,但失败了(错误是它找不到一组中间过滤器来连接它们)。我尝试使用IGraphBuilder::Connect和ICaptureGraphBuilder2::RenderStream连接它们,效果相同。为了枚举引脚,我对视频渲染器使用hr = _CaptureGraphBuilder.FindPin(theFilter,PinDirection.Input,null,null,true,0,out thePin);,对Tee过滤器使用PinDirection.Output除外(这是在C#中,但构造完全映射到C++)。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2008-12-29 05:34:58

找到了问题所在。显然,在图形启动之前,Webcam过滤器不会正确更新其输出媒体类型。因此,启动图表,然后在所有操作完成后重新启动图表就成功了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/396622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档