小编era*_*ran的帖子

使用自定义VideoCapturer的WebRTC本机(C++)无法通过main_thread_.CalledOnValidThread()检查

我编译了WebRTC本机代码(C++),我正在使用peerconnection服务器和客户端示例(下src\talk\examples\peerconnection).特别是我试图更改客户端示例以流式传输自定义图像序列而不是网络摄像头视频.我使用类似于http://sourcey.com/webrtc-custom-opencv-video-capture/的东西 作为起点,其中自定义VideoCapturerFactory返回VideoCapturer可用于生成自定义图像帧的自定义.每当我有一个新的形象流,我叫SignalFrameCaptured(this, &frame)上了VideoCapturer.

我的问题是,在调试模式下,我遇到了这个崩溃:

#
# Fatal error in e:\webrtc\webrtc checkout\src\webrtc\modules\video_coding\main\source\video_sender.cc, line 90
# Check failed: main_thread_.CalledOnValidThread()
#
Run Code Online (Sandbox Code Playgroud)

我的理解是它与启动视频流的线程和推动这些单独帧的线程之间的不一致有关.似乎前者是内部WebRTC线程,而后者当前是应用程序的主线程.

事情在发布模式下工作,因为此线程检查已禁用.

知道如何正确解决这个问题吗?谢谢

c++ multithreading webrtc

7
推荐指数
1
解决办法
1651
查看次数

标签 统计

c++ ×1

multithreading ×1

webrtc ×1