@rongcloud/plugin-rtc 5.6.5-beem → 5.6.6-beem-alpha.2

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.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
- * RCRTC - v5.6.5-beem
3
- * CommitId - 6bae08310b35cf5ec94005dfbf39555ce874cd7c
4
- * Fri Dec 09 2022 10:16:58 GMT+0800 (China Standard Time)
2
+ * RCRTC - v5.6.6-beem-alpha.2
3
+ * CommitId - a1dff2135dffdf1e99f50dccb01d304fd4c661cd
4
+ * Thu Dec 15 2022 16:13:38 GMT+0800 (China Standard Time)
5
5
  * ©2020 RongCloud, Inc. All rights reserved.
6
6
  */
7
7
  import { EventEmitter, BasicLogger, INaviInfo, RTCPluginContext, AbsCodec, IPromiseResult, ErrorCode, KVString, IRuntime, IAsyncRes, ConnectionStatus, ConversationType, ISendMsgOptions, IReceivedMessage, EnableLogL, IPluginGenerator } from '@rongcloud/engine';
@@ -711,6 +711,7 @@ interface IExchangeReqBody {
711
711
  * server 根据网络动态切换大小流开关,默认为 `false`
712
712
  */
713
713
  switchstream: boolean;
714
+ capabilityVersion?: number;
714
715
  }
715
716
  interface ILiveUrls {
716
717
  /**
@@ -787,6 +788,17 @@ interface IExchangeResponse extends IRTCResponse {
787
788
  userId: string;
788
789
  simulcast?: RCStreamType;
789
790
  }[];
791
+ /**
792
+ * 订阅失败的资源列表
793
+ */
794
+ subscribeErrorList?: {
795
+ mediaType: RCMediaType.AUDIO_ONLY | RCMediaType.VIDEO_ONLY;
796
+ msid: string;
797
+ userId: string;
798
+ msg: string;
799
+ code: number;
800
+ IsRetry: boolean;
801
+ }[];
790
802
  }
791
803
  interface IBroadcastSubReqBody {
792
804
  /**
@@ -846,6 +858,17 @@ interface IBroadcastSubRespBody extends IRTCResponse {
846
858
  type: 'answer';
847
859
  sdp: string;
848
860
  };
861
+ /**
862
+ * 订阅失败的资源列表
863
+ */
864
+ subscribeErrorList?: {
865
+ mediaType: RCMediaType.AUDIO_ONLY | RCMediaType.VIDEO_ONLY;
866
+ msid: string;
867
+ userId: string;
868
+ msg: string;
869
+ code: number;
870
+ IsRetry: boolean;
871
+ }[];
849
872
  }
850
873
  /**
851
874
  * 获取 CDN 资源拉流地址请求 headers
package/dist/index.esm.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
- * RCRTC - v5.6.5-beem
3
- * CommitId - 6bae08310b35cf5ec94005dfbf39555ce874cd7c
4
- * Fri Dec 09 2022 10:16:58 GMT+0800 (China Standard Time)
2
+ * RCRTC - v5.6.6-beem-alpha.2
3
+ * CommitId - a1dff2135dffdf1e99f50dccb01d304fd4c661cd
4
+ * Thu Dec 15 2022 16:13:38 GMT+0800 (China Standard Time)
5
5
  * ©2020 RongCloud, Inc. All rights reserved.
6
6
  */
7
7
  import { EventEmitter, isNumber, validate, isObject as isObject$1, ErrorCode, HttpMethod, isArray, ConnectionStatus, notEmptyObject, notEmptyArray, notEmptyString, isString, RTCMode as RTCMode$1, assert, ConversationType, isHttpUrl, isBoolean, isUndefined, forEach, VersionManage, LogL } from '@rongcloud/engine';
@@ -6930,7 +6930,7 @@ class RCTrack extends EventEmitter {
6930
6930
  }));
6931
6931
  };
6932
6932
  this._element.oncanplay = (evt) => __awaiter(this, void 0, void 0, function* () {
6933
- var _p, _q, _r, _s, _t, _u, _v, _w;
6933
+ var _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
6934
6934
  // 可以播放
6935
6935
  (_p = this._logger) === null || _p === void 0 ? void 0 : _p.info(RCLoggerTag.L_TRACK_CANPLAY_O, JSON.stringify({
6936
6936
  status: RCLoggerStatus.INFO,
@@ -6952,15 +6952,15 @@ class RCTrack extends EventEmitter {
6952
6952
  status: RCLoggerStatus.FAILED,
6953
6953
  kind: (_u = this._kind) !== null && _u !== void 0 ? _u : '',
6954
6954
  code: RCRTCCode.NO_PERMISSION_TO_USE_REQUESTED_DEVICE,
6955
- msg: `setSinkId failed, error msg: ${error.message}`,
6955
+ msg: `setSinkId failed, error msg: ${error.message} -> id: ${(_v = evt.target) === null || _v === void 0 ? void 0 : _v.id}, trackId: ${this._id}`,
6956
6956
  }));
6957
6957
  return;
6958
6958
  }
6959
- (_v = this._logger) === null || _v === void 0 ? void 0 : _v.error(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
6959
+ (_w = this._logger) === null || _w === void 0 ? void 0 : _w.error(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
6960
6960
  status: RCLoggerStatus.FAILED,
6961
6961
  code: RCRTCCode.TRACK_PLAY_ERROR,
6962
- kind: (_w = this._kind) !== null && _w !== void 0 ? _w : '',
6963
- msg: `play error, error msg: ${error.message}`,
6962
+ kind: (_x = this._kind) !== null && _x !== void 0 ? _x : '',
6963
+ msg: `play error, error msg: ${error.message} -> id: ${(_y = evt.target) === null || _y === void 0 ? void 0 : _y.id}, trackId: ${this._id}`,
6964
6964
  }));
6965
6965
  }
6966
6966
  });
@@ -14812,7 +14812,7 @@ const getCommonHeader$1 = () => ({
14812
14812
  'Content-Type': 'application/json;charset=UTF-8',
14813
14813
  'Cache-Control': 'no-cache',
14814
14814
  ClientType: `web|${browserInfo.browser}|${browserInfo.version}`,
14815
- ClientVersion: "5.6.5-beem",
14815
+ ClientVersion: "5.6.6-beem-alpha.2",
14816
14816
  'Client-Session-Id': getUUID(),
14817
14817
  'Request-Id': Date.now().toString(),
14818
14818
  });
@@ -15397,7 +15397,7 @@ const getCommonHeader = () => ({
15397
15397
  'Content-Type': 'application/json;charset=UTF-8',
15398
15398
  'Cache-Control': 'no-cache',
15399
15399
  ClientType: `web|${browserInfo.browser}|${browserInfo.version}`,
15400
- ClientVersion: "5.6.5-beem",
15400
+ ClientVersion: "5.6.6-beem-alpha.2",
15401
15401
  'Client-Session-Id': getUUID(),
15402
15402
  'Request-Id': Date.now().toString(),
15403
15403
  });
