@rongcloud/plugin-rtc 5.4.7-alpha.3 → 5.4.7-beem-enterprise.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
- * RCRTC - v5.4.7-alpha.3
3
- * CommitId - 851c4005fa6dfee3d966699f4bc260b0b6cbd7ea
4
- * Fri Sep 02 2022 09:48:41 GMT+0800 (China Standard Time)
2
+ * RCRTC - v5.4.7-beem-enterprise.1
3
+ * CommitId - f6d422487789e25a83b33d99ce339c2d264d3d88
4
+ * Wed Sep 21 2022 12:27:46 GMT+0800 (China Standard Time)
5
5
  * ©2020 RongCloud, Inc. All rights reserved.
6
6
  */
7
7
  'use strict';
@@ -6477,7 +6477,8 @@ class RCTrack extends engine.EventEmitter {
6477
6477
  return __awaiter(this, void 0, void 0, function* () {
6478
6478
  engine.logger.info(RCLoggerTag.L_TRACK_PLAY_T, {
6479
6479
  element,
6480
- options
6480
+ options,
6481
+ msg: `start play trackId: ${this._id}`
6481
6482
  }, {
6482
6483
  logSource: engine.LogSource.RTC
6483
6484
  });
@@ -7352,8 +7353,12 @@ const getVideoTrackInfo = (track) => {
7352
7353
  const settings = track.getSettings();
7353
7354
  const constraints = track.getConstraints();
7354
7355
  return {
7355
- width: settings.width || getValue(constraints.width),
7356
- height: settings.height || getValue(constraints.height),
7356
+ /**
7357
+ * applyConstraints 方法应用的宽高约束不一定可以立马生效
7358
+ * 取值优先 constraints
7359
+ */
7360
+ width: getValue(constraints.width) || settings.width || 0,
7361
+ height: getValue(constraints.height) || settings.height || 0,
7357
7362
  frameRate: settings.frameRate || getValue(constraints.frameRate)
7358
7363
  };
7359
7364
  };
@@ -7544,7 +7549,7 @@ const isNull = (val) => {
7544
7549
  * 公有云连接私有云 SDK 为非法连接
7545
7550
  */
7546
7551
  const isIllegalConnection = (navi) => {
7547
- return navi.type === 1;
7552
+ return !true ;
7548
7553
  };
7549
7554
  /**
7550
7555
  * 获取将要发布的 track 数量
@@ -7938,7 +7943,7 @@ const getCommonHeader = () => ({
7938
7943
  'Content-Type': 'application/json;charset=UTF-8',
7939
7944
  'Cache-Control': 'no-cache',
7940
7945
  ClientType: `web|${browserInfo.browser}|${browserInfo.version}`,
7941
- ClientVersion: "5.4.7-alpha.3",
7946
+ ClientVersion: "5.4.7-beem-enterprise.1",
7942
7947
  'Client-Session-Id': getUUID(),
7943
7948
  'Request-Id': Date.now().toString()
7944
7949
  });
@@ -8456,16 +8461,11 @@ class AbstractStatParser {
8456
8461
  });
8457
8462
  }
8458
8463
  parseRTCStatsReport(reports) {
8459
- const keys = reports.keys();
8460
8464
  const stats = {};
8461
- let temp = keys.next();
8462
- while (!temp.done) {
8463
- const key = temp.value;
8464
- const value = reports.get(key);
8465
- if (!/^RTCCodec_/.test(key)) {
8466
- stats[key] = value;
8465
+ for (const key of reports.keys()) {
8466
+ if (!key.includes('RTCCodec_')) {
8467
+ stats[key] = reports.get(key);
8467
8468
  }
8468
- temp = keys.next();
8469
8469
  }
8470
8470
  return stats;
8471
8471
  }
@@ -9267,6 +9267,13 @@ class ASdpBuilder {
9267
9267
  }
9268
9268
  return stream;
9269
9269
  }
9270
+ /**
9271
+ * 它将 SDP 标头中的 `a=group` 行替换为 `b=AS` 和 `b=TIAS` 行
9272
+ * @param {number} maxBitrate - 流的最大比特率。
9273
+ */
9274
+ setHeaderBitrate(maxBitrate) {
9275
+ this.SDPHeader = this.SDPHeader.replace(/(\r\ns=[^\r\n]+)/ig, `$1\r\nc=IN IP4 0.0.0.0\r\nb=AS:${maxBitrate * ASdpBuilder.KBitrate}\r\nb=TIAS:${maxBitrate * ASdpBuilder.KBitrate * 850}`);
9276
+ }
9270
9277
  /**
9271
9278
  * 它获取音频流并将它们映射到一个新数组,其中每个项目都是调用 setAudioItemBitrate 函数的结果
9272
9279
  * @param {IRCTrackBitrate} bitrate - 以 kbps 为单位的比特率。
@@ -9357,7 +9364,7 @@ class ASdpBuilder {
9357
9364
  */
9358
9365
  addAudioBlineAS(sdpAudioBlock, bitrate) {
9359
9366
  if (!/\bb=AS:\d+\b/ig.test(sdpAudioBlock)) {
9360
- return sdpAudioBlock.replace(/^(m=audio[^\r\n]+)/, `$1\r\nb=AS:${bitrate.max * ASdpBuilder.KBitrate}`);
9367
+ return sdpAudioBlock.replace(/(\bc=IN[^\r\n]+)/ig, `$1\r\nb=AS:${bitrate.max * ASdpBuilder.KBitrate}\r\nb=TIAS:${bitrate.max * ASdpBuilder.KBitrate * 850}`);
9361
9368
  }
9362
9369
  return sdpAudioBlock;
9363
9370
  }
@@ -9455,7 +9462,7 @@ class ASdpBuilder {
9455
9462
  addVideoBlineAS(sdpVideoBlock, bitrate) {
9456
9463
  // b=AS: 定义本端带宽信息
9457
9464
  if (!/\bb=AS:\d+\b/ig.test(sdpVideoBlock)) {
9458
- return sdpVideoBlock.replace(/^(m=video[^\r\n]+)/, `$1\r\nb=AS:${bitrate.max * ASdpBuilder.KBitrate}`);
9465
+ return sdpVideoBlock.replace(/(\bc=IN[^\r\n]+)/ig, `$1\r\nb=AS:${bitrate.max * ASdpBuilder.KBitrate}\r\nb=TIAS:${bitrate.max * ASdpBuilder.KBitrate * 850}`);
9459
9466
  }
9460
9467
  return sdpVideoBlock;
9461
9468
  }
@@ -9584,7 +9591,7 @@ class ASdpStrategy {
9584
9591
  return __awaiter(this, void 0, void 0, function* () {
9585
9592
  // 过滤行末的空格,服务可能产生空格数据
9586
9593
  sdp = ASdpBuilder.trimBlankLine(sdp);
9587
- engine.logger.info(`set remote answer -> ${sdp}`);
9594
+ logger.info(`set remote answer -> ${sdp}`);
9588
9595
  try {
9589
9596
  yield this._peer.setRemoteDescription({ type: 'answer', sdp });
9590
9597
  }
@@ -10221,6 +10228,10 @@ class RCRTCPeerConnection extends engine.EventEmitter {
10221
10228
  // 上报上下行数据至北极星定时器
10222
10229
  this._reportR3R4ToPolarisTimer = null;
10223
10230
  this._isDestroyed = false;
10231
+ // 格式化后的质量数据
10232
+ this._reportStatsData = null;
10233
+ // 格式化之前的质量数据
10234
+ this._originReportStatsData = null;
10224
10235
  this._reportListener = null;
10225
10236
  const sdpSemantics = ASdpStrategy.getSdpSemantics();
10226
10237
  const peer = this._rtcPeerConn = new RTCPeerConnection({ sdpSemantics });
@@ -10252,15 +10263,24 @@ class RCRTCPeerConnection extends engine.EventEmitter {
10252
10263
  logSource: engine.LogSource.RTC
10253
10264
  });
10254
10265
  }
10266
+ startAutoExecute(gap = 1000) {
10267
+ this._reportStatsTimer = setTimeout(() => {
10268
+ this._reportHandle(gap);
10269
+ this._reportStatsTimer = this.startAutoExecute();
10270
+ }, gap);
10271
+ }
10272
+ stopAutoExecute() {
10273
+ clearTimeout(this._reportStatsTimer);
10274
+ }
10255
10275
  _onICEConnectionStateChange() {
10256
10276
  var _a, _b;
10257
10277
  logger.info(`oniceconnectionstatechange -> ${this._rtcPeerConn.iceConnectionState}, ${this._pcName}`);
10258
10278
  if (this._rtcPeerConn.iceConnectionState === 'connected') {
10259
10279
  // 开启 peerConnection stats 统计定时器
10260
10280
  if (this._reportStatsTimer) {
10261
- clearInterval(this._reportStatsTimer);
10281
+ this.stopAutoExecute();
10262
10282
  }
10263
- this._reportStatsTimer = setInterval(this._reportHandle.bind(this), 1000);
10283
+ this.startAutoExecute();
10264
10284
  }
10265
10285
  // ICE 连接中断后,需要尝试重新走 exchange 流程以恢复
10266
10286
  if (this._rtcPeerConn.iceConnectionState === 'failed' || this._rtcPeerConn.iceConnectionState === 'disconnected') {
@@ -10515,33 +10535,53 @@ class RCRTCPeerConnection extends engine.EventEmitter {
10515
10535
  * 获取 peerConnection stats 数据并格式化
10516
10536
  * @returns 返回格式化后的数据
10517
10537
  */
10518
- _getStatsData() {
10519
- var _a, _b;
10538
+ _getStatsData(gap = 1000) {
10539
+ var _a, _b, _c;
10520
10540
  return __awaiter(this, void 0, void 0, function* () {
10521
- const reports = yield this._rtcPeerConn.getStats();
10522
- /**
10523
- * 解析 stats 数据
10524
- */
10525
- const data = (_a = this.reportParser) === null || _a === void 0 ? void 0 : _a.parseRTCStatsReport(reports);
10541
+ let data = null;
10542
+ if (((_a = this._originReportStatsData) === null || _a === void 0 ? void 0 : _a.timestamp) && this._originReportStatsData.timestamp > Date.now() - gap) {
10543
+ data = this._originReportStatsData.data;
10544
+ }
10545
+ else {
10546
+ const reports = yield this._rtcPeerConn.getStats();
10547
+ /**
10548
+ * 解析 stats 数据
10549
+ */
10550
+ data = (_b = this.reportParser) === null || _b === void 0 ? void 0 : _b.parseRTCStatsReport(reports);
10551
+ this._originReportStatsData = {
10552
+ data,
10553
+ timestamp: Date.now()
10554
+ };
10555
+ }
10526
10556
  /**
10527
10557
  * 获取 report 中的 iceCandidatePair、senders、receivers 中的所有字段
10528
10558
  */
10529
- const formatData = (_b = this.reportParser) === null || _b === void 0 ? void 0 : _b.formatRCRTCStateReport(data);
10559
+ const formatData = (_c = this.reportParser) === null || _c === void 0 ? void 0 : _c.formatRCRTCStateReport(data);
10530
10560
  return formatData;
10531
10561
  });
10532
10562
  }
10533
- getAudioLevelReportData() {
10534
- var _a, _b;
10563
+ getAudioLevelReportData(gap = 1000) {
10564
+ var _a, _b, _c;
10535
10565
  return __awaiter(this, void 0, void 0, function* () {
10536
- const reports = yield this._rtcPeerConn.getStats();
10537
- /**
10538
- * 解析 stats 数据
10539
- */
10540
- const data = (_a = this.reportParser) === null || _a === void 0 ? void 0 : _a.parseRTCStatsReport(reports);
10566
+ let data = null;
10567
+ if (((_a = this._originReportStatsData) === null || _a === void 0 ? void 0 : _a.timestamp) && this._originReportStatsData.timestamp > Date.now() - gap) {
10568
+ data = this._originReportStatsData.data;
10569
+ }
10570
+ else {
10571
+ const reports = yield this._rtcPeerConn.getStats();
10572
+ /**
10573
+ * 解析 stats 数据
10574
+ */
10575
+ data = (_b = this.reportParser) === null || _b === void 0 ? void 0 : _b.parseRTCStatsReport(reports);
10576
+ this._originReportStatsData = {
10577
+ data,
10578
+ timestamp: Date.now()
10579
+ };
10580
+ }
10541
10581
  if (!data) {
10542
10582
  return [];
10543
10583
  }
10544
- const audioLevelData = (_b = this.reportParser) === null || _b === void 0 ? void 0 : _b.getAudioLevelList(data);
10584
+ const audioLevelData = (_c = this.reportParser) === null || _c === void 0 ? void 0 : _c.getAudioLevelList(data);
10545
10585
  return audioLevelData;
10546
10586
  });
10547
10587
  }
@@ -10549,13 +10589,14 @@ class RCRTCPeerConnection extends engine.EventEmitter {
10549
10589
  * 通知用户质量数据、peerConnection 北极星数据上报
10550
10590
  * @todo
10551
10591
  */
10552
- _reportHandle() {
10592
+ _reportHandle(gap) {
10553
10593
  var _a, _b;
10554
10594
  return __awaiter(this, void 0, void 0, function* () {
10555
- const formatData = yield this._getStatsData();
10595
+ const formatData = yield this._getStatsData(gap);
10556
10596
  if (!formatData) {
10557
10597
  return;
10558
10598
  }
10599
+ this._reportStatsData = formatData;
10559
10600
  /**
10560
10601
  * 组装用户层抛出数据
10561
10602
  */
@@ -10563,13 +10604,19 @@ class RCRTCPeerConnection extends engine.EventEmitter {
10563
10604
  (_b = (_a = this._reportListener) === null || _a === void 0 ? void 0 : _a.onStateReport) === null || _b === void 0 ? void 0 : _b.call(_a, reportData);
10564
10605
  });
10565
10606
  }
10607
+ /**
10608
+ * 获取缓存的本地质量数据
10609
+ */
10610
+ _getCacheStatsData() {
10611
+ return this._reportStatsData;
10612
+ }
10566
10613
  /**
10567
10614
  * 北极星上报 R3、R4 数据
10568
10615
  */
10569
10616
  _sendR3R4Data() {
10570
10617
  var _a;
10571
10618
  return __awaiter(this, void 0, void 0, function* () {
10572
- const formatData = yield this._getStatsData();
10619
+ const formatData = this._getCacheStatsData();
10573
10620
  if (!formatData) {
10574
10621
  return true;
10575
10622
  }
@@ -10588,7 +10635,9 @@ class RCRTCPeerConnection extends engine.EventEmitter {
10588
10635
  return __awaiter(this, void 0, void 0, function* () {
10589
10636
  clearTimeout(this._reportR3R4ToPolarisTimer);
10590
10637
  yield this._sendR3R4Data();
10591
- this._reportR3R4ToPolarisTimer = setTimeout(this.__reportR3R4ToPolaris.bind(this), 2000);
10638
+ this._reportR3R4ToPolarisTimer = setTimeout(() => {
10639
+ this.__reportR3R4ToPolaris();
10640
+ }, 2000);
10592
10641
  });
10593
10642
  }
10594
10643
  getRTCPeerConn() {
@@ -10600,7 +10649,7 @@ class RCRTCPeerConnection extends engine.EventEmitter {
10600
10649
  clearTimeout(this._reportR3R4ToPolarisTimer);
10601
10650
  // 停止计时
10602
10651
  if (this._reportStatsTimer) {
10603
- clearInterval(this._reportStatsTimer);
10652
+ this.stopAutoExecute();
10604
10653
  this._reportStatsTimer = null;
10605
10654
  }
10606
10655
  this.registerReportListener(null);
@@ -10827,7 +10876,7 @@ class PolarisReporter {
10827
10876
  * 加入房间
10828
10877
  */
10829
10878
  sendR1() {
10830
- const rtcVersion = "5.4.7-alpha.3";
10879
+ const rtcVersion = "5.4.7-beem-enterprise.1";
10831
10880
  const imVersion = this._context.getCoreVersion();
10832
10881
  const platform = 'web';
10833
10882
  const pcName = navigator.platform;
@@ -10860,7 +10909,7 @@ class RCAudioLevelReport {
10860
10909
  /**
10861
10910
  * 通知业务端音量 > 0 的数据,数组每一项包含 track、audioLevel
10862
10911
  */
10863
- _audioLevelReport() {
10912
+ _audioLevelReport(gap) {
10864
10913
  return __awaiter(this, void 0, void 0, function* () {
10865
10914
  if (!this._audioLevelChangeHandler) {
10866
10915
  return;
@@ -10872,23 +10921,31 @@ class RCAudioLevelReport {
10872
10921
  if (pc.getRTCPeerConn().iceConnectionState === 'new') {
10873
10922
  return;
10874
10923
  }
10875
- const audioLevelData = yield pc.getAudioLevelReportData();
10876
- const list = audioLevelData.map((item) => {
10924
+ const audioLevelData = yield pc.getAudioLevelReportData(gap);
10925
+ audioLevelData === null || audioLevelData === void 0 ? void 0 : audioLevelData.forEach(item => {
10877
10926
  const { userId } = parseTrackId(item.trackId);
10878
10927
  const isLocal = this._room.getCrtUserId() === userId;
10879
10928
  const track = isLocal ? this._room.getLocalTrack(item.trackId) : this._room.getRemoteTrack(item.trackId);
10880
- return {
10881
- track,
10882
- audioLevel: item.audioLevel || 0
10883
- };
10884
- }).filter((item) => {
10885
- return item.track;
10929
+ if (track) {
10930
+ audioLevelList.push({
10931
+ track,
10932
+ audioLevel: item.audioLevel || 0
10933
+ });
10934
+ }
10886
10935
  });
10887
- audioLevelList.push(...list);
10888
10936
  }
10889
10937
  this._audioLevelChangeHandler(audioLevelList);
10890
10938
  });
10891
10939
  }
10940
+ startAutoExecute(gap = 1000) {
10941
+ this._timer = setTimeout(() => {
10942
+ this._audioLevelReport(gap);
10943
+ this._timer = this.startAutoExecute(gap);
10944
+ }, gap);
10945
+ }
10946
+ stopAutoExecute() {
10947
+ clearTimeout(this._timer);
10948
+ }
10892
10949
  onAudioLevelChange(handler, gap) {
10893
10950
  if (gap < 300 || gap > 1000) {
10894
10951
  logger.error('the valid range of onAudioLevelChange params "gap" is: > 300 && < 1000');
@@ -10899,12 +10956,12 @@ class RCAudioLevelReport {
10899
10956
  }
10900
10957
  else {
10901
10958
  this._audioLevelChangeHandler = handler;
10902
- this._timer = setInterval(this._audioLevelReport.bind(this), gap);
10959
+ this.startAutoExecute(gap);
10903
10960
  }
10904
10961
  }
10905
10962
  clearAudioLevelReportTimer() {
10906
10963
  if (this._timer) {
10907
- clearInterval(this._timer);
10964
+ this.stopAutoExecute();
10908
10965
  this._timer = null;
10909
10966
  }
10910
10967
  }
@@ -11650,14 +11707,7 @@ class JoinRoomCommand extends BaseCommand {
11650
11707
  }, { logSource: engine.LogSource.RTC });
11651
11708
  return { code: exports.RCRTCCode.SIGNAL_DISCONNECTED };
11652
11709
  }
11653
- if (isIllegalConnection(context.getNaviInfo())) {
11654
- engine.logger.error(logTag, {
11655
- status: RCLoggerStatus.FAILED,
11656
- code: exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR,
11657
- msg: 'navi_usl error'
11658
- }, { logSource: engine.LogSource.RTC });
11659
- return { code: exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR };
11660
- }
11710
+ if (isIllegalConnection(context.getNaviInfo())) ;
11661
11711
  if (!engine.validate('roomId', this.roomId, engine.notEmptyString, true)) {
11662
11712
  engine.logger.error(logTag, {
11663
11713
  status: RCLoggerStatus.FAILED,
@@ -12116,7 +12166,7 @@ class ParseUserStateCommand extends BaseCommand {
12116
12166
  users.forEach(item => {
12117
12167
  const userId = item.userId;
12118
12168
  if (+item.state === 0) {
12119
- logger.debug(`user joined -> ${userId}`);
12169
+ logger.info(`user joined -> ${userId}`);
12120
12170
  // 对端 im 重连之后调加入房间信令获取最新数据,服务会给本端下发“对端加入房间”的消息,本端内存已包含对端人员,所以需过滤掉
12121
12171
  const resArr = store.getResourcesByUserId(userId);
12122
12172
  if (!resArr) {
@@ -12125,7 +12175,7 @@ class ParseUserStateCommand extends BaseCommand {
12125
12175
  store.setResourcesByUserId(userId, resArr || []);
12126
12176
  }
12127
12177
  else {
12128
- logger.debug(`user left -> ${userId}`);
12178
+ logger.info(`user left -> ${userId}`);
12129
12179
  item.switchRoleType ? downgrade.push(userId) : left.push(userId);
12130
12180
  }
12131
12181
  });
@@ -12434,6 +12484,16 @@ class PublishCommand extends BaseCommand {
12434
12484
  const { track: localTrack } = track instanceof RCLocalTrack ? { track } : track;
12435
12485
  localTracks.push(localTrack);
12436
12486
  });
12487
+ /**
12488
+ * 将发布的视频流按从小到大进行排序
12489
+ */
12490
+ tracks.sort((item, nextItem) => {
12491
+ const { track: localTrack } = item instanceof RCLocalTrack ? { track: item } : item;
12492
+ const { max: maxBitrate } = localTrack.getBitrate();
12493
+ const { track: nextLocalTrack } = nextItem instanceof RCLocalTrack ? { track: nextItem } : nextItem;
12494
+ const { max: maxNextBitrate } = nextLocalTrack.getBitrate();
12495
+ return maxBitrate - maxNextBitrate;
12496
+ });
12437
12497
  /**
12438
12498
  * 一个 peerConnection 上行不超过 10 个
12439
12499
  */
@@ -13496,12 +13556,14 @@ class RCAbstractRoom extends engine.EventEmitter {
13496
13556
  }
13497
13557
  __parseInnerMessage(message) {
13498
13558
  const { targetId: roomId, conversationType } = message;
13499
- // 过滤非 RTC 消息
13500
- if (conversationType !== engine.ConversationType.RTC_ROOM) {
13501
- return false;
13502
- }
13503
13559
  // 为 RTC 消息,但不属于当前房间的不处理
13504
13560
  if (roomId !== this._roomId) {
13561
+ engine.logger.warn(RCLoggerTag.L_RTC_CLIENT_MESSAGE_O, {
13562
+ status: RCLoggerStatus.FAILED,
13563
+ message: `roomId is different, msg roomId-> ${roomId}, this._roomId-> ${this._roomId} `
13564
+ }, {
13565
+ logSource: engine.LogSource.RTC
13566
+ });
13505
13567
  return true;
13506
13568
  }
13507
13569
  logger.info(`recv inner msg -> message: ${JSON.stringify(message)} | roomid: ${this._roomId}`);
@@ -16754,16 +16816,7 @@ class RCAudienceClient {
16754
16816
  logSource: engine.LogSource.RTC
16755
16817
  });
16756
16818
  const tracks = [];
16757
- if (isIllegalConnection(this._context.getNaviInfo())) {
16758
- engine.logger.error(RCLoggerTag.L_AUDIENCE_CLIENT_SUBSCRIBE_R, {
16759
- status: RCLoggerStatus.FAILED,
16760
- code: exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR,
16761
- msg: 'navi_url error'
16762
- }, {
16763
- logSource: engine.LogSource.RTC
16764
- });
16765
- return { code: exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR, tracks };
16766
- }
16819
+ if (isIllegalConnection(this._context.getNaviInfo())) ;
16767
16820
  // 客户端主动调用 api 发请求时,清除 ice 断线重连的定时器
16768
16821
  !this._fromRetry && ((_a = this._pc) === null || _a === void 0 ? void 0 : _a.clearReTryExchangeTimer());
16769
16822
  this._fromRetry = false;
@@ -18773,7 +18826,6 @@ class RCRTCClient extends RCMediaStreamCapture {
18773
18826
  this._context.onmessage = this._handleMessage.bind(this);
18774
18827
  }
18775
18828
  _handleMessage(message) {
18776
- var _a;
18777
18829
  // 过滤非 RTC 消息
18778
18830
  if (message.conversationType !== engine.ConversationType.RTC_ROOM) {
18779
18831
  return false;
@@ -18785,13 +18837,22 @@ class RCRTCClient extends RCMediaStreamCapture {
18785
18837
  room.__parseInnerMessage(message);
18786
18838
  });
18787
18839
  }
18788
- (_a = this._crtRoom) === null || _a === void 0 ? void 0 : _a.__parseInnerMessage(message);
18789
18840
  engine.logger.info(RCLoggerTag.L_RTC_CLIENT_MESSAGE_O, {
18790
18841
  status: RCLoggerStatus.SUCCESSED,
18791
- message: Object.assign(message, { content: '内容涉及隐私不予显示' })
18842
+ message
18792
18843
  }, {
18793
18844
  logSource: engine.LogSource.RTC
18794
18845
  });
18846
+ if (!this._crtRoom) {
18847
+ engine.logger.warn(RCLoggerTag.L_RTC_CLIENT_MESSAGE_O, {
18848
+ status: RCLoggerStatus.FAILED,
18849
+ message: 'the crtRoom is empty'
18850
+ }, {
18851
+ logSource: engine.LogSource.RTC
18852
+ });
18853
+ return true;
18854
+ }
18855
+ this._crtRoom.__parseInnerMessage(message);
18795
18856
  return true;
18796
18857
  }
18797
18858
  /**
@@ -18994,16 +19055,7 @@ class RCRTCClient extends RCMediaStreamCapture {
18994
19055
  }, {
18995
19056
  logSource: engine.LogSource.RTC
18996
19057
  });
18997
- if (isIllegalConnection(this._context.getNaviInfo())) {
18998
- engine.logger.error(RCLoggerTag.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R, {
18999
- status: RCLoggerStatus.FAILED,
19000
- code: exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR,
19001
- msg: 'navi_url error'
19002
- }, {
19003
- logSource: engine.LogSource.RTC
19004
- });
19005
- return { code: exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR };
19006
- }
19058
+ if (isIllegalConnection(this._context.getNaviInfo())) ;
19007
19059
  if (!(engine.validate('roomId', roomId, engine.notEmptyString, true) &&
19008
19060
  engine.validate('livingType', livingType, (value) => value === exports.RCLivingType.AUDIO || value === exports.RCLivingType.VIDEO))) {
19009
19061
  engine.logger.error(RCLoggerTag.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R, {
@@ -19311,9 +19363,9 @@ const installer = {
19311
19363
  logger.error('Please use the https protocol or use `http://localhost` to open the page!');
19312
19364
  return false;
19313
19365
  }
19314
- engine.VersionManage.add('plugin-rtc', "5.4.7-alpha.3");
19315
- if (!engine.VersionManage.validEngine("5.3.4 - 5.4.5")) {
19316
- logger.error(`The current engine version '${engine.VersionManage.getInfo().engine}' error, plugin-rtc required engine version at least '${"5.3.4 - 5.4.5"}'.`);
19366
+ engine.VersionManage.add('plugin-rtc', "5.4.7-beem-enterprise.1");
19367
+ if (!engine.VersionManage.validEngine("5.4.2-beem-enterprise.2")) {
19368
+ logger.error(`The current engine version '${engine.VersionManage.getInfo().engine}' error, plugin-rtc required engine version at least '${"5.4.2-beem-enterprise.2"}'.`);
19317
19369
  return false;
19318
19370
  }
19319
19371
  return true;
@@ -19322,7 +19374,7 @@ const installer = {
19322
19374
  var _a, _b, _c, _d, _e, _f, _g, _h;
19323
19375
  logger.setLogLevel(options.logLevel);
19324
19376
  logger.setLogStdout(options.logStdout);
19325
- logger.warn(`RCRTC Version: ${"5.4.7-alpha.3"}, Commit: ${"851c4005fa6dfee3d966699f4bc260b0b6cbd7ea"}`);
19377
+ logger.warn(`RCRTC Version: ${"5.4.7-beem-enterprise.1"}, Commit: ${"f6d422487789e25a83b33d99ce339c2d264d3d88"}`);
19326
19378
  logger.warn(`browserInfo.browser -> ${browserInfo.browser}`);
19327
19379
  logger.warn(`browserInfo.supportsUnifiedPlan -> ${browserInfo.supportsUnifiedPlan}`);
19328
19380
  logger.warn(`browserInfo.version -> ${browserInfo.version}`);