1.该问题的核心就是主线程没有正常运行,这个是windows下示例的一个bug,无论是否使用clang编译都会产生此问题,解决方案如下自定义一个socketserver,然后传入mainthread,最后启动mainthread即可
该问题的表现现象是:连接到peerconnection_server之后,不会显示设备列表。
自定义的socketserver代码如下:
class CustomSocketServer : public rtc::PhysicalSocketServer {
public:
bool Wait(webrtc::TimeDelta max_wait_duration, bool process_io) override {
if (!process_io)
return true;
return rtc::PhysicalSocketServer::Wait(webrtc::TimeDelta::Zero(),
process_io);
}
};
然后使用CustomSocketServer定义对象,传入mainthread,开启线程即可解决此问题,修改后的文件见如下链接:
https://download.youkuaiyun.com/download/qq_17411797/89336713