@@ -18689,7 +18689,7 @@ class PolarisReporter {
18689
18689
  * 加入房间
18690
18690
  */
18691
18691
  sendR1() {
18692
- const rtcVersion = "5.6.5-beem";
18692
+ const rtcVersion = "5.6.6-beem-alpha.2";
18693
18693
  const imVersion = this._context.getCoreVersion();
18694
18694
  const platform = 'web';
18695
18695
  const pcName = navigator.platform;
@@ -18839,7 +18839,7 @@ class PolarisHttpReporter {
18839
18839
  _formatR1Data() {
18840
18840
  return {
18841
18841
  joinTime: this._context.userJoinTime || 0,
18842
- rtcVersion: "5.6.5-beem",
18842
+ rtcVersion: "5.6.6-beem-alpha.2",
18843
18843
  imVersion: this._context.getCoreVersion(),
18844
18844
  platform: 'web',
18845
18845
  device: navigator.platform,
@@ -20140,12 +20140,13 @@ class ExchangeCommand extends BaseCommand {
20140
20140
  }
20141
20141
 
20142
20142
  class UpdateSubscribeListCommand extends BaseCommand {
20143
- constructor(tracks, subhook, forceReq, traceId) {
20143
+ constructor(tracks, subhook, forceReq, traceId, reTry = 0) {
20144
20144
  super();
20145
20145
  this.tracks = tracks;
20146
20146
  this.subhook = subhook;
20147
20147
  this.forceReq = forceReq;
20148
20148
  this.traceId = traceId;
20149
+ this.reTry = reTry;
20149
20150
  }
20150
20151
  get kind() {
20151
20152
  return RCCommandKind.UPDATE_SUBSCRIBE_LIST;
@@ -20153,7 +20154,7 @@ class UpdateSubscribeListCommand extends BaseCommand {
20153
20154
  execute(store, invoker) {
20154
20155
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
20155
20156
  return __awaiter(this, void 0, void 0, function* () {
20156
- const { tracks, forceReq } = this;
20157
+ const { tracks, forceReq, reTry } = this;
20157
20158
  const { roomId } = store;
20158
20159
  (_b = (_a = store.context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.info(RCLoggerTag.L_UPDATE_SUBSCRIBELIST_COMMAND_T, `roomId: ${roomId}, forceReq: ${forceReq}, trackIds: ${tracks.map(getTrackIdFromAttr)}`, this.traceId);
20159
20160
  if (!validate('tracks', tracks, () => isArray(tracks) && tracks.every((res) => res instanceof RCRemoteTrack || res.track instanceof RCRemoteTrack), true)) {
@@ -20229,6 +20230,7 @@ class UpdateSubscribeListCommand extends BaseCommand {
20229
20230
  * 直播房间需携带 pushOtherRooms 信息
20230
20231
  */
20231
20232
  pushOtherRooms && (reqBody.pushOtherRooms = pushOtherRooms);
20233
+ // TODO: 订阅失败重试
20232
20234
  const result = yield new ExchangeCommand(headers, reqBody, this.traceId, true).execute(store, invoker);
20233
20235
  attrs.map((item) => item.track.getTrackId());
20234
20236
  if (result.code !== RCRTCCode.SUCCESS) {
@@ -20239,7 +20241,7 @@ class UpdateSubscribeListCommand extends BaseCommand {
20239
20241
  }), this.traceId);
20240
20242
  return { code: result.code };
20241
20243
  }
20242
- const { sdp: answer, resultCode, message, subscribedList, } = result.data;
20244
+ const { sdp: answer, resultCode, message, subscribedList, subscribeErrorList, } = result.data;
20243
20245
  if (resultCode !== RCRTCCode.SUCCESS) {
20244
20246
  reportQualitySubscribeAndUnsubscribeData(attrs, resultCode);
20245
20247
  (_m = (_l = store.context) === null || _l === void 0 ? void 0 : _l.logger) === null || _m === void 0 ? void 0 : _m.error(RCLoggerTag.L_UPDATE_SUBSCRIBELIST_COMMAND_R, JSON.stringify({
@@ -20248,6 +20250,12 @@ class UpdateSubscribeListCommand extends BaseCommand {
20248
20250
  }), this.traceId);
20249
20251
  return { code: resultCode };
20250
20252
  }
20253
+ if (subscribeErrorList
20254
+ && subscribeErrorList.length > 0
20255
+ && reTry > 0
20256
+ && subscribeErrorList.some((item) => item.IsRetry)) {
20257
+ return new UpdateSubscribeListCommand(this.tracks, this.subhook, true, this.traceId, reTry - 1).execute(store, invoker);
20258
+ }
20251
20259
  const resCode = yield pc.setRemoteAnswer(answer.sdp);
20252
20260
  if (resCode !== RCRTCCode.SUCCESS) {
20253
20261
  // 连通率相关埋点-订阅日志上报
@@ -20264,9 +20272,13 @@ class UpdateSubscribeListCommand extends BaseCommand {
20264
20272
  },
20265
20273
  });
20266
20274
  // 获取真正订阅成功的资源
20267
- const subSuccessTrackIds = subscribedList === null || subscribedList === void 0 ? void 0 : subscribedList.map((item) => `${item.msid}_${item.mediaType}`);
20268
- const subSuccessList = attrs.filter((item) => subSuccessTrackIds === null || subSuccessTrackIds === void 0 ? void 0 : subSuccessTrackIds.includes(item.track.getTrackId()));
20269
- const failedList = attrs.filter((item) => !(subSuccessTrackIds === null || subSuccessTrackIds === void 0 ? void 0 : subSuccessTrackIds.includes(item.track.getTrackId())));
20275
+ // const subSuccessTrackIds = subscribedList?.map((item) => `${item.msid}_${item.mediaType}`);
20276
+ // const subSuccessList = attrs.filter((item) => subSuccessTrackIds?.includes(item.track.getTrackId()));
20277
+ // const failedList = attrs.filter((item) => !subSuccessTrackIds?.includes(item.track.getTrackId()));
20278
+ const subFailedTrackIds = subscribeErrorList === null || subscribeErrorList === void 0 ? void 0 : subscribeErrorList.map((item) => `${item.msid}_${item.mediaType}`);
20279
+ const subSuccessList = attrs.filter((item) => !(subFailedTrackIds === null || subFailedTrackIds === void 0 ? void 0 : subFailedTrackIds.includes(item.track.getTrackId())));
20280
+ const failedList = attrs.filter((item) => subFailedTrackIds === null || subFailedTrackIds === void 0 ? void 0 : subFailedTrackIds.includes(item.track.getTrackId()));
20281
+ const subSuccessTrackIds = subSuccessList === null || subSuccessList === void 0 ? void 0 : subSuccessList.map((item) => item.track.getTrackId());
20270
20282
  (_p = (_o = store.context) === null || _o === void 0 ? void 0 : _o.logger) === null || _p === void 0 ? void 0 : _p.info(RCLoggerTag.L_ABSTRACT_ROOM_SUBSCRIBE_R, JSON.stringify({
20271
20283
  status: RCLoggerStatus.SUCCESSED,
20272
20284
  subSuccessTrackIds,
@@ -20317,7 +20329,7 @@ class UnsubscribeCommand extends BaseCommand {
20317
20329
  // 北极星上报
20318
20330
  store.polarisReport.sendR2(R2Action.SUBSCRIBE, R2Status.END, tracks.map((item) => item.getTrackId()));
20319
20331
  recordUnsubscribeCommand(true);
20320
- return new UpdateSubscribeListCommand(crtSubList, this.subhook, false, this.traceId).execute(store, invoker);
20332
+ return new UpdateSubscribeListCommand(crtSubList, this.subhook, false, this.traceId, 2).execute(store, invoker);
20321
20333
  });
20322
20334
  }
20323
20335
  }
@@ -20378,6 +20390,8 @@ function createExchangeParams(subscribeList, iceRestart, pc, store) {
20378
20390
  })),
20379
20391
  switchstream: false,
20380
20392
  // switchstream: !!this._initOptions.autoSwitchStream
20393
+ // 标识客户端处理能力,当前值 1,表示处理订阅错误列表能力。
20394
+ capabilityVersion: 1,
20381
20395
  };
20382
20396
  return reqBody;
20383
20397
  });
@@ -20844,7 +20858,7 @@ class ParseRemoteResCommand extends BaseCommand {
20844
20858
  // 重新订阅二次发布资源
20845
20859
  if (subedTracks.length) {
20846
20860
  const trackIds = subedTracks.map((item) => item.getTrackId());
20847
- const { code } = yield new UpdateSubscribeListCommand(subedTracks, this.subhook, true, this.traceId).execute(store, invoker);
20861
+ const { code } = yield new UpdateSubscribeListCommand(subedTracks, this.subhook, true, this.traceId, 2).execute(store, invoker);
20848
20862
  if (code !== RCRTCCode.SUCCESS) {
20849
20863
  (_b = (_a = store.context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.error(RCLoggerTag.L_RESUB_REPUB_RES_R, JSON.stringify({
20850
20864
  status: RCLoggerStatus.FAILED,
@@ -20964,7 +20978,7 @@ class SubscribeCommand extends BaseCommand {
20964
20978
  // 北极星上报
20965
20979
  store.polarisReport.sendR2(R2Action.SUBSCRIBE, R2Status.BEGIN, R2TrackIds);
20966
20980
  recordSubscribeCommand(true);
20967
- return new UpdateSubscribeListCommand(crtSubList, this.subhook, true, this.traceId).execute(store, invoker);
20981
+ return new UpdateSubscribeListCommand(crtSubList, this.subhook, true, this.traceId, 2).execute(store, invoker);
20968
20982
  });
20969
20983
  }
20970
20984
  }
@@ -21806,7 +21820,7 @@ class AsyncUpdateSubscribeListCommand extends AsyncCommand {
21806
21820
  if (this.state === RCLinkedListPoint.NORMAL) {
21807
21821
  // 获取原订阅列表
21808
21822
  const originTracks = store.getSubscribedList().slice();
21809
- const { code: updateSuscribeCode, failedList } = yield new UpdateSubscribeListCommand(tracks, this.subhook, true, this.traceId).execute(store, invoker);
21823
+ const { code: updateSuscribeCode, failedList } = yield new UpdateSubscribeListCommand(tracks, this.subhook, true, this.traceId, 2).execute(store, invoker);
21810
21824
  // 获取新的订阅列表
21811
21825
  const subscribedTracks = store.getSubscribedList().slice();
21812
21826
  // 计算订阅列表 Diff
@@ -22976,7 +22990,7 @@ class RCAbstractRoom extends EventEmitter {
22976
22990
  updateSubList(tracks) {
22977
22991
  var _a, _b;
22978
22992
  return __awaiter(this, void 0, void 0, function* () {
22979
- return this._invoker.push(new UpdateSubscribeListCommand(tracks, this._subhook.bind(this), true, (_b = (_a = this._context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.createTraceId()));
22993
+ return this._invoker.push(new UpdateSubscribeListCommand(tracks, this._subhook.bind(this), true, (_b = (_a = this._context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.createTraceId(), 2));
22980
22994
  });
22981
22995
  }
22982
22996
  /**
@@ -26108,7 +26122,7 @@ class RCAudienceLivingRoom {
26108
26122
  var _a;
26109
26123
  const { reqBody } = yield this._createSubscribeParams(this._subscribedList, {}, true);
26110
26124
  // 发送 /exchange 请求
26111
- const resp = yield this._exchangeHandle(reqBody);
26125
+ const resp = yield this._exchangeHandle(reqBody, 2);
26112
26126
  if (resp.code !== RCRTCCode.SUCCESS) {
26113
26127
  return { code: resp.code };
26114
26128
  }
@@ -26283,8 +26297,20 @@ class RCAudienceLivingRoom {
26283
26297
  // 直播观众端 RoomId 与 UserId 保持一致
26284
26298
  return Object.assign({ 'App-Key': this._context.getAppkey(), RoomId: userId, Token: this._joinResData.token, RoomType: RTCMode.LIVE, UserId: userId, 'Session-Id': this._sessionId, 'Client-Session-Id': this._clientSessionId }, peerConnectionId);
26285
26299
  }
26286
- _exchangeHandle(body) {
26287
- return this._service.broadcastSubscribe(this._getReqHeaders(), body);
26300
+ _exchangeHandle(body, reTry = 0) {
26301
+ var _a;
26302
+ return __awaiter(this, void 0, void 0, function* () {
26303
+ Object.assign(Object.assign({}, this._getReqHeaders()), { capabilityVersion: 1 });
26304
+ const res = yield this._service.broadcastSubscribe(this._getReqHeaders(), body);
26305
+ const subscribeErrorList = (_a = res.data) === null || _a === void 0 ? void 0 : _a.subscribeErrorList;
26306
+ if (subscribeErrorList
26307
+ && subscribeErrorList.length > 0
26308
+ && reTry > 0
26309
+ && subscribeErrorList.some((item) => item.IsRetry)) {
26310
+ return this._exchangeHandle(body, reTry - 1);
26311
+ }
26312
+ return res;
26313
+ });
26288
26314
  }
26289
26315
  _updateSubListHandle(tracks, forceReq = false, traceId) {
26290
26316
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
@@ -26342,7 +26368,7 @@ class RCAudienceLivingRoom {
26342
26368
  recordQualityUnsubscribeData(this._roomId, this._clientSessionId, this._sessionId);
26343
26369
  // MediaServer 交互
26344
26370
  const { reqBody } = yield this._createSubscribeParams(attrs, {}, false);
26345
- const result = yield this._exchangeHandle(reqBody);
26371
+ const result = yield this._exchangeHandle(reqBody, 2);
26346
26372
  if (crtSubList.length) {
26347
26373
  // 取消订阅时,清除 parseRTCReport 模块中存储的数据
26348
26374
  const resourceIds = [];
@@ -26359,7 +26385,7 @@ class RCAudienceLivingRoom {
26359
26385
  }), traceId);
26360
26386
  return { code: result.code };
26361
26387
  }
26362
- const { sdp: answer, resultCode, message, subscribedList, } = result.data;
26388
+ const { sdp: answer, resultCode, message, subscribedList, subscribeErrorList, } = result.data;
26363
26389
  if (resultCode !== RCRTCCode.SUCCESS) {
26364
26390
  reportQualitySubscribeAndUnsubscribeData(attrs, resultCode);
26365
26391
  (_h = (_g = this._context) === null || _g === void 0 ? void 0 : _g.logger) === null || _h === void 0 ? void 0 : _h.error(RCLoggerTag.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R, JSON.stringify({
@@ -26391,17 +26417,28 @@ class RCAudienceLivingRoom {
26391
26417
  }
26392
26418
  reportQualitySubscribeAndUnsubscribeData(attrs, resCode);
26393
26419
  // 获取真正订阅成功的资源
26394
- const subSuccessTrackIds = subscribedList === null || subscribedList === void 0 ? void 0 : subscribedList.map((item) => `${item.msid}_${item.mediaType}`);
26420
+ // const subSuccessTrackIds = subscribedList?.map((item) => `${item.msid}_${item.mediaType}`);
26421
+ // const subSuccessList = attrs.filter((item) => {
26422
+ // if (item.track.isMCUTrack()) {
26423
+ // const serverTrackInfo = this._roomRes[item.track.getTrackId()];
26424
+ // const sdpResourceId = `${serverTrackInfo.msid}_${serverTrackInfo.mediaType}`;
26425
+ // return subSuccessTrackIds.includes(sdpResourceId);
26426
+ // }
26427
+ // return subSuccessTrackIds?.includes(item.track.getTrackId());
26428
+ // });
26429
+ // const afterReplaceTrackIds = subSuccessList?.map((item) => `${item.track.getTrackId()}`);
26430
+ // const failedList = attrs.filter((item) => !afterReplaceTrackIds?.includes(item.track.getTrackId()));
26431
+ const subFailedTrackIds = (subscribeErrorList === null || subscribeErrorList === void 0 ? void 0 : subscribeErrorList.map((item) => `${item.msid}_${item.mediaType}`)) || [];
26395
26432
  const subSuccessList = attrs.filter((item) => {
26396
26433
  if (item.track.isMCUTrack()) {
26397
26434
  const serverTrackInfo = this._roomRes[item.track.getTrackId()];
26398
26435
  const sdpResourceId = `${serverTrackInfo.msid}_${serverTrackInfo.mediaType}`;
26399
- return subSuccessTrackIds.includes(sdpResourceId);
26436
+ return !subFailedTrackIds.includes(sdpResourceId);
26400
26437
  }
26401
- return subSuccessTrackIds === null || subSuccessTrackIds === void 0 ? void 0 : subSuccessTrackIds.includes(item.track.getTrackId());
26438
+ return !(subFailedTrackIds === null || subFailedTrackIds === void 0 ? void 0 : subFailedTrackIds.includes(item.track.getTrackId()));
26402
26439
  });
26403
- const afterReplaceTrackIds = subSuccessList === null || subSuccessList === void 0 ? void 0 : subSuccessList.map((item) => `${item.track.getTrackId()}`);
26404
- const failedList = attrs.filter((item) => !(afterReplaceTrackIds === null || afterReplaceTrackIds === void 0 ? void 0 : afterReplaceTrackIds.includes(item.track.getTrackId())));
26440
+ const failedList = attrs.filter((item) => subFailedTrackIds === null || subFailedTrackIds === void 0 ? void 0 : subFailedTrackIds.includes(item.track.getTrackId()));
26441
+ const subSuccessTrackIds = subSuccessList === null || subSuccessList === void 0 ? void 0 : subSuccessList.map((item) => item.track.getTrackId());
26405
26442
  // 更新 remoteTrack.isSubscribed
26406
26443
  for (const trackId in this._remoteTracks) {
26407
26444
  const subed = subSuccessList.some((item) => item.track.getTrackId() === trackId);
@@ -28040,7 +28077,7 @@ class RCRTCClient extends RCMediaStreamCapture {
28040
28077
  }
28041
28078
  reportSDKInfo() {
28042
28079
  this._context.reportSDKInfo({
28043
- 'plugin-rtc': "5.6.5-beem",
28080
+ 'plugin-rtc': "5.6.6-beem-alpha.2",
28044
28081
  });
28045
28082
  }
28046
28083
  }
@@ -29033,7 +29070,7 @@ const installer = {
29033
29070
  console.error('Please use the https protocol or use `http://localhost` to open the page!');
29034
29071
  return false;
29035
29072
  }
29036
- VersionManage.add('plugin-rtc', "5.6.5-beem");
29073
+ VersionManage.add('plugin-rtc', "5.6.6-beem-alpha.2");
29037
29074
  if (!VersionManage.validEngine("^5.6.0")) {
29038
29075
  console.error(`The current engine version '${VersionManage.getInfo().engine}' error, plugin-rtc required engine version at least '${"^5.6.0"}'.`);
29039
29076
  return false;
@@ -29047,8 +29084,8 @@ const installer = {
29047
29084
  RTCLogger.setLogger(originLogger);
29048
29085
  logger.setLogger(originLogger);
29049
29086
  originLogger.warn(RCLoggerTag.L_INDEX_INSTALL_RTC_PLUGIN_O, JSON.stringify({
29050
- 'RCRTC Version': "5.6.5-beem",
29051
- Commit: "6bae08310b35cf5ec94005dfbf39555ce874cd7c",
29087
+ 'RCRTC Version': "5.6.6-beem-alpha.2",
29088
+ Commit: "a1dff2135dffdf1e99f50dccb01d304fd4c661cd",
29052
29089
  'browserInfo.browser': browserInfo.browser,
29053
29090
  'browserInfo.supportsUnifiedPlan': browserInfo.supportsUnifiedPlan,
29054
29091
  'browserInfo.version': browserInfo.version,
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
- * RCRTC - v5.6.5-beem
3
- * CommitId - 6bae08310b35cf5ec94005dfbf39555ce874cd7c
4
- * Fri Dec 09 2022 10:16:58 GMT+0800 (China Standard Time)
2
+ * RCRTC - v5.6.6-beem-alpha.2
3
+ * CommitId - a1dff2135dffdf1e99f50dccb01d304fd4c661cd
4
+ * Thu Dec 15 2022 16:13:38 GMT+0800 (China Standard Time)
5
5
  * ©2020 RongCloud, Inc. All rights reserved.
6
6
  */
7
7
  'use strict';
@@ -6934,7 +6934,7 @@ class RCTrack extends engine.EventEmitter {
6934
6934
  }));
6935
6935
  };
6936
6936
  this._element.oncanplay = (evt) => __awaiter(this, void 0, void 0, function* () {
6937
- var _p, _q, _r, _s, _t, _u, _v, _w;
6937
+ var _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
6938
6938
  // 可以播放
6939
6939
  (_p = this._logger) === null || _p === void 0 ? void 0 : _p.info(RCLoggerTag.L_TRACK_CANPLAY_O, JSON.stringify({
6940
6940
  status: RCLoggerStatus.INFO,
@@ -6956,15 +6956,15 @@ class RCTrack extends engine.EventEmitter {
6956
6956
  status: RCLoggerStatus.FAILED,
6957
6957
  kind: (_u = this._kind) !== null && _u !== void 0 ? _u : '',
6958
6958
  code: exports.RCRTCCode.NO_PERMISSION_TO_USE_REQUESTED_DEVICE,
6959
- msg: `setSinkId failed, error msg: ${error.message}`,
6959
+ msg: `setSinkId failed, error msg: ${error.message} -> id: ${(_v = evt.target) === null || _v === void 0 ? void 0 : _v.id}, trackId: ${this._id}`,
6960
6960
  }));
6961
6961
  return;
6962
6962
  }
6963
- (_v = this._logger) === null || _v === void 0 ? void 0 : _v.error(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
6963
+ (_w = this._logger) === null || _w === void 0 ? void 0 : _w.error(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
6964
6964
  status: RCLoggerStatus.FAILED,
6965
6965
  code: exports.RCRTCCode.TRACK_PLAY_ERROR,
6966
- kind: (_w = this._kind) !== null && _w !== void 0 ? _w : '',
6967
- msg: `play error, error msg: ${error.message}`,
6966
+ kind: (_x = this._kind) !== null && _x !== void 0 ? _x : '',
6967
+ msg: `play error, error msg: ${error.message} -> id: ${(_y = evt.target) === null || _y === void 0 ? void 0 : _y.id}, trackId: ${this._id}`,
6968
6968
  }));
6969
6969
  }
6970
6970
  });
@@ -14816,7 +14816,7 @@ const getCommonHeader$1 = () => ({
14816
14816
  'Content-Type': 'application/json;charset=UTF-8',
14817
14817
  'Cache-Control': 'no-cache',
14818
14818
  ClientType: `web|${browserInfo.browser}|${browserInfo.version}`,
14819
- ClientVersion: "5.6.5-beem",
14819
+ ClientVersion: "5.6.6-beem-alpha.2",
14820
14820
  'Client-Session-Id': getUUID(),
14821
14821
  'Request-Id': Date.now().toString(),
14822
14822
  });
@@ -15401,7 +15401,7 @@ const getCommonHeader = () => ({
15401
15401
  'Content-Type': 'application/json;charset=UTF-8',
15402
15402
  'Cache-Control': 'no-cache',
15403
15403
  ClientType: `web|${browserInfo.browser}|${browserInfo.version}`,
15404
- ClientVersion: "5.6.5-beem",
15404
+ ClientVersion: "5.6.6-beem-alpha.2",
15405
15405
  'Client-Session-Id': getUUID(),
15406
15406
  'Request-Id': Date.now().toString(),
15407
15407
  });
@@ -18693,7 +18693,7 @@ class PolarisReporter {
18693
18693
  * 加入房间
18694
18694
  */
18695
18695
  sendR1() {
18696
- const rtcVersion = "5.6.5-beem";
18696
+ const rtcVersion = "5.6.6-beem-alpha.2";
18697
18697
  const imVersion = this._context.getCoreVersion();
18698
18698
  const platform = 'web';
18699
18699
  const pcName = navigator.platform;
@@ -18843,7 +18843,7 @@ class PolarisHttpReporter {
18843
18843
  _formatR1Data() {
18844
18844
  return {
18845
18845
  joinTime: this._context.userJoinTime || 0,
18846
- rtcVersion: "5.6.5-beem",
18846
+ rtcVersion: "5.6.6-beem-alpha.2",
18847
18847
  imVersion: this._context.getCoreVersion(),
18848
18848
  platform: 'web',
18849
18849
  device: navigator.platform,
@@ -20144,12 +20144,13 @@ class ExchangeCommand extends BaseCommand {
20144
20144
  }
20145
20145
 
20146
20146
  class UpdateSubscribeListCommand extends BaseCommand {
20147
- constructor(tracks, subhook, forceReq, traceId) {
20147
+ constructor(tracks, subhook, forceReq, traceId, reTry = 0) {
20148
20148
  super();
20149
20149
  this.tracks = tracks;
20150
20150
  this.subhook = subhook;
20151
20151
  this.forceReq = forceReq;
20152
20152
  this.traceId = traceId;
20153
+ this.reTry = reTry;
20153
20154
  }
20154
20155
  get kind() {
20155
20156
  return RCCommandKind.UPDATE_SUBSCRIBE_LIST;
@@ -20157,7 +20158,7 @@ class UpdateSubscribeListCommand extends BaseCommand {
20157
20158
  execute(store, invoker) {
20158
20159
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
20159
20160
  return __awaiter(this, void 0, void 0, function* () {
20160
- const { tracks, forceReq } = this;
20161
+ const { tracks, forceReq, reTry } = this;
20161
20162
  const { roomId } = store;
20162
20163
  (_b = (_a = store.context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.info(RCLoggerTag.L_UPDATE_SUBSCRIBELIST_COMMAND_T, `roomId: ${roomId}, forceReq: ${forceReq}, trackIds: ${tracks.map(getTrackIdFromAttr)}`, this.traceId);
20163
20164
  if (!engine.validate('tracks', tracks, () => engine.isArray(tracks) && tracks.every((res) => res instanceof RCRemoteTrack || res.track instanceof RCRemoteTrack), true)) {
@@ -20233,6 +20234,7 @@ class UpdateSubscribeListCommand extends BaseCommand {
20233
20234
  * 直播房间需携带 pushOtherRooms 信息
20234
20235
  */
20235
20236
  pushOtherRooms && (reqBody.pushOtherRooms = pushOtherRooms);
20237
+ // TODO: 订阅失败重试
20236
20238
  const result = yield new ExchangeCommand(headers, reqBody, this.traceId, true).execute(store, invoker);
20237
20239
  attrs.map((item) => item.track.getTrackId());
20238
20240
  if (result.code !== exports.RCRTCCode.SUCCESS) {
@@ -20243,7 +20245,7 @@ class UpdateSubscribeListCommand extends BaseCommand {
20243
20245
  }), this.traceId);
20244
20246
  return { code: result.code };
20245
20247
  }
20246
- const { sdp: answer, resultCode, message, subscribedList, } = result.data;
20248
+ const { sdp: answer, resultCode, message, subscribedList, subscribeErrorList, } = result.data;
20247
20249
  if (resultCode !== exports.RCRTCCode.SUCCESS) {
20248
20250
  reportQualitySubscribeAndUnsubscribeData(attrs, resultCode);
20249
20251
  (_m = (_l = store.context) === null || _l === void 0 ? void 0 : _l.logger) === null || _m === void 0 ? void 0 : _m.error(RCLoggerTag.L_UPDATE_SUBSCRIBELIST_COMMAND_R, JSON.stringify({
@@ -20252,6 +20254,12 @@ class UpdateSubscribeListCommand extends BaseCommand {
20252
20254
  }), this.traceId);
20253
20255
  return { code: resultCode };
20254
20256
  }
20257
+ if (subscribeErrorList
20258
+ && subscribeErrorList.length > 0
20259
+ && reTry > 0
20260
+ && subscribeErrorList.some((item) => item.IsRetry)) {
20261
+ return new UpdateSubscribeListCommand(this.tracks, this.subhook, true, this.traceId, reTry - 1).execute(store, invoker);
20262
+ }
20255
20263
  const resCode = yield pc.setRemoteAnswer(answer.sdp);
20256
20264
  if (resCode !== exports.RCRTCCode.SUCCESS) {
20257
20265
  // 连通率相关埋点-订阅日志上报
@@ -20268,9 +20276,13 @@ class UpdateSubscribeListCommand extends BaseCommand {
20268
20276
  },
20269
20277
  });
20270
20278
  // 获取真正订阅成功的资源
20271
- const subSuccessTrackIds = subscribedList === null || subscribedList === void 0 ? void 0 : subscribedList.map((item) => `${item.msid}_${item.mediaType}`);
20272
- const subSuccessList = attrs.filter((item) => subSuccessTrackIds === null || subSuccessTrackIds === void 0 ? void 0 : subSuccessTrackIds.includes(item.track.getTrackId()));
20273
- const failedList = attrs.filter((item) => !(subSuccessTrackIds === null || subSuccessTrackIds === void 0 ? void 0 : subSuccessTrackIds.includes(item.track.getTrackId())));
20279
+ // const subSuccessTrackIds = subscribedList?.map((item) => `${item.msid}_${item.mediaType}`);
20280
+ // const subSuccessList = attrs.filter((item) => subSuccessTrackIds?.includes(item.track.getTrackId()));
20281
+ // const failedList = attrs.filter((item) => !subSuccessTrackIds?.includes(item.track.getTrackId()));
20282
+ const subFailedTrackIds = subscribeErrorList === null || subscribeErrorList === void 0 ? void 0 : subscribeErrorList.map((item) => `${item.msid}_${item.mediaType}`);
20283
+ const subSuccessList = attrs.filter((item) => !(subFailedTrackIds === null || subFailedTrackIds === void 0 ? void 0 : subFailedTrackIds.includes(item.track.getTrackId())));
20284
+ const failedList = attrs.filter((item) => subFailedTrackIds === null || subFailedTrackIds === void 0 ? void 0 : subFailedTrackIds.includes(item.track.getTrackId()));
20285
+ const subSuccessTrackIds = subSuccessList === null || subSuccessList === void 0 ? void 0 : subSuccessList.map((item) => item.track.getTrackId());
20274
20286
  (_p = (_o = store.context) === null || _o === void 0 ? void 0 : _o.logger) === null || _p === void 0 ? void 0 : _p.info(RCLoggerTag.L_ABSTRACT_ROOM_SUBSCRIBE_R, JSON.stringify({
20275
20287
  status: RCLoggerStatus.SUCCESSED,
20276
20288
  subSuccessTrackIds,
@@ -20321,7 +20333,7 @@ class UnsubscribeCommand extends BaseCommand {
20321
20333
  // 北极星上报
20322
20334
  store.polarisReport.sendR2(R2Action.SUBSCRIBE, R2Status.END, tracks.map((item) => item.getTrackId()));
20323
20335
  recordUnsubscribeCommand(true);
20324
- return new UpdateSubscribeListCommand(crtSubList, this.subhook, false, this.traceId).execute(store, invoker);
20336
+ return new UpdateSubscribeListCommand(crtSubList, this.subhook, false, this.traceId, 2).execute(store, invoker);
20325
20337
  });
20326
20338
  }
20327
20339
  }
@@ -20382,6 +20394,8 @@ function createExchangeParams(subscribeList, iceRestart, pc, store) {
20382
20394
  })),
20383
20395
  switchstream: false,
20384
20396
  // switchstream: !!this._initOptions.autoSwitchStream
20397
+ // 标识客户端处理能力,当前值 1,表示处理订阅错误列表能力。
20398
+ capabilityVersion: 1,
20385
20399
  };
20386
20400
  return reqBody;
20387
20401
  });
@@ -20848,7 +20862,7 @@ class ParseRemoteResCommand extends BaseCommand {
20848
20862
  // 重新订阅二次发布资源
20849
20863
  if (subedTracks.length) {
20850
20864
  const trackIds = subedTracks.map((item) => item.getTrackId());
20851
- const { code } = yield new UpdateSubscribeListCommand(subedTracks, this.subhook, true, this.traceId).execute(store, invoker);
20865
+ const { code } = yield new UpdateSubscribeListCommand(subedTracks, this.subhook, true, this.traceId, 2).execute(store, invoker);
20852
20866
  if (code !== exports.RCRTCCode.SUCCESS) {
20853
20867
  (_b = (_a = store.context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.error(RCLoggerTag.L_RESUB_REPUB_RES_R, JSON.stringify({
20854
20868
  status: RCLoggerStatus.FAILED,
@@ -20968,7 +20982,7 @@ class SubscribeCommand extends BaseCommand {
20968
20982
  // 北极星上报
20969
20983
  store.polarisReport.sendR2(R2Action.SUBSCRIBE, R2Status.BEGIN, R2TrackIds);
20970
20984
  recordSubscribeCommand(true);
20971
- return new UpdateSubscribeListCommand(crtSubList, this.subhook, true, this.traceId).execute(store, invoker);
20985
+ return new UpdateSubscribeListCommand(crtSubList, this.subhook, true, this.traceId, 2).execute(store, invoker);
20972
20986
  });
20973
20987
  }
20974
20988
  }
@@ -21810,7 +21824,7 @@ class AsyncUpdateSubscribeListCommand extends AsyncCommand {
21810
21824
  if (this.state === RCLinkedListPoint.NORMAL) {
21811
21825
  // 获取原订阅列表
21812
21826
  const originTracks = store.getSubscribedList().slice();
21813
- const { code: updateSuscribeCode, failedList } = yield new UpdateSubscribeListCommand(tracks, this.subhook, true, this.traceId).execute(store, invoker);
21827
+ const { code: updateSuscribeCode, failedList } = yield new UpdateSubscribeListCommand(tracks, this.subhook, true, this.traceId, 2).execute(store, invoker);
21814
21828
  // 获取新的订阅列表
21815
21829
  const subscribedTracks = store.getSubscribedList().slice();
21816
21830
  // 计算订阅列表 Diff
@@ -22980,7 +22994,7 @@ class RCAbstractRoom extends engine.EventEmitter {
22980
22994
  updateSubList(tracks) {
22981
22995
  var _a, _b;
22982
22996
  return __awaiter(this, void 0, void 0, function* () {
22983
- return this._invoker.push(new UpdateSubscribeListCommand(tracks, this._subhook.bind(this), true, (_b = (_a = this._context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.createTraceId()));
22997
+ return this._invoker.push(new UpdateSubscribeListCommand(tracks, this._subhook.bind(this), true, (_b = (_a = this._context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.createTraceId(), 2));
22984
22998
  });
22985
22999
  }
22986
23000
  /**
@@ -26112,7 +26126,7 @@ class RCAudienceLivingRoom {
26112
26126
  var _a;
26113
26127
  const { reqBody } = yield this._createSubscribeParams(this._subscribedList, {}, true);
26114
26128
  // 发送 /exchange 请求
26115
- const resp = yield this._exchangeHandle(reqBody);
26129
+ const resp = yield this._exchangeHandle(reqBody, 2);
26116
26130
  if (resp.code !== exports.RCRTCCode.SUCCESS) {
26117
26131
  return { code: resp.code };
26118
26132
  }
@@ -26287,8 +26301,20 @@ class RCAudienceLivingRoom {
26287
26301
  // 直播观众端 RoomId 与 UserId 保持一致
26288
26302
  return Object.assign({ 'App-Key': this._context.getAppkey(), RoomId: userId, Token: this._joinResData.token, RoomType: RTCMode.LIVE, UserId: userId, 'Session-Id': this._sessionId, 'Client-Session-Id': this._clientSessionId }, peerConnectionId);
26289
26303
  }
26290
- _exchangeHandle(body) {
26291
- return this._service.broadcastSubscribe(this._getReqHeaders(), body);
26304
+ _exchangeHandle(body, reTry = 0) {
26305
+ var _a;
26306
+ return __awaiter(this, void 0, void 0, function* () {
26307
+ Object.assign(Object.assign({}, this._getReqHeaders()), { capabilityVersion: 1 });
26308
+ const res = yield this._service.broadcastSubscribe(this._getReqHeaders(), body);
26309
+ const subscribeErrorList = (_a = res.data) === null || _a === void 0 ? void 0 : _a.subscribeErrorList;
26310
+ if (subscribeErrorList
26311
+ && subscribeErrorList.length > 0
26312
+ && reTry > 0
26313
+ && subscribeErrorList.some((item) => item.IsRetry)) {
26314
+ return this._exchangeHandle(body, reTry - 1);
26315
+ }
26316
+ return res;
26317
+ });
26292
26318
  }
26293
26319
  _updateSubListHandle(tracks, forceReq = false, traceId) {
26294
26320
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
@@ -26346,7 +26372,7 @@ class RCAudienceLivingRoom {
26346
26372
  recordQualityUnsubscribeData(this._roomId, this._clientSessionId, this._sessionId);
26347
26373
  // MediaServer 交互
26348
26374
  const { reqBody } = yield this._createSubscribeParams(attrs, {}, false);
26349
- const result = yield this._exchangeHandle(reqBody);
26375
+ const result = yield this._exchangeHandle(reqBody, 2);
26350
26376
  if (crtSubList.length) {
26351
26377
  // 取消订阅时,清除 parseRTCReport 模块中存储的数据
26352
26378
  const resourceIds = [];
@@ -26363,7 +26389,7 @@ class RCAudienceLivingRoom {
26363
26389
  }), traceId);
26364
26390
  return { code: result.code };
26365
26391
  }
26366
- const { sdp: answer, resultCode, message, subscribedList, } = result.data;
26392
+ const { sdp: answer, resultCode, message, subscribedList, subscribeErrorList, } = result.data;
26367
26393
  if (resultCode !== exports.RCRTCCode.SUCCESS) {
26368
26394
  reportQualitySubscribeAndUnsubscribeData(attrs, resultCode);
26369
26395
  (_h = (_g = this._context) === null || _g === void 0 ? void 0 : _g.logger) === null || _h === void 0 ? void 0 : _h.error(RCLoggerTag.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R, JSON.stringify({
@@ -26395,17 +26421,28 @@ class RCAudienceLivingRoom {
26395
26421
  }
26396
26422
  reportQualitySubscribeAndUnsubscribeData(attrs, resCode);
26397
26423
  // 获取真正订阅成功的资源
26398
- const subSuccessTrackIds = subscribedList === null || subscribedList === void 0 ? void 0 : subscribedList.map((item) => `${item.msid}_${item.mediaType}`);
26424
+ // const subSuccessTrackIds = subscribedList?.map((item) => `${item.msid}_${item.mediaType}`);
26425
+ // const subSuccessList = attrs.filter((item) => {
26426
+ // if (item.track.isMCUTrack()) {
26427
+ // const serverTrackInfo = this._roomRes[item.track.getTrackId()];
26428
+ // const sdpResourceId = `${serverTrackInfo.msid}_${serverTrackInfo.mediaType}`;
26429
+ // return subSuccessTrackIds.includes(sdpResourceId);
26430
+ // }
26431
+ // return subSuccessTrackIds?.includes(item.track.getTrackId());
26432
+ // });
26433
+ // const afterReplaceTrackIds = subSuccessList?.map((item) => `${item.track.getTrackId()}`);
26434
+ // const failedList = attrs.filter((item) => !afterReplaceTrackIds?.includes(item.track.getTrackId()));
26435
+ const subFailedTrackIds = (subscribeErrorList === null || subscribeErrorList === void 0 ? void 0 : subscribeErrorList.map((item) => `${item.msid}_${item.mediaType}`)) || [];
26399
26436
  const subSuccessList = attrs.filter((item) => {
26400
26437
  if (item.track.isMCUTrack()) {
26401
26438
  const serverTrackInfo = this._roomRes[item.track.getTrackId()];
26402
26439
  const sdpResourceId = `${serverTrackInfo.msid}_${serverTrackInfo.mediaType}`;
26403
- return subSuccessTrackIds.includes(sdpResourceId);
26440
+ return !subFailedTrackIds.includes(sdpResourceId);
26404
26441
  }
26405
- return subSuccessTrackIds === null || subSuccessTrackIds === void 0 ? void 0 : subSuccessTrackIds.includes(item.track.getTrackId());
26442
+ return !(subFailedTrackIds === null || subFailedTrackIds === void 0 ? void 0 : subFailedTrackIds.includes(item.track.getTrackId()));
26406
26443
  });
26407
- const afterReplaceTrackIds = subSuccessList === null || subSuccessList === void 0 ? void 0 : subSuccessList.map((item) => `${item.track.getTrackId()}`);
26408
- const failedList = attrs.filter((item) => !(afterReplaceTrackIds === null || afterReplaceTrackIds === void 0 ? void 0 : afterReplaceTrackIds.includes(item.track.getTrackId())));
26444
+ const failedList = attrs.filter((item) => subFailedTrackIds === null || subFailedTrackIds === void 0 ? void 0 : subFailedTrackIds.includes(item.track.getTrackId()));
26445
+ const subSuccessTrackIds = subSuccessList === null || subSuccessList === void 0 ? void 0 : subSuccessList.map((item) => item.track.getTrackId());
26409
26446
  // 更新 remoteTrack.isSubscribed
26410
26447
  for (const trackId in this._remoteTracks) {
26411
26448
  const subed = subSuccessList.some((item) => item.track.getTrackId() === trackId);
@@ -28044,7 +28081,7 @@ class RCRTCClient extends RCMediaStreamCapture {
28044
28081
  }
28045
28082
  reportSDKInfo() {
28046
28083
  this._context.reportSDKInfo({
28047
- 'plugin-rtc': "5.6.5-beem",
28084
+ 'plugin-rtc': "5.6.6-beem-alpha.2",
28048
28085
  });
28049
28086
  }
28050
28087
  }
@@ -29037,7 +29074,7 @@ const installer = {
29037
29074
  console.error('Please use the https protocol or use `http://localhost` to open the page!');
29038
29075
  return false;
29039
29076
  }
29040
- engine.VersionManage.add('plugin-rtc', "5.6.5-beem");
29077
+ engine.VersionManage.add('plugin-rtc', "5.6.6-beem-alpha.2");
29041
29078
  if (!engine.VersionManage.validEngine("^5.6.0")) {
29042
29079
  console.error(`The current engine version '${engine.VersionManage.getInfo().engine}' error, plugin-rtc required engine version at least '${"^5.6.0"}'.`);
29043
29080
  return false;
@@ -29051,8 +29088,8 @@ const installer = {
29051
29088
  RTCLogger.setLogger(originLogger);
29052
29089
  logger.setLogger(originLogger);
29053
29090
  originLogger.warn(RCLoggerTag.L_INDEX_INSTALL_RTC_PLUGIN_O, JSON.stringify({
29054
- 'RCRTC Version': "5.6.5-beem",
29055
- Commit: "6bae08310b35cf5ec94005dfbf39555ce874cd7c",
29091
+ 'RCRTC Version': "5.6.6-beem-alpha.2",
29092
+ Commit: "a1dff2135dffdf1e99f50dccb01d304fd4c661cd",
29056
29093
  'browserInfo.browser': browserInfo.browser,
29057
29094
  'browserInfo.supportsUnifiedPlan': browserInfo.supportsUnifiedPlan,
29058
29095
  'browserInfo.version': browserInfo.version,
package/dist/index.umd.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
- * RCRTC - v5.6.5-beem
3
- * CommitId - 6bae08310b35cf5ec94005dfbf39555ce874cd7c
4
- * Fri Dec 09 2022 10:16:58 GMT+0800 (China Standard Time)
2
+ * RCRTC - v5.6.6-beem-alpha.2
3
+ * CommitId - a1dff2135dffdf1e99f50dccb01d304fd4c661cd
4
+ * Thu Dec 15 2022 16:13:38 GMT+0800 (China Standard Time)
5
5
  * ©2020 RongCloud, Inc. All rights reserved.
6
6
  */
7
7
  (function (global, factory) {
@@ -6934,7 +6934,7 @@
6934
6934
  }));
6935
6935
  };
6936
6936
  this._element.oncanplay = (evt) => __awaiter(this, void 0, void 0, function* () {
6937
- var _p, _q, _r, _s, _t, _u, _v, _w;
6937
+ var _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
6938
6938
  // 可以播放
6939
6939
  (_p = this._logger) === null || _p === void 0 ? void 0 : _p.info(RCLoggerTag.L_TRACK_CANPLAY_O, JSON.stringify({
6940
6940
  status: RCLoggerStatus.INFO,
@@ -6956,15 +6956,15 @@
6956
6956
  status: RCLoggerStatus.FAILED,
6957
6957
  kind: (_u = this._kind) !== null && _u !== void 0 ? _u : '',
6958
6958
  code: exports.RCRTCCode.NO_PERMISSION_TO_USE_REQUESTED_DEVICE,
6959
- msg: `setSinkId failed, error msg: ${error.message}`,
6959
+ msg: `setSinkId failed, error msg: ${error.message} -> id: ${(_v = evt.target) === null || _v === void 0 ? void 0 : _v.id}, trackId: ${this._id}`,
6960
6960
  }));
6961
6961
  return;
6962
6962
  }
6963
- (_v = this._logger) === null || _v === void 0 ? void 0 : _v.error(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
6963
+ (_w = this._logger) === null || _w === void 0 ? void 0 : _w.error(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
6964
6964
  status: RCLoggerStatus.FAILED,
6965
6965
  code: exports.RCRTCCode.TRACK_PLAY_ERROR,
6966
- kind: (_w = this._kind) !== null && _w !== void 0 ? _w : '',
6967
- msg: `play error, error msg: ${error.message}`,
6966
+ kind: (_x = this._kind) !== null && _x !== void 0 ? _x : '',
6967
+ msg: `play error, error msg: ${error.message} -> id: ${(_y = evt.target) === null || _y === void 0 ? void 0 : _y.id}, trackId: ${this._id}`,
6968
6968
  }));
6969
6969
  }
6970
6970
  });
@@ -14816,7 +14816,7 @@
14816
14816
  'Content-Type': 'application/json;charset=UTF-8',
14817
14817
  'Cache-Control': 'no-cache',
14818
14818
  ClientType: `web|${browserInfo.browser}|${browserInfo.version}`,
14819
- ClientVersion: "5.6.5-beem",
14819
+ ClientVersion: "5.6.6-beem-alpha.2",
14820
14820
  'Client-Session-Id': getUUID(),
14821
14821
  'Request-Id': Date.now().toString(),
14822
14822
  });
@@ -15401,7 +15401,7 @@
15401
15401
  'Content-Type': 'application/json;charset=UTF-8',
15402
15402
  'Cache-Control': 'no-cache',
15403
15403
  ClientType: `web|${browserInfo.browser}|${browserInfo.version}`,
15404
- ClientVersion: "5.6.5-beem",
15404
+ ClientVersion: "5.6.6-beem-alpha.2",
15405
15405
  'Client-Session-Id': getUUID(),
15406
15406
  'Request-Id': Date.now().toString(),
15407
15407
  });
@@ -18693,7 +18693,7 @@
18693
18693
  * 加入房间
18694
18694
  */
18695
18695
  sendR1() {
18696
- const rtcVersion = "5.6.5-beem";
18696
+ const rtcVersion = "5.6.6-beem-alpha.2";
18697
18697
  const imVersion = this._context.getCoreVersion();
18698
18698
  const platform = 'web';
18699
18699
  const pcName = navigator.platform;
@@ -18843,7 +18843,7 @@
18843
18843
  _formatR1Data() {
18844
18844
  return {
18845
18845
  joinTime: this._context.userJoinTime || 0,
18846
- rtcVersion: "5.6.5-beem",
18846
+ rtcVersion: "5.6.6-beem-alpha.2",
18847
18847
  imVersion: this._context.getCoreVersion(),
18848
18848
  platform: 'web',
18849
18849
  device: navigator.platform,
@@ -20144,12 +20144,13 @@
20144
20144
  }
20145
20145
 
20146
20146
  class UpdateSubscribeListCommand extends BaseCommand {
20147
- constructor(tracks, subhook, forceReq, traceId) {
20147
+ constructor(tracks, subhook, forceReq, traceId, reTry = 0) {
20148
20148
  super();
20149
20149
  this.tracks = tracks;
20150
20150
  this.subhook = subhook;
20151
20151
  this.forceReq = forceReq;
20152
20152
  this.traceId = traceId;
20153
+ this.reTry = reTry;
20153
20154
  }
20154
20155
  get kind() {
20155
20156
  return RCCommandKind.UPDATE_SUBSCRIBE_LIST;
@@ -20157,7 +20158,7 @@
20157
20158
  execute(store, invoker) {
20158
20159
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
20159
20160
  return __awaiter(this, void 0, void 0, function* () {
20160
- const { tracks, forceReq } = this;
20161
+ const { tracks, forceReq, reTry } = this;
20161
20162
  const { roomId } = store;
20162
20163
  (_b = (_a = store.context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.info(RCLoggerTag.L_UPDATE_SUBSCRIBELIST_COMMAND_T, `roomId: ${roomId}, forceReq: ${forceReq}, trackIds: ${tracks.map(getTrackIdFromAttr)}`, this.traceId);
20163
20164
  if (!engine.validate('tracks', tracks, () => engine.isArray(tracks) && tracks.every((res) => res instanceof RCRemoteTrack || res.track instanceof RCRemoteTrack), true)) {
@@ -20233,6 +20234,7 @@
20233
20234
  * 直播房间需携带 pushOtherRooms 信息
20234
20235
  */
20235
20236
  pushOtherRooms && (reqBody.pushOtherRooms = pushOtherRooms);
20237
+ // TODO: 订阅失败重试
20236
20238
  const result = yield new ExchangeCommand(headers, reqBody, this.traceId, true).execute(store, invoker);
20237
20239
  attrs.map((item) => item.track.getTrackId());
20238
20240
  if (result.code !== exports.RCRTCCode.SUCCESS) {
@@ -20243,7 +20245,7 @@
20243
20245
  }), this.traceId);
20244
20246
  return { code: result.code };
20245
20247
  }
20246
- const { sdp: answer, resultCode, message, subscribedList, } = result.data;
20248
+ const { sdp: answer, resultCode, message, subscribedList, subscribeErrorList, } = result.data;
20247
20249
  if (resultCode !== exports.RCRTCCode.SUCCESS) {
20248
20250
  reportQualitySubscribeAndUnsubscribeData(attrs, resultCode);
20249
20251
  (_m = (_l = store.context) === null || _l === void 0 ? void 0 : _l.logger) === null || _m === void 0 ? void 0 : _m.error(RCLoggerTag.L_UPDATE_SUBSCRIBELIST_COMMAND_R, JSON.stringify({
@@ -20252,6 +20254,12 @@
20252
20254
  }), this.traceId);
20253
20255
  return { code: resultCode };
20254
20256
  }
20257
+ if (subscribeErrorList
20258
+ && subscribeErrorList.length > 0
20259
+ && reTry > 0
20260
+ && subscribeErrorList.some((item) => item.IsRetry)) {
20261
+ return new UpdateSubscribeListCommand(this.tracks, this.subhook, true, this.traceId, reTry - 1).execute(store, invoker);
20262
+ }
20255
20263
  const resCode = yield pc.setRemoteAnswer(answer.sdp);
20256
20264
  if (resCode !== exports.RCRTCCode.SUCCESS) {
20257
20265
  // 连通率相关埋点-订阅日志上报
@@ -20268,9 +20276,13 @@
20268
20276
  },
20269
20277
  });
20270
20278
  // 获取真正订阅成功的资源
20271
- const subSuccessTrackIds = subscribedList === null || subscribedList === void 0 ? void 0 : subscribedList.map((item) => `${item.msid}_${item.mediaType}`);
20272
- const subSuccessList = attrs.filter((item) => subSuccessTrackIds === null || subSuccessTrackIds === void 0 ? void 0 : subSuccessTrackIds.includes(item.track.getTrackId()));
20273
- const failedList = attrs.filter((item) => !(subSuccessTrackIds === null || subSuccessTrackIds === void 0 ? void 0 : subSuccessTrackIds.includes(item.track.getTrackId())));
20279
+ // const subSuccessTrackIds = subscribedList?.map((item) => `${item.msid}_${item.mediaType}`);
20280
+ // const subSuccessList = attrs.filter((item) => subSuccessTrackIds?.includes(item.track.getTrackId()));
20281
+ // const failedList = attrs.filter((item) => !subSuccessTrackIds?.includes(item.track.getTrackId()));
20282
+ const subFailedTrackIds = subscribeErrorList === null || subscribeErrorList === void 0 ? void 0 : subscribeErrorList.map((item) => `${item.msid}_${item.mediaType}`);
20283
+ const subSuccessList = attrs.filter((item) => !(subFailedTrackIds === null || subFailedTrackIds === void 0 ? void 0 : subFailedTrackIds.includes(item.track.getTrackId())));
20284
+ const failedList = attrs.filter((item) => subFailedTrackIds === null || subFailedTrackIds === void 0 ? void 0 : subFailedTrackIds.includes(item.track.getTrackId()));
20285
+ const subSuccessTrackIds = subSuccessList === null || subSuccessList === void 0 ? void 0 : subSuccessList.map((item) => item.track.getTrackId());
20274
20286
  (_p = (_o = store.context) === null || _o === void 0 ? void 0 : _o.logger) === null || _p === void 0 ? void 0 : _p.info(RCLoggerTag.L_ABSTRACT_ROOM_SUBSCRIBE_R, JSON.stringify({
20275
20287
  status: RCLoggerStatus.SUCCESSED,
20276
20288
  subSuccessTrackIds,
@@ -20321,7 +20333,7 @@
20321
20333
  // 北极星上报
20322
20334
  store.polarisReport.sendR2(R2Action.SUBSCRIBE, R2Status.END, tracks.map((item) => item.getTrackId()));
20323
20335
  recordUnsubscribeCommand(true);
20324
- return new UpdateSubscribeListCommand(crtSubList, this.subhook, false, this.traceId).execute(store, invoker);
20336
+ return new UpdateSubscribeListCommand(crtSubList, this.subhook, false, this.traceId, 2).execute(store, invoker);
20325
20337
  });
20326
20338
  }
20327
20339
  }
@@ -20382,6 +20394,8 @@
20382
20394
  })),
20383
20395
  switchstream: false,
20384
20396
  // switchstream: !!this._initOptions.autoSwitchStream
20397
+ // 标识客户端处理能力,当前值 1,表示处理订阅错误列表能力。
20398
+ capabilityVersion: 1,
20385
20399
  };
20386
20400
  return reqBody;
20387
20401
  });
@@ -20848,7 +20862,7 @@
20848
20862
  // 重新订阅二次发布资源
20849
20863
  if (subedTracks.length) {
20850
20864
  const trackIds = subedTracks.map((item) => item.getTrackId());
20851
- const { code } = yield new UpdateSubscribeListCommand(subedTracks, this.subhook, true, this.traceId).execute(store, invoker);
20865
+ const { code } = yield new UpdateSubscribeListCommand(subedTracks, this.subhook, true, this.traceId, 2).execute(store, invoker);
20852
20866
  if (code !== exports.RCRTCCode.SUCCESS) {
20853
20867
  (_b = (_a = store.context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.error(RCLoggerTag.L_RESUB_REPUB_RES_R, JSON.stringify({
20854
20868
  status: RCLoggerStatus.FAILED,
@@ -20968,7 +20982,7 @@
20968
20982
  // 北极星上报
20969
20983
  store.polarisReport.sendR2(R2Action.SUBSCRIBE, R2Status.BEGIN, R2TrackIds);
20970
20984
  recordSubscribeCommand(true);
20971
- return new UpdateSubscribeListCommand(crtSubList, this.subhook, true, this.traceId).execute(store, invoker);
20985
+ return new UpdateSubscribeListCommand(crtSubList, this.subhook, true, this.traceId, 2).execute(store, invoker);
20972
20986
  });
20973
20987
  }
20974
20988
  }
@@ -21810,7 +21824,7 @@
21810
21824
  if (this.state === RCLinkedListPoint.NORMAL) {
21811
21825
  // 获取原订阅列表
21812
21826
  const originTracks = store.getSubscribedList().slice();
21813
- const { code: updateSuscribeCode, failedList } = yield new UpdateSubscribeListCommand(tracks, this.subhook, true, this.traceId).execute(store, invoker);
21827
+ const { code: updateSuscribeCode, failedList } = yield new UpdateSubscribeListCommand(tracks, this.subhook, true, this.traceId, 2).execute(store, invoker);
21814
21828
  // 获取新的订阅列表
21815
21829
  const subscribedTracks = store.getSubscribedList().slice();
21816
21830
  // 计算订阅列表 Diff
@@ -22980,7 +22994,7 @@
22980
22994
  updateSubList(tracks) {
22981
22995
  var _a, _b;
22982
22996
  return __awaiter(this, void 0, void 0, function* () {
22983
- return this._invoker.push(new UpdateSubscribeListCommand(tracks, this._subhook.bind(this), true, (_b = (_a = this._context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.createTraceId()));
22997
+ return this._invoker.push(new UpdateSubscribeListCommand(tracks, this._subhook.bind(this), true, (_b = (_a = this._context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.createTraceId(), 2));
22984
22998
  });
22985
22999
  }
22986
23000
  /**
@@ -26112,7 +26126,7 @@
26112
26126
  var _a;
26113
26127
  const { reqBody } = yield this._createSubscribeParams(this._subscribedList, {}, true);
26114
26128
  // 发送 /exchange 请求
26115
- const resp = yield this._exchangeHandle(reqBody);
26129
+ const resp = yield this._exchangeHandle(reqBody, 2);
26116
26130
  if (resp.code !== exports.RCRTCCode.SUCCESS) {
26117
26131
  return { code: resp.code };
26118
26132
  }
@@ -26287,8 +26301,20 @@
26287
26301
  // 直播观众端 RoomId 与 UserId 保持一致
26288
26302
  return Object.assign({ 'App-Key': this._context.getAppkey(), RoomId: userId, Token: this._joinResData.token, RoomType: RTCMode.LIVE, UserId: userId, 'Session-Id': this._sessionId, 'Client-Session-Id': this._clientSessionId }, peerConnectionId);
26289
26303
  }
26290
- _exchangeHandle(body) {
26291
- return this._service.broadcastSubscribe(this._getReqHeaders(), body);
26304
+ _exchangeHandle(body, reTry = 0) {
26305
+ var _a;
26306
+ return __awaiter(this, void 0, void 0, function* () {
26307
+ Object.assign(Object.assign({}, this._getReqHeaders()), { capabilityVersion: 1 });
26308
+ const res = yield this._service.broadcastSubscribe(this._getReqHeaders(), body);
26309
+ const subscribeErrorList = (_a = res.data) === null || _a === void 0 ? void 0 : _a.subscribeErrorList;
26310
+ if (subscribeErrorList
26311
+ && subscribeErrorList.length > 0
26312
+ && reTry > 0
26313
+ && subscribeErrorList.some((item) => item.IsRetry)) {
26314
+ return this._exchangeHandle(body, reTry - 1);
26315
+ }
26316
+ return res;
26317
+ });
26292
26318
  }
26293
26319
  _updateSubListHandle(tracks, forceReq = false, traceId) {
26294
26320
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
@@ -26346,7 +26372,7 @@
26346
26372
  recordQualityUnsubscribeData(this._roomId, this._clientSessionId, this._sessionId);
26347
26373
  // MediaServer 交互
26348
26374
  const { reqBody } = yield this._createSubscribeParams(attrs, {}, false);
26349
- const result = yield this._exchangeHandle(reqBody);
26375
+ const result = yield this._exchangeHandle(reqBody, 2);
26350
26376
  if (crtSubList.length) {
26351
26377
  // 取消订阅时,清除 parseRTCReport 模块中存储的数据
26352
26378
  const resourceIds = [];
@@ -26363,7 +26389,7 @@
26363
26389
  }), traceId);
26364
26390
  return { code: result.code };
26365
26391
  }
26366
- const { sdp: answer, resultCode, message, subscribedList, } = result.data;
26392
+ const { sdp: answer, resultCode, message, subscribedList, subscribeErrorList, } = result.data;
26367
26393
  if (resultCode !== exports.RCRTCCode.SUCCESS) {
26368
26394
  reportQualitySubscribeAndUnsubscribeData(attrs, resultCode);
26369
26395
  (_h = (_g = this._context) === null || _g === void 0 ? void 0 : _g.logger) === null || _h === void 0 ? void 0 : _h.error(RCLoggerTag.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R, JSON.stringify({
@@ -26395,17 +26421,28 @@
26395
26421
  }
26396
26422
  reportQualitySubscribeAndUnsubscribeData(attrs, resCode);
26397
26423
  // 获取真正订阅成功的资源
26398
- const subSuccessTrackIds = subscribedList === null || subscribedList === void 0 ? void 0 : subscribedList.map((item) => `${item.msid}_${item.mediaType}`);
26424
+ // const subSuccessTrackIds = subscribedList?.map((item) => `${item.msid}_${item.mediaType}`);
26425
+ // const subSuccessList = attrs.filter((item) => {
26426
+ // if (item.track.isMCUTrack()) {
26427
+ // const serverTrackInfo = this._roomRes[item.track.getTrackId()];
26428
+ // const sdpResourceId = `${serverTrackInfo.msid}_${serverTrackInfo.mediaType}`;
26429
+ // return subSuccessTrackIds.includes(sdpResourceId);
26430
+ // }
26431
+ // return subSuccessTrackIds?.includes(item.track.getTrackId());
26432
+ // });
26433
+ // const afterReplaceTrackIds = subSuccessList?.map((item) => `${item.track.getTrackId()}`);
26434
+ // const failedList = attrs.filter((item) => !afterReplaceTrackIds?.includes(item.track.getTrackId()));
26435
+ const subFailedTrackIds = (subscribeErrorList === null || subscribeErrorList === void 0 ? void 0 : subscribeErrorList.map((item) => `${item.msid}_${item.mediaType}`)) || [];
26399
26436
  const subSuccessList = attrs.filter((item) => {
26400
26437
  if (item.track.isMCUTrack()) {
26401
26438
  const serverTrackInfo = this._roomRes[item.track.getTrackId()];
26402
26439
  const sdpResourceId = `${serverTrackInfo.msid}_${serverTrackInfo.mediaType}`;
26403
- return subSuccessTrackIds.includes(sdpResourceId);
26440
+ return !subFailedTrackIds.includes(sdpResourceId);
26404
26441
  }
26405
- return subSuccessTrackIds === null || subSuccessTrackIds === void 0 ? void 0 : subSuccessTrackIds.includes(item.track.getTrackId());
26442
+ return !(subFailedTrackIds === null || subFailedTrackIds === void 0 ? void 0 : subFailedTrackIds.includes(item.track.getTrackId()));
26406
26443
  });
26407
- const afterReplaceTrackIds = subSuccessList === null || subSuccessList === void 0 ? void 0 : subSuccessList.map((item) => `${item.track.getTrackId()}`);
26408
- const failedList = attrs.filter((item) => !(afterReplaceTrackIds === null || afterReplaceTrackIds === void 0 ? void 0 : afterReplaceTrackIds.includes(item.track.getTrackId())));
26444
+ const failedList = attrs.filter((item) => subFailedTrackIds === null || subFailedTrackIds === void 0 ? void 0 : subFailedTrackIds.includes(item.track.getTrackId()));
26445
+ const subSuccessTrackIds = subSuccessList === null || subSuccessList === void 0 ? void 0 : subSuccessList.map((item) => item.track.getTrackId());
26409
26446
  // 更新 remoteTrack.isSubscribed
26410
26447
  for (const trackId in this._remoteTracks) {
26411
26448
  const subed = subSuccessList.some((item) => item.track.getTrackId() === trackId);
@@ -28044,7 +28081,7 @@
28044
28081
  }
28045
28082
  reportSDKInfo() {
28046
28083
  this._context.reportSDKInfo({
28047
- 'plugin-rtc': "5.6.5-beem",
28084
+ 'plugin-rtc': "5.6.6-beem-alpha.2",
28048
28085
  });
28049
28086
  }
28050
28087
  }
@@ -29037,7 +29074,7 @@ message probuf {
29037
29074
  console.error('Please use the https protocol or use `http://localhost` to open the page!');
29038
29075
  return false;
29039
29076
  }
29040
- engine.VersionManage.add('plugin-rtc', "5.6.5-beem");
29077
+ engine.VersionManage.add('plugin-rtc', "5.6.6-beem-alpha.2");
29041
29078
  if (!engine.VersionManage.validEngine("^5.6.0")) {
29042
29079
  console.error(`The current engine version '${engine.VersionManage.getInfo().engine}' error, plugin-rtc required engine version at least '${"^5.6.0"}'.`);
29043
29080
  return false;
@@ -29051,8 +29088,8 @@ message probuf {
29051
29088
  RTCLogger.setLogger(originLogger);
29052
29089
  logger.setLogger(originLogger);
29053
29090
  originLogger.warn(RCLoggerTag.L_INDEX_INSTALL_RTC_PLUGIN_O, JSON.stringify({
29054
- 'RCRTC Version': "5.6.5-beem",
29055
- Commit: "6bae08310b35cf5ec94005dfbf39555ce874cd7c",
29091
+ 'RCRTC Version': "5.6.6-beem-alpha.2",
29092
+ Commit: "a1dff2135dffdf1e99f50dccb01d304fd4c661cd",
29056
29093
  'browserInfo.browser': browserInfo.browser,
29057
29094
  'browserInfo.supportsUnifiedPlan': browserInfo.supportsUnifiedPlan,
29058
29095
  'browserInfo.version': browserInfo.version,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rongcloud/plugin-rtc",
3
- "version": "5.6.5-beem",
3
+ "version": "5.6.6-beem-alpha.2",
4
4
  "description": "@rongcloud/plugin-rtc",
5
5
  "main": "./dist/index.js",
6
6
  "__attrs__": {
@@ -33,5 +33,5 @@
33
33
  "peerDependencies": {
34
34
  "@rongcloud/engine": "^5.6.0"
35
35
  },
36
- "__commit__": "6bae08310b35cf5ec94005dfbf39555ce874cd7c"
36
+ "__commit__": "a1dff2135dffdf1e99f50dccb01d304fd4c661cd"
37
37
  }