//创建p2prtc
void yang_create_p2prtc(YangIpcRtc* rtc,YangAVInfo* avinfo){
//拿到rtc的session
YangIpcRtcSession* session=&rtc->session;
//设置清空视频buffer
session->in_videoBuffer = NULL;
//设置avinfo, avinfo保存着音视频及rtc的配置信息,信息从yang_config.ini读取。
session->avinfo=avinfo;
//设置初值
session->isStart = 0;
session->isConvert = 0;
session->uidSeq=0;
session->isInit = 0;
//初始化PeerConnection的向量,用于存储通信的PeerConnection
yang_create_YangPeerConnectionVector2(&session->pushs);
//初始化int32的向量,用于断连存储长时间无响应的PeerConnection后,将的对端的uid存储在向量中。
yang_create_yangint32Vector(&session->removeList);
//初始化线程锁
pthread_mutex_init(&session->mutex, NULL);
//用于收到对端sdp后调用此方法设置remoteDescription,然后获取本端sdp发送给对端。
rtc->addPeer=yang_ipc_rtcrecv_addPeer;
//如果PeerConnection已连接但不活跃,则将uid添加到removeList中
rtc->checkAlive=yang_ipc_rtcrecv_checkAlive;
//将uid添加到removeList中
rtc->removePeer=yang_ipc_rtcrecv_removePeer;
//循环读取音视频帧通过p2p发送给对端
rtc->start=yang_ipc_rtcrecv_start;
//停止读取音视频帧
rtc->stop=yang_ipc_rtcrecv_stop;
}
metartc5_jz源码阅读-yang_create_p2prtc
最新推荐文章于 2024-06-17 08:43:22 发布
本文介绍了如何使用YangIpcRtc类进行P2P实时通信(RTC)的初始化,包括设置session参数、配置音视频信息、管理PeerConnection、线程同步以及控制音视频帧传输的开始和停止等关键操作。
摘要由CSDN通过智能技术生成