webrtc PeerConnection的线程使用问题

webrtc在媒体发布,媒体订阅时,会用到PeerConnection;今天在代码开发过程中,代码peer_connection_factory->CreatePeerConnection在第二次调用中阻塞住,第一次调用没有阻塞,经过本人分析。
第一次调用时,会通过CreatePeerConnectionFactory创建PeerConnectionFactory,然后接着调用CreatePeerConnection创建PeerConnection,CreatePeerConnectionFactory和CreatePeerConnection在同一线程内执行。
第二次调用时,由于PeerConnectionFactory已经创建,故调用的是CreatePeerConnection,而这次调用的线程跟第一次调用的线程不是同一线程。

本人分析,主要是第二次CreatePeerConnection时,线程不是PeerConnectionFactory的创建者线程。
故本人修改为PeerConnection的重要操作,都在同一线程内执行,具体操作如下。
创建一个线程,线程的开头执行下面操作,后面关于媒体订阅,发布都可以通过PostThreadMessage将消息发送到此线程进行操作。

rtc::Win32SocketServer w32_ss;
rtc::Win32Thread w32_thread(&w32_ss);
rtc::ThreadManager::Instance()->SetCurrentThread(&w32_thread);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值