我有一个在Windows 7上运行的应用程序,它基本上是一个基于DirectShow.NET的视频播放器。为了通过无缝过渡一个接一个地播放视频,我正在预加载下一个视频(通过调用mediacontrol.pause()),同时播放当前的'一。通常这种方法非常好,但在某些情况下,暂停永远不会完成并且只是挂起。我已多次查看代码并且找不到内存泄漏或类似内容的证据。
现在,真正有趣的是它在我的办公室工作正常但在另一个工作室却没有。我可以把一台工作的电脑带到远程办公室,并让它在相当规律的基础上休息,但我把它带回这里,它完美无缺。这让我相信建筑物中的某些东西会导致系统不稳定。可能的原因可能会出现吗?我怎么能测试呢?
答案 0 :(得分:0)
除了您需要继续进行调查之外,从这些信息中无法告知任何内容。如果你有一个冻结,你可以拍摄冻结过程的快照,并缩小僵局的范围。
DirectShow核心和库存过滤器中没有任何内容可以导致上述效果,或者至少不太可能。典型的原因是参与回放图的第三方过滤器之一的行为本身不正确。或者,下一个可能的原因是,当您一次播放太多文件时,视频适配器驱动程序会出现问题,尤其是如果正在使用硬件加速解码等特定功能。
冻结调用堆栈和精确的过滤器图形拓扑是您继续进行故障排除所需的。