我有一个应用程序,捕捉视频和图像从网络摄像头。通常情况下,使用DirectShow.net wrapper.Stopping可以很好地、可靠地工作,但是,图形通常会导致死锁。它使用了许多过滤器,包括sampleGrabber过滤器和供应商提供的过滤器(我们不能编辑或替换这些过滤器)。停止图形的普通mediaControl方法不起作用。因为我们不能编辑供应商过滤器,我们不能消除死锁和释放相机。终止应用程序解决了问题,并释放了相机。是否有任何方法可以在不终止父应用程序的情况下终止DirectShow线程?
我的应用程序是c#的,但是如果您有一个c++答案,我将接受它并移植它。
发布于 2015-05-20 18:34:06
如果它被冻结,打破死锁的唯一方法(尤指)。释放独占资源(如照相机)的锁定就是扼杀整个进程。
https://stackoverflow.com/questions/30357579
复制相似问题