Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
李勇
/
McuClient
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
李勇
2017-06-19 16:34:50 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
98a63105d6f1e786d39f5b4fbcd1f144e2757d3b
98a63105
1 parent
6d673374
修复视频模块和音频模块,释放nodeId对应的频道信息时 信息不一致的问题,课堂中正在推流的人员掉线之后,课堂内释放占用的频道时,信息应该按使用者的信息来释放
隐藏空白字符变更
内嵌
并排对比
正在显示
5 个修改的文件
包含
22 行增加
和
11 行删除
dist/McuClient.js
src/EngineEntrance.js
src/apes/AudioApe.js
src/apes/MediaModule.js
src/apes/VideoApe.js
dist/McuClient.js
查看文件 @
98a6310
此 diff 太大无法显示。
src/EngineEntrance.js
查看文件 @
98a6310
...
...
@@ -32,7 +32,7 @@ import QuestionApe from 'apes/QuestionApe';
import
UTF8
from
'utf-8'
;
let
loger
=
Loger
.
getLoger
(
'McuClient'
);
let
_sdkInfo
=
{
"version"
:
"v1.3
5.4
.20170619"
,
"author"
:
"www.3mang.com"
};
let
_sdkInfo
=
{
"version"
:
"v1.3
6.1
.20170619"
,
"author"
:
"www.3mang.com"
};
//APE
let
_sass
;
...
...
@@ -381,6 +381,7 @@ export default class MessageEntrance extends Emiter {
if
(
_video_ape
)
{
_video_ape
.
stopPublishVideo
(
data
);
//停止屏幕共享
if
(
GlobalConfig
.
nodeId
==
data
.
nodeId
){
_video_ape
.
stopPublishScreenShare
(
data
);
}
...
...
src/apes/AudioApe.js
查看文件 @
98a6310
...
...
@@ -205,15 +205,19 @@ class AudioApe extends Ape {
return
{
"code"
:
ApeConsts
.
RETURN_FAILED
,
"data"
:
"已经断开连接"
};
}
let
openingChannel
=
this
.
mediaModule
.
getOpeningMediaChannel
(
nodeId
);
if
(
openingChannel
==
0
)
{
let
openingChannelInfo
=
this
.
mediaModule
.
getOpeningMediaChannelForNodeId
(
nodeId
);
if
(
openingChannelInfo
.
channelId
==
0
)
{
loger
.
warn
(
nodeId
,
"没有占用频道不需要处理"
);
return
{
"code"
:
ApeConsts
.
RETURN_FAILED
,
"data"
:
"没有占用channel不需要处理"
};
}
let
channelInfo
=
this
.
mediaModule
.
getDefaultChannelInfo
();
channelInfo
.
status
=
ApeConsts
.
CHANNEL_STATUS_RELEASED
;
channelInfo
.
channelId
=
openingChannel
;
channelInfo
.
channelId
=
openingChannelInfo
.
channelId
;
channelInfo
.
nodeId
=
openingChannelInfo
.
fromNodeId
;
channelInfo
.
userRole
=
openingChannelInfo
.
userRole
;
channelInfo
.
userName
=
openingChannelInfo
.
userName
;
channelInfo
.
userId
=
openingChannelInfo
.
userId
;
this
.
sendTableUpdateHandler
(
channelInfo
);
//递归检查,800毫秒之后执行
...
...
src/apes/MediaModule.js
查看文件 @
98a6310
...
...
@@ -232,18 +232,20 @@ class MediaModule {
}
//获取当前属于nodeId的已经打开的的channel,返回值为0代表没有打开的,否则返回的就是打开的channelId
getOpeningMediaChannel
(
_nodeId
){
getOpeningMediaChannel
ForNodeId
(
_nodeId
){
loger
.
log
(
"getOpeningMediaChannel"
,
"nodeId"
,
_nodeId
,
"mediaChannels:"
,
this
.
mediaChannels
);
let
channelInfo
=
{};
channelInfo
.
channelId
=
0
;
if
(
_nodeId
==
null
||
_nodeId
==
0
){
return
0
;
return
channelInfo
;
}
for
(
let
key
in
this
.
mediaChannels
)
{
let
item
=
this
.
mediaChannels
[
key
];
if
(
item
&&
item
.
status
==
ApeConsts
.
CHANNEL_STATUS_OPENING
&&
item
.
fromNodeId
==
_nodeId
)
{
return
item
.
channelId
;
return
item
;
}
}
return
0
;
return
channelInfo
;
}
//检查频道是否已经被占用
...
...
src/apes/VideoApe.js
查看文件 @
98a6310
...
...
@@ -284,15 +284,19 @@ class VideoApe extends Ape {
return
{
"code"
:
ApeConsts
.
RETURN_FAILED
,
"data"
:
"已经断开连接"
};
}
let
openingChannel
=
this
.
mediaModule
.
getOpeningMediaChannel
(
nodeId
);
if
(
openingChannel
==
0
)
{
let
openingChannelInfo
=
this
.
mediaModule
.
getOpeningMediaChannelForNodeId
(
nodeId
);
if
(
openingChannelInfo
.
channelId
==
0
)
{
loger
.
warn
(
nodeId
,
"没有占用channel不需要处理"
);
return
{
"code"
:
ApeConsts
.
RETURN_FAILED
,
"data"
:
"没有占用channel不需要处理"
};
}
let
channelInfo
=
this
.
mediaModule
.
getDefaultChannelInfo
();
channelInfo
.
status
=
ApeConsts
.
CHANNEL_STATUS_RELEASED
;
channelInfo
.
channelId
=
openingChannel
;
channelInfo
.
channelId
=
openingChannelInfo
.
channelId
;
channelInfo
.
nodeId
=
openingChannelInfo
.
fromNodeId
;
//发送消息的人员nodeId
channelInfo
.
userRole
=
openingChannelInfo
.
userRole
;
channelInfo
.
userName
=
openingChannelInfo
.
userName
;
channelInfo
.
userId
=
openingChannelInfo
.
userId
;
this
.
sendTableUpdateHandler
(
channelInfo
);
//递归检查,800毫秒之后执行
...
...
请
注册
或
登录
后发表评论