metartc5_jz源码阅读-yang_create_ipc

void yang_create_ipc(YangIpc* ipc){
	
	if(ipc==NULL) return;

	YangIpcSession* session=&ipc->session;
	YangIni ini;

	//使用yang_config.ini配置的参数初始化ini
	yang_create_ini(&ini,(char*)"yang_config.ini");

	//使用ini初始化session的avinfo。
	ini.initAvinfo(ini.filename,&session->avinfo);

	//销毁ini
	yang_destroy_ini(&ini);

	//设置视频编码格式为yuv420
	session->avinfo.video.videoEncoderFormat=YangI420;

	session->avinfo.enc.createMeta=0;

	//程序代码初始化部分avinfo。
	yang_ipc_initAvinfo(session);

	//根据ini配置设置logLevel和logFile
	yang_setLogLevel(session->avinfo.sys.logLevel);
	yang_setLogFile(session->avinfo.sys.enableLogFile);

	//设置http端口号
	session->avinfo.sys.httpPort=1988;

	//设置服务器类型为P2P
	session->avinfo.sys.mediaServer=Yang_Server_P2p;//Yang_Server_Srs/Yang_Server_Zlm/Yang_Server_P2p

	//随机生成一个本地端口号。
	session->avinfo.sys.rtcLocalPort=10000+yang_random()%15000;

	//获取本地ip地址到avinfo中。
	memset(session->avinfo.sys.localIp,0,sizeof(session->avinfo.sys.localIp));
	yang_getLocalInfo(session->avinfo.sys.localIp);

	//如果ice使用本地ip,则设置本地ip
	if(session->avinfo.rtc.iceUsingLocalIp){
		char ipstr[32]={0};
		strcpy(ipstr,session->avinfo.rtc.iceLocalIP);
		memset(session->avinfo.rtc.iceLocalIP,0,sizeof(session->avinfo.rtc.iceLocalIP));
		yang_getIp(ipstr,session->avinfo.rtc.iceLocalIP);
	}

	//设置支持Audio
	session->hasAudio=yangtrue;

	//设置视频编码为h264编码
	session->avinfo.video.videoEncoderType=Yang_VED_264;//Yang_VED_265;

	session->avinfo.audio.enableAec=1;

	//激活数据通道。
	session->avinfo.rtc.enableDatachannel=1;

	//设置iceServerIP和端口号,设置iceCandidate类型。
	strcpy(session->avinfo.rtc.iceServerIP,"182.92.163.143");
	session->avinfo.rtc.iceServerPort=3478;
	session->avinfo.rtc.iceCandidateType=0;

	//创建视频编码buffer并初始化。
	session->videoBuffer = (YangVideoEncoderBuffer2*)calloc(sizeof(YangVideoEncoderBuffer2),1);
	yang_create_videoEncoderBuffer2(session->videoBuffer,2);

	//初始化rtc
	yang_ipc_initRtc(session);

	//设置ipc的start,init,checklive方法。
	ipc->start=yang_ipc_listen;
	ipc->init=yang_ipc_init;
	ipc->checkAlive=yang_ipc_checkAlive;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王方帅

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

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

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

打赏作者

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

抵扣说明:

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

余额充值