当我调用 IMediaControlRun 时,如何确定 DirectShow 筛选器图表中的哪个筛选器失败?

发布于 2024-12-17 01:11:47 字数 279 浏览 0 评论 0原文

我有一个使用 DSPACK 组件库的 Delphi 6 应用程序,它构建了一个过滤器图,然后运行它。当我运行 Filter Graph 时,我使用 cePlay 控件事件状态从 IMediaControl.Run() 返回失败 HRESULT,从而收到错误。我知道我可以使用 HRESULT 错误代码来猜测哪个过滤器失败,但我想要更好的方法。当 IMediaControl.Run(csPlay) 返回失败 HRESULT 代码时,是否可以通过 DirectShow 调用或调用序列找出哪个过滤器触发了失败?

I have a Delphi 6 application using the DSPACK component library that builds a filter graph and then runs it. When I run the Filter Graph I am getting an error via a failed HRESULT return from IMediaControl.Run(), using a cePlay control event status. I know that I can use the HRESULT error code to guess which filter failed, but I would like a better way. Is there a way to ferret out which filter triggered the failure when IMediaControl.Run(csPlay) returns a failed HRESULT code, via a DirectShow call or sequence of calls?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

命比纸薄 2024-12-24 01:11:47

没有办法知道,您只能从某个过滤器转发错误代码。解决问题的最佳策略是简化图表并隔离问题。

There is no way to know, you are only forwarded the error code from some filter. The best strategy to toubleshoot is to simplify the graph and isolate the problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文