如何确保在关闭我的DirectShow滤波器图时,示例Grabber过滤器将不会产生更多回调?

StackOverflow https://stackoverflow.com/questions/8323334

我使用DSPACK组件库在Delphi 6中编写了一个直接投资应用程序。当我关闭过滤器图(停止播放)时,我会因访问访问范围而受到访问,这是因为在拥有回调方法的对象被销毁后,出现了示例Grabber DirectShow滤波器。并非每次都会发生,但经常发生。有人可以将我指向代码示例或文档,以告诉我我需要采取的步骤以确保已收到或消除所有未决样本的抓取回调的方式?

有帮助吗?

解决方案

发行呢? ISampleGrabber::SetCallback(NULL, ... 在停止/释放过滤器图之前?

为此,您可以设置一个指示终止的内部标志,并在您必须立即返回的回调中对其进行检查,而无需进一步处理。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top