QTCaptureSession线程问题

时间:2013-06-08 07:35:30

标签: c++ macos cocoa webcam qtkit

我目前正在开展一项涉及从网络摄像头打开和接收数据的项目。在OS X上,我们使用QTKit和QTCaptureSession来访问网络摄像头。我们正在开发的模块由主进程的某个线程作为插件加载,这会导致以下问题:

QTCaptureSession seems的addInput方法,等待某个事件在'主循环'上处理。由于主循环永远不会被主线程(它不是本机Cocoa应用程序)触发,因此调用该插件的线程将永远挂起。

post中描述了类似的问题。一个建议的解决方案是通过调用CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, YES);来使用主线程。我们测试了它并且它可以工作,但是会导致不必要的(和插件相关的)代码被添加到主应用程序中。

我的问题是:有没有办法'主持'主要事件循环QTCaptureSession谈到插件内部?例如:创建一些能够触发主循环等的人工线程。

请注意,我们需要在OS X 10.6上使用它。

0 个答案:

没有答案