我在回调模式下使用Directshow SampleGrabber从源文件中捕获视频帧并进行一些处理。此外,我想保持当前的视频回放速率,并需要支持随机,向前和向后寻找。为此,我还在不同的线程中进行了一些本地缓冲。我在syn source设置为NULL的情况下运行graph,以便获得最大速度。然而,当我在固定数量的缓冲之后暂停图形时。即使在图形暂停时,也会错误地调用SampleGrabber回调。这会影响我的帧索引和跟踪。我想要从它暂停时的相同位置恢复图形。但是,如果我用默认时钟运行图形,它工作得很好,但是我的回放会受到影响。我希望缓冲线程尽快完成。如何确保当图形暂停时不会调用回调?任何想法或建议都会有很大的帮助。
提前感谢Pradeep
发布于 2013-02-19 15:40:06
暂停的图形通常在内部具有所有相同的流(活动状态),但渲染器正在阻止流,例如。一旦接收到足够的数据用于预览横幅。由于您从图表中删除了时钟,因此渲染器很可能不会阻止执行,因为它不会持有任何要暂停的时钟。In your case这就是你打算重用相同的图来快速解析文件和回放的问题。单独的图表设计看起来有更多的机会做得更好。
https://stackoverflow.com/questions/14936593
复制相似问题