【发布时间】:2015-07-19 17:15:50
【问题描述】:
我编译了 WebRTC 本机代码 (C++),并且正在使用 peerconnection 服务器和客户端示例(在src\talk\examples\peerconnection 下)。特别是我正在尝试更改客户端示例以流式传输自定义图像序列而不是网络摄像头视频。我使用了类似的东西
http://sourcey.com/webrtc-custom-opencv-video-capture/
作为起点,自定义VideoCapturerFactory 返回一个自定义VideoCapturer,我可以使用它来生成自定义图像帧。每次我有新图像要流式传输时,我都会在VideoCapturer 上致电SignalFrameCaptured(this, &frame)。
我的问题是,在调试模式下,我遇到了这个崩溃:
#
# Fatal error in e:\webrtc\webrtc checkout\src\webrtc\modules\video_coding\main\source\video_sender.cc, line 90
# Check failed: main_thread_.CalledOnValidThread()
#
我的理解是,它与启动视频流的线程和推送这些单独帧的线程之间的不一致有关。似乎前者是内部WebRTC线程,而后者当前是应用程序的主线程。
因为这个线程检查被禁用,所以在发布模式下工作。
知道如何正确解决这个问题吗?谢谢
【问题讨论】:
标签: c++ multithreading webrtc