@rongcloud/plugin-rtc 5.6.3-alpha.7 → 5.6.4-alpha.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.d.ts +3 -3
- package/dist/index.esm.js +127 -112
- package/dist/index.js +127 -112
- package/dist/index.umd.js +127 -112
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* RCRTC - v5.6.
|
|
3
|
-
* CommitId -
|
|
4
|
-
* Fri Nov
|
|
2
|
+
* RCRTC - v5.6.4-alpha.1
|
|
3
|
+
* CommitId - 568df307dd985346dd4af574ecc9b4e5577ecd59
|
|
4
|
+
* Fri Nov 25 2022 18:55:25 GMT+0800 (中国标准时间)
|
|
5
5
|
* ©2020 RongCloud, Inc. All rights reserved.
|
|
6
6
|
*/
|
|
7
7
|
'use strict';
|
|
@@ -6804,30 +6804,33 @@ class RCTrack extends engine.EventEmitter {
|
|
|
6804
6804
|
* @param volume 有效值为 0-100
|
|
6805
6805
|
*/
|
|
6806
6806
|
play(element, options) {
|
|
6807
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
6807
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
6808
6808
|
return __awaiter(this, void 0, void 0, function* () {
|
|
6809
6809
|
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.info(RCLoggerTag.L_TRACK_PLAY_O, JSON.stringify({
|
|
6810
6810
|
element,
|
|
6811
6811
|
options,
|
|
6812
|
+
kind: (_b = this._kind) !== null && _b !== void 0 ? _b : '',
|
|
6812
6813
|
msg: `start play trackId: ${this._id}`,
|
|
6813
6814
|
}));
|
|
6814
6815
|
if (!this._msTrack) {
|
|
6815
|
-
(
|
|
6816
|
+
(_c = this._logger) === null || _c === void 0 ? void 0 : _c.error(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
|
|
6816
6817
|
status: RCLoggerStatus.FAILED,
|
|
6817
6818
|
code: exports.RCRTCCode.TRACK_NOT_READY,
|
|
6819
|
+
kind: (_d = this._kind) !== null && _d !== void 0 ? _d : '',
|
|
6818
6820
|
msg: `the track is not ready to play -> id: ${this._id}`,
|
|
6819
6821
|
}));
|
|
6820
6822
|
return { code: exports.RCRTCCode.TRACK_NOT_READY };
|
|
6821
6823
|
}
|
|
6822
6824
|
if (this._msTrack.readyState === 'ended') {
|
|
6823
|
-
(
|
|
6825
|
+
(_e = this._logger) === null || _e === void 0 ? void 0 : _e.error(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
|
|
6824
6826
|
status: RCLoggerStatus.FAILED,
|
|
6827
|
+
kind: (_f = this._kind) !== null && _f !== void 0 ? _f : '',
|
|
6825
6828
|
msg: `the track's readyState is ended -> id: ${this._id}`,
|
|
6826
6829
|
}));
|
|
6827
6830
|
}
|
|
6828
6831
|
if (options === null || options === void 0 ? void 0 : options.volume) {
|
|
6829
6832
|
if (!engine.isNumber(options === null || options === void 0 ? void 0 : options.volume)) {
|
|
6830
|
-
(
|
|
6833
|
+
(_g = this._logger) === null || _g === void 0 ? void 0 : _g.error(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
|
|
6831
6834
|
status: RCLoggerStatus.FAILED,
|
|
6832
6835
|
code: exports.RCRTCCode.PARAMS_ERROR,
|
|
6833
6836
|
msg: 'params error -> options.volume not a number',
|
|
@@ -6836,7 +6839,7 @@ class RCTrack extends engine.EventEmitter {
|
|
|
6836
6839
|
}
|
|
6837
6840
|
if ((options === null || options === void 0 ? void 0 : options.volume) < 0) {
|
|
6838
6841
|
options.volume = 0;
|
|
6839
|
-
(
|
|
6842
|
+
(_h = this._logger) === null || _h === void 0 ? void 0 : _h.warn(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
|
|
6840
6843
|
status: RCLoggerStatus.FAILED,
|
|
6841
6844
|
msg: 'params error -> options.volume < 0',
|
|
6842
6845
|
tips: 'the valid range of options.volume is 0-100, the value of volume has been set 0',
|
|
@@ -6844,7 +6847,7 @@ class RCTrack extends engine.EventEmitter {
|
|
|
6844
6847
|
}
|
|
6845
6848
|
if ((options === null || options === void 0 ? void 0 : options.volume) > 100) {
|
|
6846
6849
|
options.volume = 100;
|
|
6847
|
-
(
|
|
6850
|
+
(_j = this._logger) === null || _j === void 0 ? void 0 : _j.warn(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
|
|
6848
6851
|
status: RCLoggerStatus.FAILED,
|
|
6849
6852
|
msg: 'params error -> options.volume > 100',
|
|
6850
6853
|
tips: 'the valid range of options.volume is 0-100, the value of volume has been set 100',
|
|
@@ -6858,7 +6861,7 @@ class RCTrack extends engine.EventEmitter {
|
|
|
6858
6861
|
const deviceIds = (yield device.getSpeakers()).map((item) => item.deviceId);
|
|
6859
6862
|
const isValid = deviceIds.includes(options.audioDeviceId);
|
|
6860
6863
|
if (!isValid) {
|
|
6861
|
-
(
|
|
6864
|
+
(_k = this._logger) === null || _k === void 0 ? void 0 : _k.error(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
|
|
6862
6865
|
status: RCLoggerStatus.FAILED,
|
|
6863
6866
|
code: exports.RCRTCCode.PARAMS_ERROR,
|
|
6864
6867
|
msg: 'params error -> options.audioDeviceId',
|
|
@@ -6869,9 +6872,10 @@ class RCTrack extends engine.EventEmitter {
|
|
|
6869
6872
|
const isVideoTrack = this.isVideoTrack();
|
|
6870
6873
|
// video 播放必须传递一个 HTMLVideoElement 实例作为 video track 的播放组件
|
|
6871
6874
|
if (isVideoTrack && (!element || !(element instanceof HTMLVideoElement || this.__validateVideoNodeName(element)))) {
|
|
6872
|
-
(
|
|
6875
|
+
(_l = this._logger) === null || _l === void 0 ? void 0 : _l.error(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
|
|
6873
6876
|
status: RCLoggerStatus.FAILED,
|
|
6874
6877
|
code: exports.RCRTCCode.VIDEO_TRACK_MISS_MEDIA_ELEMENT,
|
|
6878
|
+
kind: (_m = this._kind) !== null && _m !== void 0 ? _m : '',
|
|
6875
6879
|
msg: 'params element is not a HTMLVideoElement',
|
|
6876
6880
|
}));
|
|
6877
6881
|
return { code: exports.RCRTCCode.VIDEO_TRACK_MISS_MEDIA_ELEMENT };
|
|
@@ -6885,73 +6889,81 @@ class RCTrack extends engine.EventEmitter {
|
|
|
6885
6889
|
this._element.pause();
|
|
6886
6890
|
}
|
|
6887
6891
|
this._element.onloadstart = (evt) => {
|
|
6888
|
-
var _a, _b;
|
|
6892
|
+
var _a, _b, _c;
|
|
6889
6893
|
// 开始寻找资源
|
|
6890
6894
|
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.info(RCLoggerTag.L_TRACK_LOAD_START_O, JSON.stringify({
|
|
6891
6895
|
status: RCLoggerStatus.INFO,
|
|
6892
|
-
|
|
6896
|
+
kind: (_b = this._kind) !== null && _b !== void 0 ? _b : '',
|
|
6897
|
+
msg: `HTMLMediaElement onloadstart -> id: ${(_c = evt.target) === null || _c === void 0 ? void 0 : _c.id}, trackId: ${this._id}`,
|
|
6893
6898
|
}));
|
|
6894
6899
|
};
|
|
6895
6900
|
this._element.ondurationchange = (evt) => {
|
|
6896
|
-
var _a, _b;
|
|
6901
|
+
var _a, _b, _c;
|
|
6897
6902
|
// 时长变更
|
|
6898
6903
|
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.info(RCLoggerTag.L_TRACK_DURATION_CHANGE_O, JSON.stringify({
|
|
6899
6904
|
status: RCLoggerStatus.INFO,
|
|
6900
|
-
|
|
6905
|
+
kind: (_b = this._kind) !== null && _b !== void 0 ? _b : '',
|
|
6906
|
+
msg: `HTMLMediaElement ondurationchange -> id: ${(_c = evt.target) === null || _c === void 0 ? void 0 : _c.id}, trackId: ${this._id}`,
|
|
6901
6907
|
}));
|
|
6902
6908
|
};
|
|
6903
6909
|
this._element.onloadedmetadata = (evt) => {
|
|
6904
|
-
var _a, _b;
|
|
6910
|
+
var _a, _b, _c;
|
|
6905
6911
|
// 元数据加载完成
|
|
6906
6912
|
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.info(RCLoggerTag.L_TRACK_LOADED_META_DATA_O, JSON.stringify({
|
|
6907
6913
|
status: RCLoggerStatus.INFO,
|
|
6908
|
-
|
|
6914
|
+
kind: (_b = this._kind) !== null && _b !== void 0 ? _b : '',
|
|
6915
|
+
msg: `HTMLMediaElement onloadedmetadata -> id: ${(_c = evt.target) === null || _c === void 0 ? void 0 : _c.id}, trackId: ${this._id}`,
|
|
6909
6916
|
}));
|
|
6910
6917
|
};
|
|
6911
6918
|
this._element.onloadeddata = (evt) => {
|
|
6912
|
-
var _a, _b;
|
|
6919
|
+
var _a, _b, _c;
|
|
6913
6920
|
// 首帧加载完成
|
|
6914
6921
|
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.info(RCLoggerTag.L_TRACK_LOADED_DATA_O, JSON.stringify({
|
|
6915
6922
|
status: RCLoggerStatus.INFO,
|
|
6916
|
-
|
|
6923
|
+
kind: (_b = this._kind) !== null && _b !== void 0 ? _b : '',
|
|
6924
|
+
msg: `HTMLMediaElement onloadeddata -> id: ${(_c = evt.target) === null || _c === void 0 ? void 0 : _c.id}, trackId: ${this._id}`,
|
|
6917
6925
|
}));
|
|
6918
6926
|
};
|
|
6919
6927
|
this._element.onabort = (evt) => {
|
|
6920
|
-
var _a, _b;
|
|
6928
|
+
var _a, _b, _c;
|
|
6921
6929
|
// 中止
|
|
6922
6930
|
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.info(RCLoggerTag.L_TRACK_ABORT_O, JSON.stringify({
|
|
6923
6931
|
status: RCLoggerStatus.INFO,
|
|
6924
|
-
|
|
6932
|
+
kind: (_b = this._kind) !== null && _b !== void 0 ? _b : '',
|
|
6933
|
+
msg: `HTMLMediaElement onabort -> id: ${(_c = evt.target) === null || _c === void 0 ? void 0 : _c.id}, trackId: ${this._id}`,
|
|
6925
6934
|
}));
|
|
6926
6935
|
};
|
|
6927
6936
|
this._element.oncanplay = (evt) => __awaiter(this, void 0, void 0, function* () {
|
|
6928
|
-
var
|
|
6937
|
+
var _p, _q, _r, _s, _t, _u, _v, _w;
|
|
6929
6938
|
// 可以播放
|
|
6930
|
-
(
|
|
6939
|
+
(_p = this._logger) === null || _p === void 0 ? void 0 : _p.info(RCLoggerTag.L_TRACK_CANPLAY_O, JSON.stringify({
|
|
6931
6940
|
status: RCLoggerStatus.INFO,
|
|
6932
|
-
|
|
6941
|
+
kind: (_q = this._kind) !== null && _q !== void 0 ? _q : '',
|
|
6942
|
+
msg: `HTMLMediaElement oncanplay -> id: ${(_r = evt.target) === null || _r === void 0 ? void 0 : _r.id}, trackId: ${this._id}`,
|
|
6933
6943
|
}));
|
|
6934
6944
|
try {
|
|
6935
6945
|
if ((options === null || options === void 0 ? void 0 : options.audioDeviceId) && !isVideoTrack) {
|
|
6936
6946
|
yield this._element.setSinkId(options.audioDeviceId);
|
|
6937
6947
|
}
|
|
6938
|
-
yield ((
|
|
6948
|
+
yield ((_s = this._element) === null || _s === void 0 ? void 0 : _s.play());
|
|
6939
6949
|
}
|
|
6940
6950
|
catch (error) {
|
|
6941
6951
|
/**
|
|
6942
6952
|
* 检测是否有设置音频输出设备的权限
|
|
6943
6953
|
*/
|
|
6944
6954
|
if (error.message === 'No permission to use requested device') {
|
|
6945
|
-
(
|
|
6955
|
+
(_t = this._logger) === null || _t === void 0 ? void 0 : _t.error(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
|
|
6946
6956
|
status: RCLoggerStatus.FAILED,
|
|
6957
|
+
kind: (_u = this._kind) !== null && _u !== void 0 ? _u : '',
|
|
6947
6958
|
code: exports.RCRTCCode.NO_PERMISSION_TO_USE_REQUESTED_DEVICE,
|
|
6948
6959
|
msg: `setSinkId failed, error msg: ${error.message}`,
|
|
6949
6960
|
}));
|
|
6950
6961
|
return;
|
|
6951
6962
|
}
|
|
6952
|
-
(
|
|
6963
|
+
(_v = this._logger) === null || _v === void 0 ? void 0 : _v.error(RCLoggerTag.L_TRACK_PLAY_E, JSON.stringify({
|
|
6953
6964
|
status: RCLoggerStatus.FAILED,
|
|
6954
6965
|
code: exports.RCRTCCode.TRACK_PLAY_ERROR,
|
|
6966
|
+
kind: (_w = this._kind) !== null && _w !== void 0 ? _w : '',
|
|
6955
6967
|
msg: `play error, error msg: ${error.message}`,
|
|
6956
6968
|
}));
|
|
6957
6969
|
}
|
|
@@ -6981,7 +6993,7 @@ class RCTrack extends engine.EventEmitter {
|
|
|
6981
6993
|
this._element.volume = (options === null || options === void 0 ? void 0 : options.volume) / 100;
|
|
6982
6994
|
}
|
|
6983
6995
|
// 添加标签ID
|
|
6984
|
-
(
|
|
6996
|
+
(_o = this._element) === null || _o === void 0 ? void 0 : _o.setAttribute(this.DataTrackId, this.getTrackId());
|
|
6985
6997
|
return { code: exports.RCRTCCode.SUCCESS };
|
|
6986
6998
|
});
|
|
6987
6999
|
}
|
|
@@ -14804,7 +14816,7 @@ const getCommonHeader$1 = () => ({
|
|
|
14804
14816
|
'Content-Type': 'application/json;charset=UTF-8',
|
|
14805
14817
|
'Cache-Control': 'no-cache',
|
|
14806
14818
|
ClientType: `web|${browserInfo.browser}|${browserInfo.version}`,
|
|
14807
|
-
ClientVersion: "5.6.
|
|
14819
|
+
ClientVersion: "5.6.4-alpha.1",
|
|
14808
14820
|
'Client-Session-Id': getUUID(),
|
|
14809
14821
|
'Request-Id': Date.now().toString(),
|
|
14810
14822
|
});
|
|
@@ -15380,7 +15392,7 @@ const getCommonHeader = () => ({
|
|
|
15380
15392
|
'Content-Type': 'application/json;charset=UTF-8',
|
|
15381
15393
|
'Cache-Control': 'no-cache',
|
|
15382
15394
|
ClientType: `web|${browserInfo.browser}|${browserInfo.version}`,
|
|
15383
|
-
ClientVersion: "5.6.
|
|
15395
|
+
ClientVersion: "5.6.4-alpha.1",
|
|
15384
15396
|
'Client-Session-Id': getUUID(),
|
|
15385
15397
|
'Request-Id': Date.now().toString(),
|
|
15386
15398
|
});
|
|
@@ -15551,9 +15563,8 @@ class RCMediaService {
|
|
|
15551
15563
|
const jsonBody = /x-www-form-urlencoded/.test(mergeHeaders['Content-Type']) ? body : JSON.stringify(body);
|
|
15552
15564
|
const reqId = commonHeader['Request-Id'];
|
|
15553
15565
|
(_e = (_d = this._context) === null || _d === void 0 ? void 0 : _d.logger) === null || _e === void 0 ? void 0 : _e.info(RCLoggerTag.L_MEDIA_SERVICE_REQUEST_T, JSON.stringify({
|
|
15554
|
-
url
|
|
15566
|
+
url,
|
|
15555
15567
|
'Request-Id': reqId,
|
|
15556
|
-
timeout: this._timeout,
|
|
15557
15568
|
}), traceId);
|
|
15558
15569
|
const { status, data } = yield this._runtime.httpReq({
|
|
15559
15570
|
url,
|
|
@@ -15588,6 +15599,7 @@ class RCMediaService {
|
|
|
15588
15599
|
(_j = (_h = this._context) === null || _h === void 0 ? void 0 : _h.logger) === null || _j === void 0 ? void 0 : _j.error(RCLoggerTag.L_MEDIA_SERVICE_REQUEST_R, JSON.stringify({
|
|
15589
15600
|
status: RCLoggerStatus.FAILED,
|
|
15590
15601
|
msg: `request error -> Request-Id: ${reqId}, status: ${status}, url: ${url}`,
|
|
15602
|
+
timeout: this._timeout,
|
|
15591
15603
|
}), traceId);
|
|
15592
15604
|
}
|
|
15593
15605
|
return { code: exports.RCRTCCode.REQUEST_FAILED };
|
|
@@ -15617,8 +15629,10 @@ class RCMediaService {
|
|
|
15617
15629
|
* 退出房间
|
|
15618
15630
|
*/
|
|
15619
15631
|
exit(headers) {
|
|
15632
|
+
var _a, _b;
|
|
15620
15633
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15621
|
-
const
|
|
15634
|
+
const traceId = (_b = (_a = this._context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.createTraceId();
|
|
15635
|
+
const { code } = yield this._request('/exit', headers, {}, traceId);
|
|
15622
15636
|
return code;
|
|
15623
15637
|
});
|
|
15624
15638
|
}
|
|
@@ -15626,14 +15640,18 @@ class RCMediaService {
|
|
|
15626
15640
|
* 观众端订阅主播资源
|
|
15627
15641
|
*/
|
|
15628
15642
|
broadcastSubscribe(headers, body) {
|
|
15629
|
-
|
|
15643
|
+
var _a, _b;
|
|
15644
|
+
const traceId = (_b = (_a = this._context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.createTraceId();
|
|
15645
|
+
return this._request('/broadcast/subscribe', headers, body, traceId);
|
|
15630
15646
|
}
|
|
15631
15647
|
/**
|
|
15632
15648
|
* 观众端退出订阅
|
|
15633
15649
|
*/
|
|
15634
15650
|
broadcastExit(headers) {
|
|
15651
|
+
var _a, _b;
|
|
15635
15652
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15636
|
-
const
|
|
15653
|
+
const traceId = (_b = (_a = this._context) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.createTraceId();
|
|
15654
|
+
const { code } = yield this._request('/broadcast/exit', headers, {}, traceId);
|
|
15637
15655
|
return { code };
|
|
15638
15656
|
});
|
|
15639
15657
|
}
|
|
@@ -17170,25 +17188,37 @@ class ASdpStrategy {
|
|
|
17170
17188
|
return result;
|
|
17171
17189
|
}
|
|
17172
17190
|
setRemoteAnswer(sdp) {
|
|
17173
|
-
var _a, _b;
|
|
17191
|
+
var _a, _b, _c;
|
|
17174
17192
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17175
17193
|
// 过滤行末的空格,服务可能产生空格数据
|
|
17176
17194
|
sdp = ASdpBuilder.trimBlankLine(sdp);
|
|
17177
17195
|
if (this._peer.connectionState === 'disconnected'
|
|
17178
17196
|
|| this._peer.connectionState === 'closed') {
|
|
17197
|
+
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.info(RCLoggerTag.L_A_SDP_STRATEGY_SET_REMOTE_ANSWER_O, JSON.stringify({
|
|
17198
|
+
status: RCLoggerStatus.FAILED,
|
|
17199
|
+
msg: `peer.connectionState is ${this._peer.connectionState}`,
|
|
17200
|
+
}));
|
|
17179
17201
|
return exports.RCRTCCode.SET_REMOTE_DESCRIPTION_FAILED;
|
|
17180
17202
|
}
|
|
17203
|
+
// if (this._peer.signalingState !== 'have-local-offer') {
|
|
17204
|
+
// // https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/signalingState
|
|
17205
|
+
// this._logger?.info(RCLoggerTag.L_A_SDP_STRATEGY_SET_REMOTE_ANSWER_O, JSON.stringify({
|
|
17206
|
+
// status: RCLoggerStatus.FAILED,
|
|
17207
|
+
// msg: `peer.signalingState is ${this._peer.signalingState}`,
|
|
17208
|
+
// }));
|
|
17209
|
+
// return RCRTCCode.SET_REMOTE_DESCRIPTION_FAILED;
|
|
17210
|
+
// }
|
|
17181
17211
|
try {
|
|
17182
17212
|
yield this._peer.setRemoteDescription({ type: 'answer', sdp });
|
|
17183
17213
|
}
|
|
17184
17214
|
catch (error) {
|
|
17185
|
-
(
|
|
17215
|
+
(_b = this._logger) === null || _b === void 0 ? void 0 : _b.info(RCLoggerTag.L_A_SDP_STRATEGY_SET_REMOTE_ANSWER_O, JSON.stringify({
|
|
17186
17216
|
status: RCLoggerStatus.FAILED,
|
|
17187
17217
|
msg: error,
|
|
17188
17218
|
}));
|
|
17189
17219
|
return exports.RCRTCCode.SET_REMOTE_DESCRIPTION_FAILED;
|
|
17190
17220
|
}
|
|
17191
|
-
(
|
|
17221
|
+
(_c = this._logger) === null || _c === void 0 ? void 0 : _c.info(RCLoggerTag.L_A_SDP_STRATEGY_SET_REMOTE_ANSWER_O, JSON.stringify({
|
|
17192
17222
|
status: RCLoggerStatus.SUCCESSED,
|
|
17193
17223
|
sdp,
|
|
17194
17224
|
}));
|
|
@@ -18688,7 +18718,7 @@ class PolarisReporter {
|
|
|
18688
18718
|
* 加入房间
|
|
18689
18719
|
*/
|
|
18690
18720
|
sendR1() {
|
|
18691
|
-
const rtcVersion = "5.6.
|
|
18721
|
+
const rtcVersion = "5.6.4-alpha.1";
|
|
18692
18722
|
const imVersion = this._context.getCoreVersion();
|
|
18693
18723
|
const platform = 'web';
|
|
18694
18724
|
const pcName = navigator.platform;
|
|
@@ -18838,7 +18868,7 @@ class PolarisHttpReporter {
|
|
|
18838
18868
|
_formatR1Data() {
|
|
18839
18869
|
return {
|
|
18840
18870
|
joinTime: this._context.userJoinTime || 0,
|
|
18841
|
-
rtcVersion: "5.6.
|
|
18871
|
+
rtcVersion: "5.6.4-alpha.1",
|
|
18842
18872
|
imVersion: this._context.getCoreVersion(),
|
|
18843
18873
|
platform: 'web',
|
|
18844
18874
|
device: navigator.platform,
|
|
@@ -19736,12 +19766,13 @@ class BaseInvoker {
|
|
|
19736
19766
|
this._busy = true;
|
|
19737
19767
|
const { command, resolve, reject } = this._queue.shift();
|
|
19738
19768
|
let res;
|
|
19769
|
+
const kinds = this._queue.map((item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.command) === null || _a === void 0 ? void 0 : _a.kind; });
|
|
19739
19770
|
const traceId = (_a = this.context.logger) === null || _a === void 0 ? void 0 : _a.createTraceId();
|
|
19740
19771
|
try {
|
|
19741
19772
|
/**
|
|
19742
19773
|
* 说明:由于是先弹出 再执行 Command,所以不存在 在队列中正在执行的任务
|
|
19743
19774
|
*/
|
|
19744
|
-
(_b = this.context.logger) === null || _b === void 0 ? void 0 : _b.info(RCLoggerTag.L_INVOKER_EXECUTE_T, `commandKind: ${command.kind},
|
|
19775
|
+
(_b = this.context.logger) === null || _b === void 0 ? void 0 : _b.info(RCLoggerTag.L_INVOKER_EXECUTE_T, `commandKind: ${command.kind}, kinds:${kinds.join(',')}, length: ${this._queue.length}`, traceId);
|
|
19745
19776
|
res = yield command.execute(this._store, this);
|
|
19746
19777
|
}
|
|
19747
19778
|
catch (error) {
|
|
@@ -19749,6 +19780,7 @@ class BaseInvoker {
|
|
|
19749
19780
|
error,
|
|
19750
19781
|
status: RCLoggerStatus.FAILED,
|
|
19751
19782
|
commandKind: command.kind,
|
|
19783
|
+
kinds: kinds.join(','),
|
|
19752
19784
|
}), traceId);
|
|
19753
19785
|
reject(error);
|
|
19754
19786
|
this._next();
|
|
@@ -19765,7 +19797,7 @@ class BaseInvoker {
|
|
|
19765
19797
|
(_a = this.context.logger) === null || _a === void 0 ? void 0 : _a.info(RCLoggerTag.L_INVOKER_PUSH_O, JSON.stringify({
|
|
19766
19798
|
isDestroyed: this._isDestroyed,
|
|
19767
19799
|
commandKind: command.kind,
|
|
19768
|
-
|
|
19800
|
+
length: this._queue.length,
|
|
19769
19801
|
}));
|
|
19770
19802
|
// 房间已销毁
|
|
19771
19803
|
if (this._isDestroyed) {
|
|
@@ -20995,52 +21027,6 @@ class SubscribeCommand extends BaseCommand {
|
|
|
20995
21027
|
}
|
|
20996
21028
|
}
|
|
20997
21029
|
|
|
20998
|
-
class RetrySignaling {
|
|
20999
|
-
constructor() {
|
|
21000
|
-
/* 类的私有财产。 */
|
|
21001
|
-
this.tasks = [];
|
|
21002
|
-
}
|
|
21003
|
-
/**
|
|
21004
|
-
* 如果未设置 retryHandler,则创建一个新的并返回它。否则,返回现有的。
|
|
21005
|
-
* @returns 重试处理程序
|
|
21006
|
-
*/
|
|
21007
|
-
static handler() {
|
|
21008
|
-
if (!this.retryHandler) {
|
|
21009
|
-
this.retryHandler = new RetrySignaling();
|
|
21010
|
-
}
|
|
21011
|
-
return this.retryHandler;
|
|
21012
|
-
}
|
|
21013
|
-
/**
|
|
21014
|
-
* > `execute` 函数执行 `tasks` 数组中的所有任务,然后销毁 `TaskQueue` 实例
|
|
21015
|
-
*/
|
|
21016
|
-
execute() {
|
|
21017
|
-
for (const task of this.tasks) {
|
|
21018
|
-
task();
|
|
21019
|
-
}
|
|
21020
|
-
this.destroy();
|
|
21021
|
-
}
|
|
21022
|
-
/**
|
|
21023
|
-
* 它接受一个函数作为参数,并返回一个在函数被调用时解析的 Promise
|
|
21024
|
-
* @param {Function} fn - 功能:要执行的功能。
|
|
21025
|
-
* @returns 将解析为传入函数的结果的承诺。
|
|
21026
|
-
*/
|
|
21027
|
-
task(fn) {
|
|
21028
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
21029
|
-
return new Promise((resolve) => {
|
|
21030
|
-
this.tasks.push(() => {
|
|
21031
|
-
resolve(fn());
|
|
21032
|
-
});
|
|
21033
|
-
});
|
|
21034
|
-
});
|
|
21035
|
-
}
|
|
21036
|
-
/**
|
|
21037
|
-
* 它从任务数组中删除所有任务
|
|
21038
|
-
*/
|
|
21039
|
-
destroy() {
|
|
21040
|
-
this.tasks = [];
|
|
21041
|
-
}
|
|
21042
|
-
}
|
|
21043
|
-
|
|
21044
21030
|
const PUBLISHSIGNALRETRYTIME = 30 * 1000;
|
|
21045
21031
|
/**
|
|
21046
21032
|
* 资源发布命令
|
|
@@ -21153,7 +21139,7 @@ class PublishCommand extends BaseCommand {
|
|
|
21153
21139
|
pushOtherRooms && (reqBody.pushOtherRooms = pushOtherRooms);
|
|
21154
21140
|
// 缓存发布资源的ssrc和msid
|
|
21155
21141
|
AbstractStatParser.formatSourceIdMapFromSdp(reqBody.sdp.sdp, 'publish');
|
|
21156
|
-
const resp = yield new ExchangeCommand(headers, reqBody).execute(store, invoker);
|
|
21142
|
+
const resp = yield new ExchangeCommand(headers, reqBody, this._traceId).execute(store, invoker);
|
|
21157
21143
|
if (resp.code !== exports.RCRTCCode.SUCCESS) {
|
|
21158
21144
|
// 连通率相关埋点-发布资源结束
|
|
21159
21145
|
reportQualityPublishData(localTracks, resp.code);
|
|
@@ -21258,24 +21244,7 @@ class PublishCommand extends BaseCommand {
|
|
|
21258
21244
|
// 通知房间成员
|
|
21259
21245
|
// 连通率相关埋点-统计扩散耗时
|
|
21260
21246
|
recordPublishSignalTotalData();
|
|
21261
|
-
|
|
21262
|
-
// TIPS: 通知房间成员失败,对信息进行重试操作
|
|
21263
|
-
if (errorCode !== engine.ErrorCode.SUCCESS) {
|
|
21264
|
-
const RetrySignal = RetrySignaling.handler();
|
|
21265
|
-
const startTime = (new Date()).valueOf();
|
|
21266
|
-
const loop = () => __awaiter(this, void 0, void 0, function* () {
|
|
21267
|
-
// 如果当前时间大于 60 秒
|
|
21268
|
-
if ((new Date()).valueOf() - startTime > this.signalRetryTime) {
|
|
21269
|
-
return errorCode;
|
|
21270
|
-
}
|
|
21271
|
-
const code = yield store.context.setRTCTotalRes(roomId, [buildPlusMessage(RCRTCMessageType.PUBLISH, plus)], buildTotalURIMessageContent(allPublishList), RCRTCMessageType.TOTAL_CONTENT_RESOURCE, buildTotalURIMessageContent(crtMcuPublishList));
|
|
21272
|
-
if (code !== engine.ErrorCode.SUCCESS) {
|
|
21273
|
-
yield RetrySignal.task(loop);
|
|
21274
|
-
}
|
|
21275
|
-
return code;
|
|
21276
|
-
});
|
|
21277
|
-
errorCode = yield RetrySignal.task(loop);
|
|
21278
|
-
}
|
|
21247
|
+
const errorCode = yield store.context.setRTCTotalRes(roomId, [buildPlusMessage(RCRTCMessageType.PUBLISH, plus)], buildTotalURIMessageContent(allPublishList), RCRTCMessageType.TOTAL_CONTENT_RESOURCE, buildTotalURIMessageContent(crtMcuPublishList), CDNValueInfo);
|
|
21279
21248
|
if (errorCode !== engine.ErrorCode.SUCCESS) {
|
|
21280
21249
|
// 连通率相关埋点-发布资源结束
|
|
21281
21250
|
reportQualityPublishSignalTotalData(allPublishList, errorCode);
|
|
@@ -21660,7 +21629,7 @@ class RetryExchangeCommand extends BaseCommand {
|
|
|
21660
21629
|
const { pushOtherRooms, headers } = this.retryHook(pcName);
|
|
21661
21630
|
pushOtherRooms && (reqBody.pushOtherRooms = pushOtherRooms);
|
|
21662
21631
|
// 发送 /exchange 请求
|
|
21663
|
-
const resp = yield new ExchangeCommand(headers, reqBody).execute(store, invoker);
|
|
21632
|
+
const resp = yield new ExchangeCommand(headers, reqBody, traceId).execute(store, invoker);
|
|
21664
21633
|
if (resp.code !== exports.RCRTCCode.SUCCESS) {
|
|
21665
21634
|
return;
|
|
21666
21635
|
}
|
|
@@ -27530,6 +27499,52 @@ class RCMediaStreamCapture {
|
|
|
27530
27499
|
}
|
|
27531
27500
|
}
|
|
27532
27501
|
|
|
27502
|
+
class RetrySignaling {
|
|
27503
|
+
constructor() {
|
|
27504
|
+
/* 类的私有财产。 */
|
|
27505
|
+
this.tasks = [];
|
|
27506
|
+
}
|
|
27507
|
+
/**
|
|
27508
|
+
* 如果未设置 retryHandler,则创建一个新的并返回它。否则,返回现有的。
|
|
27509
|
+
* @returns 重试处理程序
|
|
27510
|
+
*/
|
|
27511
|
+
static handler() {
|
|
27512
|
+
if (!this.retryHandler) {
|
|
27513
|
+
this.retryHandler = new RetrySignaling();
|
|
27514
|
+
}
|
|
27515
|
+
return this.retryHandler;
|
|
27516
|
+
}
|
|
27517
|
+
/**
|
|
27518
|
+
* > `execute` 函数执行 `tasks` 数组中的所有任务,然后销毁 `TaskQueue` 实例
|
|
27519
|
+
*/
|
|
27520
|
+
execute() {
|
|
27521
|
+
for (const task of this.tasks) {
|
|
27522
|
+
task();
|
|
27523
|
+
}
|
|
27524
|
+
this.destroy();
|
|
27525
|
+
}
|
|
27526
|
+
/**
|
|
27527
|
+
* 它接受一个函数作为参数,并返回一个在函数被调用时解析的 Promise
|
|
27528
|
+
* @param {Function} fn - 功能:要执行的功能。
|
|
27529
|
+
* @returns 将解析为传入函数的结果的承诺。
|
|
27530
|
+
*/
|
|
27531
|
+
task(fn) {
|
|
27532
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27533
|
+
return new Promise((resolve) => {
|
|
27534
|
+
this.tasks.push(() => {
|
|
27535
|
+
resolve(fn());
|
|
27536
|
+
});
|
|
27537
|
+
});
|
|
27538
|
+
});
|
|
27539
|
+
}
|
|
27540
|
+
/**
|
|
27541
|
+
* 它从任务数组中删除所有任务
|
|
27542
|
+
*/
|
|
27543
|
+
destroy() {
|
|
27544
|
+
this.tasks = [];
|
|
27545
|
+
}
|
|
27546
|
+
}
|
|
27547
|
+
|
|
27533
27548
|
/**
|
|
27534
27549
|
* RTC 业务客户端
|
|
27535
27550
|
* @public
|
|
@@ -28088,7 +28103,7 @@ class RCRTCClient extends RCMediaStreamCapture {
|
|
|
28088
28103
|
}
|
|
28089
28104
|
reportSDKInfo() {
|
|
28090
28105
|
this._context.reportSDKInfo({
|
|
28091
|
-
'plugin-rtc': "5.6.
|
|
28106
|
+
'plugin-rtc': "5.6.4-alpha.1",
|
|
28092
28107
|
});
|
|
28093
28108
|
}
|
|
28094
28109
|
}
|
|
@@ -29081,7 +29096,7 @@ const installer = {
|
|
|
29081
29096
|
console.error('Please use the https protocol or use `http://localhost` to open the page!');
|
|
29082
29097
|
return false;
|
|
29083
29098
|
}
|
|
29084
|
-
engine.VersionManage.add('plugin-rtc', "5.6.
|
|
29099
|
+
engine.VersionManage.add('plugin-rtc', "5.6.4-alpha.1");
|
|
29085
29100
|
if (!engine.VersionManage.validEngine("^5.6.0")) {
|
|
29086
29101
|
console.error(`The current engine version '${engine.VersionManage.getInfo().engine}' error, plugin-rtc required engine version at least '${"^5.6.0"}'.`);
|
|
29087
29102
|
return false;
|
|
@@ -29095,8 +29110,8 @@ const installer = {
|
|
|
29095
29110
|
RTCLogger.setLogger(originLogger);
|
|
29096
29111
|
logger.setLogger(originLogger);
|
|
29097
29112
|
originLogger.warn(RCLoggerTag.L_INDEX_INSTALL_RTC_PLUGIN_O, JSON.stringify({
|
|
29098
|
-
'RCRTC Version': "5.6.
|
|
29099
|
-
Commit: "
|
|
29113
|
+
'RCRTC Version': "5.6.4-alpha.1",
|
|
29114
|
+
Commit: "568df307dd985346dd4af574ecc9b4e5577ecd59",
|
|
29100
29115
|
'browserInfo.browser': browserInfo.browser,
|
|
29101
29116
|
'browserInfo.supportsUnifiedPlan': browserInfo.supportsUnifiedPlan,
|
|
29102
29117
|
'browserInfo.version': browserInfo.version,
|