metartc5_jz源码阅读-yang_create_p2prtc

本文介绍了如何使用YangIpcRtc类进行P2P实时通信(RTC)的初始化,包括设置session参数、配置音视频信息、管理PeerConnection、线程同步以及控制音视频帧传输的开始和停止等关键操作。
摘要由CSDN通过智能技术生成
//创建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;
}

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王方帅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值