From d53faee01d1f52da45483b845e58ea08e32f4ed1 Mon Sep 17 00:00:00 2001 From: liyong <liyong@3mang.com> Date: Thu, 24 Aug 2017 09:19:31 +0800 Subject: [PATCH] 1.修改监课推流获取频道的规则,先查找空闲的频道 --- src/EngineEntrance.js | 2 +- src/apes/MediaModule.js | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/EngineEntrance.js b/src/EngineEntrance.js index eec5d14..cf8d1bb 100644 --- a/src/EngineEntrance.js +++ b/src/EngineEntrance.js @@ -58,7 +58,7 @@ export default class MessageEntrance extends Emiter { constructor() { super(); //sdk 信息 - GlobalConfig.sdkVersion = "v1.79.6.20170822"; + GlobalConfig.sdkVersion = "v1.80.1.20170823"; loger.warn("sdkVersion:" + GlobalConfig.sdkVersion); //设置 diff --git a/src/apes/MediaModule.js b/src/apes/MediaModule.js index 518772f..c3c6def 100644 --- a/src/apes/MediaModule.js +++ b/src/apes/MediaModule.js @@ -141,14 +141,23 @@ class MediaModule { //监课获取推流地址 getMediaPublishPathForInVisible(_param) { let mediaLen = Object.keys(MediaModule.allMediaChannelsList).length; - let freeChannel = (this.MEDIA_OBJ_TABLE_ID - 20 - mediaLen) || GlobalConfig.nodeId; + let freeChannel =0; + + //先从现有的空闲列表中获取频道号 + for(let i in MediaModule.allMediaChannelsList){ + let channelItem=MediaModule.allMediaChannelsList[i]; + if(channelItem&&channelItem.status==ApeConsts.CHANNEL_STATUS_RELEASED&&channelItem.userRole==ApeConsts.invisible){ + freeChannel=channelItem.channelId; + break; + } + } + //如果没有取到空闲的,就创建一个新的频道 + freeChannel =freeChannel|| (this.MEDIA_OBJ_TABLE_ID - 20 - mediaLen); + loger.log('监课获取推流地址->' + freeChannel + " mediaLen:" + mediaLen); //默认方式推流 let pubType = "live"; ////flash推流 - //if(_param&&_param.type=="flash"){ - // pubType ="flash"; - //} //端口,有端口就显示 ":xxx",没有端口就是"" let port = (GlobalConfig.MS_PUBLISH_PORT == "" || GlobalConfig.MS_PUBLISH_PORT == null) ? "" : ":" + GlobalConfig.MS_PUBLISH_PORT; -- libgit2 0.24.0