@webex/plugin-meetings 3.1.0 → 3.3.0
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/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/common/errors/{reconnection-in-progress.js → reconnection-not-started.js} +27 -15
- package/dist/common/errors/reconnection-not-started.js.map +1 -0
- package/dist/constants.js +12 -3
- package/dist/constants.js.map +1 -1
- package/dist/index.js +80 -0
- package/dist/index.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +7 -1
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +10 -0
- package/dist/locus-info/index.js.map +1 -1
- package/dist/media/properties.js +102 -57
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +6 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +543 -467
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +27 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/util.js +9 -16
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting/voicea-meeting.js +37 -49
- package/dist/meeting/voicea-meeting.js.map +1 -1
- package/dist/meeting-info/util.js +304 -267
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +334 -298
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/index.js +6 -27
- package/dist/meetings/index.js.map +1 -1
- package/dist/reachability/index.js +6 -0
- package/dist/reachability/index.js.map +1 -1
- package/dist/reconnection-manager/index.js +138 -109
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/roap/request.js +3 -27
- package/dist/roap/request.js.map +1 -1
- package/dist/statsAnalyzer/index.js +4 -0
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +3 -0
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/common/errors/reconnection-not-started.d.ts +13 -0
- package/dist/{constants.d.ts → types/constants.d.ts} +11 -2
- package/dist/types/index.d.ts +19 -0
- package/dist/{media → types/media}/properties.d.ts +26 -2
- package/dist/{meeting → types/meeting}/in-meeting-actions.d.ts +6 -0
- package/dist/{meeting → types/meeting}/index.d.ts +5 -6
- package/dist/{meeting → types/meeting}/locusMediaRequest.d.ts +1 -0
- package/dist/{meeting → types/meeting}/util.d.ts +3 -0
- package/dist/{meeting → types/meeting}/voicea-meeting.d.ts +3 -2
- package/dist/{meeting-info → types/meeting-info}/index.d.ts +1 -1
- package/dist/{meeting-info → types/meeting-info}/meeting-info-v2.d.ts +1 -1
- package/dist/types/meeting-info/util.d.ts +49 -0
- package/dist/types/meeting-info/utilv2.d.ts +65 -0
- package/dist/{meetings → types/meetings}/index.d.ts +1 -16
- package/dist/{reconnection-manager → types/reconnection-manager}/index.d.ts +4 -14
- package/dist/webinar/index.js +1 -1
- package/package.json +22 -22
- package/src/common/errors/reconnection-not-started.ts +25 -0
- package/src/constants.ts +12 -4
- package/src/index.ts +30 -0
- package/src/locus-info/controlsUtils.ts +11 -0
- package/src/locus-info/index.ts +16 -0
- package/src/media/properties.ts +67 -15
- package/src/meeting/in-meeting-actions.ts +12 -0
- package/src/meeting/index.ts +121 -98
- package/src/meeting/locusMediaRequest.ts +31 -0
- package/src/meeting/util.ts +9 -16
- package/src/meeting/voicea-meeting.ts +44 -46
- package/src/meeting-info/util.ts +241 -233
- package/src/meeting-info/utilv2.ts +250 -244
- package/src/meetings/index.ts +8 -25
- package/src/reachability/index.ts +3 -0
- package/src/reconnection-manager/index.ts +128 -105
- package/src/roap/request.ts +1 -24
- package/src/statsAnalyzer/index.ts +4 -0
- package/src/statsAnalyzer/mqaUtil.ts +5 -0
- package/test/unit/spec/locus-info/controlsUtils.js +20 -0
- package/test/unit/spec/locus-info/index.js +21 -0
- package/test/unit/spec/media/properties.ts +145 -140
- package/test/unit/spec/meeting/in-meeting-actions.ts +6 -0
- package/test/unit/spec/meeting/index.js +243 -97
- package/test/unit/spec/meeting/locusMediaRequest.ts +49 -0
- package/test/unit/spec/meeting/utils.js +3 -10
- package/test/unit/spec/meeting/voicea-meeting.ts +5 -14
- package/test/unit/spec/meetings/index.js +27 -8
- package/test/unit/spec/reconnection-manager/index.js +127 -39
- package/test/unit/spec/roap/request.ts +0 -37
- package/test/unit/spec/stats-analyzer/index.js +11 -0
- package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/common/errors/reconnection-in-progress.js.map +0 -1
- package/dist/index.d.ts +0 -7
- package/dist/meeting-info/util.d.ts +0 -2
- package/dist/meeting-info/utilv2.d.ts +0 -2
- package/src/common/errors/reconnection-in-progress.ts +0 -8
- /package/dist/{annotation → types/annotation}/annotation.types.d.ts +0 -0
- /package/dist/{annotation → types/annotation}/constants.d.ts +0 -0
- /package/dist/{annotation → types/annotation}/index.d.ts +0 -0
- /package/dist/{breakouts → types/breakouts}/breakout.d.ts +0 -0
- /package/dist/{breakouts → types/breakouts}/collection.d.ts +0 -0
- /package/dist/{breakouts → types/breakouts}/edit-lock-error.d.ts +0 -0
- /package/dist/{breakouts → types/breakouts}/events.d.ts +0 -0
- /package/dist/{breakouts → types/breakouts}/index.d.ts +0 -0
- /package/dist/{breakouts → types/breakouts}/request.d.ts +0 -0
- /package/dist/{breakouts → types/breakouts}/utils.d.ts +0 -0
- /package/dist/{common → types/common}/browser-detection.d.ts +0 -0
- /package/dist/{common → types/common}/collection.d.ts +0 -0
- /package/dist/{common → types/common}/config.d.ts +0 -0
- /package/dist/{common → types/common}/errors/captcha-error.d.ts +0 -0
- /package/dist/{common → types/common}/errors/intent-to-join.d.ts +0 -0
- /package/dist/{common → types/common}/errors/join-meeting.d.ts +0 -0
- /package/dist/{common → types/common}/errors/media.d.ts +0 -0
- /package/dist/{common → types/common}/errors/no-meeting-info.d.ts +0 -0
- /package/dist/{common → types/common}/errors/parameter.d.ts +0 -0
- /package/dist/{common → types/common}/errors/password-error.d.ts +0 -0
- /package/dist/{common → types/common}/errors/permission.d.ts +0 -0
- /package/dist/{common → types/common}/errors/reclaim-host-role-errors.d.ts +0 -0
- /package/dist/{common → types/common}/errors/reconnection.d.ts +0 -0
- /package/dist/{common → types/common}/errors/stats.d.ts +0 -0
- /package/dist/{common → types/common}/errors/webex-errors.d.ts +0 -0
- /package/dist/{common → types/common}/errors/webex-meetings-error.d.ts +0 -0
- /package/dist/{common → types/common}/events/events-scope.d.ts +0 -0
- /package/dist/{common → types/common}/events/events.d.ts +0 -0
- /package/dist/{common → types/common}/events/trigger-proxy.d.ts +0 -0
- /package/dist/{common → types/common}/events/util.d.ts +0 -0
- /package/dist/{common → types/common}/logs/logger-config.d.ts +0 -0
- /package/dist/{common → types/common}/logs/logger-proxy.d.ts +0 -0
- /package/dist/{common → types/common}/logs/request.d.ts +0 -0
- /package/dist/{common → types/common}/queue.d.ts +0 -0
- /package/dist/{config.d.ts → types/config.d.ts} +0 -0
- /package/dist/{controls-options-manager → types/controls-options-manager}/constants.d.ts +0 -0
- /package/dist/{controls-options-manager → types/controls-options-manager}/enums.d.ts +0 -0
- /package/dist/{controls-options-manager → types/controls-options-manager}/index.d.ts +0 -0
- /package/dist/{controls-options-manager → types/controls-options-manager}/types.d.ts +0 -0
- /package/dist/{controls-options-manager → types/controls-options-manager}/util.d.ts +0 -0
- /package/dist/{interceptors → types/interceptors}/index.d.ts +0 -0
- /package/dist/{interceptors → types/interceptors}/locusRetry.d.ts +0 -0
- /package/dist/{interpretation → types/interpretation}/collection.d.ts +0 -0
- /package/dist/{interpretation → types/interpretation}/index.d.ts +0 -0
- /package/dist/{interpretation → types/interpretation}/siLanguage.d.ts +0 -0
- /package/dist/{locus-info → types/locus-info}/controlsUtils.d.ts +0 -0
- /package/dist/{locus-info → types/locus-info}/embeddedAppsUtils.d.ts +0 -0
- /package/dist/{locus-info → types/locus-info}/fullState.d.ts +0 -0
- /package/dist/{locus-info → types/locus-info}/hostUtils.d.ts +0 -0
- /package/dist/{locus-info → types/locus-info}/index.d.ts +0 -0
- /package/dist/{locus-info → types/locus-info}/infoUtils.d.ts +0 -0
- /package/dist/{locus-info → types/locus-info}/mediaSharesUtils.d.ts +0 -0
- /package/dist/{locus-info → types/locus-info}/parser.d.ts +0 -0
- /package/dist/{locus-info → types/locus-info}/selfUtils.d.ts +0 -0
- /package/dist/{media → types/media}/MediaConnectionAwaiter.d.ts +0 -0
- /package/dist/{media → types/media}/index.d.ts +0 -0
- /package/dist/{media → types/media}/util.d.ts +0 -0
- /package/dist/{mediaQualityMetrics → types/mediaQualityMetrics}/config.d.ts +0 -0
- /package/dist/{meeting → types/meeting}/muteState.d.ts +0 -0
- /package/dist/{meeting → types/meeting}/request.d.ts +0 -0
- /package/dist/{meeting → types/meeting}/request.type.d.ts +0 -0
- /package/dist/{meeting → types/meeting}/state.d.ts +0 -0
- /package/dist/{meeting-info → types/meeting-info}/collection.d.ts +0 -0
- /package/dist/{meeting-info → types/meeting-info}/request.d.ts +0 -0
- /package/dist/{meetings → types/meetings}/collection.d.ts +0 -0
- /package/dist/{meetings → types/meetings}/meetings.types.d.ts +0 -0
- /package/dist/{meetings → types/meetings}/request.d.ts +0 -0
- /package/dist/{meetings → types/meetings}/util.d.ts +0 -0
- /package/dist/{member → types/member}/index.d.ts +0 -0
- /package/dist/{member → types/member}/types.d.ts +0 -0
- /package/dist/{member → types/member}/util.d.ts +0 -0
- /package/dist/{members → types/members}/collection.d.ts +0 -0
- /package/dist/{members → types/members}/index.d.ts +0 -0
- /package/dist/{members → types/members}/request.d.ts +0 -0
- /package/dist/{members → types/members}/types.d.ts +0 -0
- /package/dist/{members → types/members}/util.d.ts +0 -0
- /package/dist/{metrics → types/metrics}/constants.d.ts +0 -0
- /package/dist/{metrics → types/metrics}/index.d.ts +0 -0
- /package/dist/{multistream → types/multistream}/mediaRequestManager.d.ts +0 -0
- /package/dist/{multistream → types/multistream}/receiveSlot.d.ts +0 -0
- /package/dist/{multistream → types/multistream}/receiveSlotManager.d.ts +0 -0
- /package/dist/{multistream → types/multistream}/remoteMedia.d.ts +0 -0
- /package/dist/{multistream → types/multistream}/remoteMediaGroup.d.ts +0 -0
- /package/dist/{multistream → types/multistream}/remoteMediaManager.d.ts +0 -0
- /package/dist/{multistream → types/multistream}/sendSlotManager.d.ts +0 -0
- /package/dist/{networkQualityMonitor → types/networkQualityMonitor}/index.d.ts +0 -0
- /package/dist/{personal-meeting-room → types/personal-meeting-room}/index.d.ts +0 -0
- /package/dist/{personal-meeting-room → types/personal-meeting-room}/request.d.ts +0 -0
- /package/dist/{personal-meeting-room → types/personal-meeting-room}/util.d.ts +0 -0
- /package/dist/{reachability → types/reachability}/clusterReachability.d.ts +0 -0
- /package/dist/{reachability → types/reachability}/index.d.ts +0 -0
- /package/dist/{reachability → types/reachability}/request.d.ts +0 -0
- /package/dist/{reachability → types/reachability}/util.d.ts +0 -0
- /package/dist/{reactions → types/reactions}/constants.d.ts +0 -0
- /package/dist/{reactions → types/reactions}/reactions.d.ts +0 -0
- /package/dist/{reactions → types/reactions}/reactions.type.d.ts +0 -0
- /package/dist/{recording-controller → types/recording-controller}/enums.d.ts +0 -0
- /package/dist/{recording-controller → types/recording-controller}/index.d.ts +0 -0
- /package/dist/{recording-controller → types/recording-controller}/util.d.ts +0 -0
- /package/dist/{roap → types/roap}/index.d.ts +0 -0
- /package/dist/{roap → types/roap}/request.d.ts +0 -0
- /package/dist/{roap → types/roap}/turnDiscovery.d.ts +0 -0
- /package/dist/{rtcMetrics → types/rtcMetrics}/constants.d.ts +0 -0
- /package/dist/{rtcMetrics → types/rtcMetrics}/index.d.ts +0 -0
- /package/dist/{statsAnalyzer → types/statsAnalyzer}/global.d.ts +0 -0
- /package/dist/{statsAnalyzer → types/statsAnalyzer}/index.d.ts +0 -0
- /package/dist/{statsAnalyzer → types/statsAnalyzer}/mqaUtil.d.ts +0 -0
- /package/dist/{transcription → types/transcription}/index.d.ts +0 -0
- /package/dist/{webinar → types/webinar}/collection.d.ts +0 -0
- /package/dist/{webinar → types/webinar}/index.d.ts +0 -0
package/dist/meeting/index.js
CHANGED
|
@@ -54,6 +54,7 @@ var _muteState = require("./muteState");
|
|
|
54
54
|
var _locusInfo = _interopRequireDefault(require("../locus-info"));
|
|
55
55
|
var _metrics = _interopRequireDefault(require("../metrics"));
|
|
56
56
|
var _reconnectionManager = _interopRequireDefault(require("../reconnection-manager"));
|
|
57
|
+
var _reconnectionNotStarted = _interopRequireDefault(require("../common/errors/reconnection-not-started"));
|
|
57
58
|
var _request = _interopRequireDefault(require("./request"));
|
|
58
59
|
var _index2 = _interopRequireDefault(require("../members/index"));
|
|
59
60
|
var _util2 = _interopRequireDefault(require("./util"));
|
|
@@ -64,8 +65,6 @@ var _util6 = _interopRequireDefault(require("../media/util"));
|
|
|
64
65
|
var _reactions = require("../reactions/reactions");
|
|
65
66
|
var _passwordError = _interopRequireDefault(require("../common/errors/password-error"));
|
|
66
67
|
var _captchaError = _interopRequireDefault(require("../common/errors/captcha-error"));
|
|
67
|
-
var _reconnection = _interopRequireDefault(require("../common/errors/reconnection"));
|
|
68
|
-
var _reconnectionInProgress = _interopRequireDefault(require("../common/errors/reconnection-in-progress"));
|
|
69
68
|
var _constants = require("../constants");
|
|
70
69
|
var _constants2 = _interopRequireDefault(require("../metrics/constants"));
|
|
71
70
|
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
@@ -491,6 +490,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
491
490
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "turnDiscoverySkippedReason", void 0);
|
|
492
491
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "turnServerUsed", void 0);
|
|
493
492
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "areVoiceaEventsSetup", false);
|
|
493
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "isMoveToInProgress", false);
|
|
494
494
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "voiceaListenerCallbacks", (0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)({}, _internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT, function (payload) {
|
|
495
495
|
_this.transcription.languageOptions = payload;
|
|
496
496
|
_loggerProxy.default.logger.debug("".concat(_util.default.getScopeLog({
|
|
@@ -529,6 +529,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
529
529
|
// used for waiting for a response
|
|
530
530
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "sdpResponseTimer", void 0);
|
|
531
531
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "hasMediaConnectionConnectedAtLeastOnce", void 0);
|
|
532
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "joinWithMediaRetryInfo", void 0);
|
|
532
533
|
/**
|
|
533
534
|
* Callback called when a relay event is received from meeting LLM Connection
|
|
534
535
|
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
@@ -1972,10 +1973,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1972
1973
|
*/
|
|
1973
1974
|
_this.remoteMediaManager = null;
|
|
1974
1975
|
_this.localAudioStreamMuteStateHandler = function () {
|
|
1975
|
-
_this
|
|
1976
|
+
var _this$audio;
|
|
1977
|
+
(_this$audio = _this.audio) === null || _this$audio === void 0 ? void 0 : _this$audio.handleLocalStreamMuteStateChange((0, _assertThisInitialized2.default)(_this));
|
|
1976
1978
|
};
|
|
1977
1979
|
_this.localVideoStreamMuteStateHandler = function () {
|
|
1978
|
-
_this
|
|
1980
|
+
var _this$video;
|
|
1981
|
+
(_this$video = _this.video) === null || _this$video === void 0 ? void 0 : _this$video.handleLocalStreamMuteStateChange((0, _assertThisInitialized2.default)(_this));
|
|
1979
1982
|
};
|
|
1980
1983
|
|
|
1981
1984
|
// The handling of output track changes should be done inside
|
|
@@ -2041,6 +2044,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2041
2044
|
* @memberof Meeting
|
|
2042
2045
|
*/
|
|
2043
2046
|
_this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
2047
|
+
|
|
2048
|
+
/**
|
|
2049
|
+
* Information needed for a retry of a call to joinWithMedia
|
|
2050
|
+
* @instance
|
|
2051
|
+
* @type {{isRetry: boolean; prevJoinResponse?: any}}
|
|
2052
|
+
* @private
|
|
2053
|
+
* @memberof Meeting
|
|
2054
|
+
*/
|
|
2055
|
+
_this.joinWithMediaRetryInfo = {
|
|
2056
|
+
isRetry: false,
|
|
2057
|
+
prevJoinResponse: undefined
|
|
2058
|
+
};
|
|
2044
2059
|
return _this;
|
|
2045
2060
|
}
|
|
2046
2061
|
|
|
@@ -2935,24 +2950,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2935
2950
|
}
|
|
2936
2951
|
}
|
|
2937
2952
|
});
|
|
2938
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.
|
|
2939
|
-
var
|
|
2953
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (_ref12) {
|
|
2954
|
+
var enable = _ref12.enable;
|
|
2955
|
+
_triggerProxy.default.trigger(_this13, {
|
|
2956
|
+
file: 'meeting/index',
|
|
2957
|
+
function: 'setupLocusControlsListener'
|
|
2958
|
+
}, _constants.EVENT_TRIGGERS.MEETING_MANUAL_CAPTION_UPDATED, {
|
|
2959
|
+
enable: enable
|
|
2960
|
+
});
|
|
2961
|
+
});
|
|
2962
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (_ref13) {
|
|
2963
|
+
var breakout = _ref13.breakout;
|
|
2940
2964
|
_this13.breakouts.updateBreakout(breakout);
|
|
2941
2965
|
_triggerProxy.default.trigger(_this13, {
|
|
2942
2966
|
file: 'meeting/index',
|
|
2943
2967
|
function: 'setupLocusControlsListener'
|
|
2944
2968
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
2945
2969
|
});
|
|
2946
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (
|
|
2947
|
-
var interpretation =
|
|
2970
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (_ref14) {
|
|
2971
|
+
var interpretation = _ref14.interpretation;
|
|
2948
2972
|
_this13.simultaneousInterpretation.updateInterpretation(interpretation);
|
|
2949
2973
|
_triggerProxy.default.trigger(_this13, {
|
|
2950
2974
|
file: 'meeting/index',
|
|
2951
2975
|
function: 'setupLocusControlsListener'
|
|
2952
2976
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
|
|
2953
2977
|
});
|
|
2954
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (
|
|
2955
|
-
var entryExitTone =
|
|
2978
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (_ref15) {
|
|
2979
|
+
var entryExitTone = _ref15.entryExitTone;
|
|
2956
2980
|
_triggerProxy.default.trigger(_this13, {
|
|
2957
2981
|
file: 'meeting/index',
|
|
2958
2982
|
function: 'setupLocusControlsListener'
|
|
@@ -2960,8 +2984,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2960
2984
|
entryExitTone: entryExitTone
|
|
2961
2985
|
});
|
|
2962
2986
|
});
|
|
2963
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (
|
|
2964
|
-
var state =
|
|
2987
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (_ref16) {
|
|
2988
|
+
var state = _ref16.state;
|
|
2965
2989
|
_triggerProxy.default.trigger(_this13, {
|
|
2966
2990
|
file: 'meeting/index',
|
|
2967
2991
|
function: 'setupLocusControlsListener'
|
|
@@ -2969,8 +2993,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2969
2993
|
state: state
|
|
2970
2994
|
});
|
|
2971
2995
|
});
|
|
2972
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (
|
|
2973
|
-
var state =
|
|
2996
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (_ref17) {
|
|
2997
|
+
var state = _ref17.state;
|
|
2974
2998
|
_triggerProxy.default.trigger(_this13, {
|
|
2975
2999
|
file: 'meeting/index',
|
|
2976
3000
|
function: 'setupLocusControlsListener'
|
|
@@ -2978,8 +3002,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2978
3002
|
state: state
|
|
2979
3003
|
});
|
|
2980
3004
|
});
|
|
2981
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (
|
|
2982
|
-
var state =
|
|
3005
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (_ref18) {
|
|
3006
|
+
var state = _ref18.state;
|
|
2983
3007
|
_triggerProxy.default.trigger(_this13, {
|
|
2984
3008
|
file: 'meeting/index',
|
|
2985
3009
|
function: 'setupLocusControlsListener'
|
|
@@ -2987,8 +3011,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2987
3011
|
state: state
|
|
2988
3012
|
});
|
|
2989
3013
|
});
|
|
2990
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (
|
|
2991
|
-
var state =
|
|
3014
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (_ref19) {
|
|
3015
|
+
var state = _ref19.state;
|
|
2992
3016
|
_triggerProxy.default.trigger(_this13, {
|
|
2993
3017
|
file: 'meeting/index',
|
|
2994
3018
|
function: 'setupLocusControlsListener'
|
|
@@ -2996,8 +3020,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2996
3020
|
state: state
|
|
2997
3021
|
});
|
|
2998
3022
|
});
|
|
2999
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (
|
|
3000
|
-
var state =
|
|
3023
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (_ref20) {
|
|
3024
|
+
var state = _ref20.state;
|
|
3001
3025
|
_triggerProxy.default.trigger(_this13, {
|
|
3002
3026
|
file: 'meeting/index',
|
|
3003
3027
|
function: 'setupLocusControlsListener'
|
|
@@ -3005,8 +3029,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3005
3029
|
state: state
|
|
3006
3030
|
});
|
|
3007
3031
|
});
|
|
3008
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (
|
|
3009
|
-
var state =
|
|
3032
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (_ref21) {
|
|
3033
|
+
var state = _ref21.state;
|
|
3010
3034
|
_triggerProxy.default.trigger(_this13, {
|
|
3011
3035
|
file: 'meeting/index',
|
|
3012
3036
|
function: 'setupLocusControlsListener'
|
|
@@ -3014,8 +3038,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3014
3038
|
state: state
|
|
3015
3039
|
});
|
|
3016
3040
|
});
|
|
3017
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (
|
|
3018
|
-
var state =
|
|
3041
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref22) {
|
|
3042
|
+
var state = _ref22.state;
|
|
3019
3043
|
_triggerProxy.default.trigger(_this13, {
|
|
3020
3044
|
file: 'meeting/index',
|
|
3021
3045
|
function: 'setupLocusControlsListener'
|
|
@@ -3062,7 +3086,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3062
3086
|
var _this14 = this;
|
|
3063
3087
|
// Will get triggered on local and remote share
|
|
3064
3088
|
this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
|
|
3065
|
-
var
|
|
3089
|
+
var _ref23 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(payload) {
|
|
3066
3090
|
var _payload$previous, _payload$previous2;
|
|
3067
3091
|
var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, oldShareStatus, sendStartedSharingRemote, _this14$mediaProperti;
|
|
3068
3092
|
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
@@ -3259,7 +3283,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3259
3283
|
}, _callee8, null, [[26,, 30, 33]]);
|
|
3260
3284
|
}));
|
|
3261
3285
|
return function (_x8) {
|
|
3262
|
-
return
|
|
3286
|
+
return _ref23.apply(this, arguments);
|
|
3263
3287
|
};
|
|
3264
3288
|
}());
|
|
3265
3289
|
}
|
|
@@ -3350,8 +3374,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3350
3374
|
});
|
|
3351
3375
|
}
|
|
3352
3376
|
});
|
|
3353
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (
|
|
3354
|
-
var isInitializing =
|
|
3377
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref24) {
|
|
3378
|
+
var isInitializing = _ref24.isInitializing;
|
|
3355
3379
|
_this17.updateMeetingActions();
|
|
3356
3380
|
_this17.recordingController.setDisplayHints(_this17.userDisplayHints);
|
|
3357
3381
|
_this17.recordingController.setUserPolicy(_this17.selfUserPolicies);
|
|
@@ -3483,9 +3507,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3483
3507
|
}
|
|
3484
3508
|
});
|
|
3485
3509
|
}
|
|
3510
|
+
_this19.updateLLMConnection();
|
|
3486
3511
|
});
|
|
3487
3512
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
3488
|
-
var
|
|
3513
|
+
var _ref25 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
|
|
3489
3514
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
3490
3515
|
while (1) switch (_context9.prev = _context9.next) {
|
|
3491
3516
|
case 0:
|
|
@@ -3514,7 +3539,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3514
3539
|
}, _callee9);
|
|
3515
3540
|
}));
|
|
3516
3541
|
return function (_x9) {
|
|
3517
|
-
return
|
|
3542
|
+
return _ref25.apply(this, arguments);
|
|
3518
3543
|
};
|
|
3519
3544
|
}());
|
|
3520
3545
|
|
|
@@ -3619,7 +3644,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3619
3644
|
}
|
|
3620
3645
|
});
|
|
3621
3646
|
this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
|
|
3622
|
-
var
|
|
3647
|
+
var _ref26 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(payload) {
|
|
3623
3648
|
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
3624
3649
|
while (1) switch (_context10.prev = _context10.next) {
|
|
3625
3650
|
case 0:
|
|
@@ -3679,7 +3704,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3679
3704
|
}, _callee10, null, [[8, 14]]);
|
|
3680
3705
|
}));
|
|
3681
3706
|
return function (_x10) {
|
|
3682
|
-
return
|
|
3707
|
+
return _ref26.apply(this, arguments);
|
|
3683
3708
|
};
|
|
3684
3709
|
}());
|
|
3685
3710
|
}
|
|
@@ -3962,6 +3987,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3962
3987
|
canStartTranscribing: _util2.default.canStartTranscribing(this.userDisplayHints),
|
|
3963
3988
|
canStopTranscribing: _util2.default.canStopTranscribing(this.userDisplayHints),
|
|
3964
3989
|
isClosedCaptionActive: _util2.default.isClosedCaptionActive(this.userDisplayHints),
|
|
3990
|
+
canStartManualCaption: _util2.default.canStartManualCaption(this.userDisplayHints),
|
|
3991
|
+
canStopManualCaption: _util2.default.canStopManualCaption(this.userDisplayHints),
|
|
3992
|
+
isManualCaptionActive: _util2.default.isManualCaptionActive(this.userDisplayHints),
|
|
3965
3993
|
isSaveTranscriptsEnabled: _util2.default.isSaveTranscriptsEnabled(this.userDisplayHints),
|
|
3966
3994
|
isWebexAssistantActive: _util2.default.isWebexAssistantActive(this.userDisplayHints),
|
|
3967
3995
|
canViewCaptionPanel: _util2.default.canViewCaptionPanel(this.userDisplayHints),
|
|
@@ -4267,6 +4295,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4267
4295
|
key: "setLocalAudioStream",
|
|
4268
4296
|
value: (function () {
|
|
4269
4297
|
var _setLocalAudioStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(localStream) {
|
|
4298
|
+
var _this$audio2;
|
|
4270
4299
|
var oldStream;
|
|
4271
4300
|
return _regenerator.default.wrap(function _callee11$(_context11) {
|
|
4272
4301
|
while (1) switch (_context11.prev = _context11.next) {
|
|
@@ -4278,7 +4307,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4278
4307
|
|
|
4279
4308
|
// we don't update this.mediaProperties.mediaDirection.sendAudio, because we always keep it as true to avoid extra SDP exchanges
|
|
4280
4309
|
this.mediaProperties.setLocalAudioStream(localStream);
|
|
4281
|
-
this.audio.handleLocalStreamChange(this);
|
|
4310
|
+
(_this$audio2 = this.audio) === null || _this$audio2 === void 0 ? void 0 : _this$audio2.handleLocalStreamChange(this);
|
|
4282
4311
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
4283
4312
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
4284
4313
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
@@ -4314,6 +4343,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4314
4343
|
key: "setLocalVideoStream",
|
|
4315
4344
|
value: (function () {
|
|
4316
4345
|
var _setLocalVideoStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(localStream) {
|
|
4346
|
+
var _this$video2;
|
|
4317
4347
|
var oldStream;
|
|
4318
4348
|
return _regenerator.default.wrap(function _callee12$(_context12) {
|
|
4319
4349
|
while (1) switch (_context12.prev = _context12.next) {
|
|
@@ -4325,7 +4355,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4325
4355
|
|
|
4326
4356
|
// we don't update this.mediaProperties.mediaDirection.sendVideo, because we always keep it as true to avoid extra SDP exchanges
|
|
4327
4357
|
this.mediaProperties.setLocalVideoStream(localStream);
|
|
4328
|
-
this.video.handleLocalStreamChange(this);
|
|
4358
|
+
(_this$video2 = this.video) === null || _this$video2 === void 0 ? void 0 : _this$video2.handleLocalStreamChange(this);
|
|
4329
4359
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
4330
4360
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
4331
4361
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
@@ -4886,11 +4916,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4886
4916
|
mediaOptions,
|
|
4887
4917
|
_options$joinOptions,
|
|
4888
4918
|
joinOptions,
|
|
4919
|
+
_this$joinWithMediaRe,
|
|
4920
|
+
isRetry,
|
|
4921
|
+
prevJoinResponse,
|
|
4889
4922
|
joined,
|
|
4923
|
+
joinResponse,
|
|
4890
4924
|
turnServerInfo,
|
|
4891
4925
|
turnDiscoverySkippedReason,
|
|
4892
4926
|
turnDiscoveryRequest,
|
|
4893
|
-
joinResponse,
|
|
4894
4927
|
_yield$this$roap$hand,
|
|
4895
4928
|
mediaResponse,
|
|
4896
4929
|
_this$locusUrl,
|
|
@@ -4902,38 +4935,46 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4902
4935
|
case 0:
|
|
4903
4936
|
options = _args15.length > 0 && _args15[0] !== undefined ? _args15[0] : {};
|
|
4904
4937
|
mediaOptions = options.mediaOptions, _options$joinOptions = options.joinOptions, joinOptions = _options$joinOptions === void 0 ? {} : _options$joinOptions;
|
|
4938
|
+
_this$joinWithMediaRe = this.joinWithMediaRetryInfo, isRetry = _this$joinWithMediaRe.isRetry, prevJoinResponse = _this$joinWithMediaRe.prevJoinResponse;
|
|
4905
4939
|
if (mediaOptions !== null && mediaOptions !== void 0 && mediaOptions.allowMediaInLobby) {
|
|
4906
|
-
_context15.next =
|
|
4940
|
+
_context15.next = 5;
|
|
4907
4941
|
break;
|
|
4908
4942
|
}
|
|
4909
4943
|
return _context15.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
|
|
4910
|
-
case
|
|
4944
|
+
case 5:
|
|
4911
4945
|
this.allowMediaInLobby = true;
|
|
4912
4946
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia called');
|
|
4913
4947
|
joined = false;
|
|
4914
|
-
|
|
4915
|
-
_context15.
|
|
4948
|
+
joinResponse = prevJoinResponse;
|
|
4949
|
+
_context15.prev = 9;
|
|
4950
|
+
_context15.next = 12;
|
|
4916
4951
|
return this.webex.meetings.reachability.getReachabilityResults();
|
|
4917
|
-
case
|
|
4952
|
+
case 12:
|
|
4918
4953
|
joinOptions.reachability = _context15.sent;
|
|
4919
|
-
_context15.next =
|
|
4954
|
+
_context15.next = 15;
|
|
4920
4955
|
return this.roap.generateTurnDiscoveryRequestMessage(this, true);
|
|
4921
|
-
case
|
|
4956
|
+
case 15:
|
|
4922
4957
|
turnDiscoveryRequest = _context15.sent;
|
|
4923
4958
|
turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
|
|
4924
4959
|
joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
|
|
4925
|
-
|
|
4960
|
+
if (joinResponse) {
|
|
4961
|
+
_context15.next = 23;
|
|
4962
|
+
break;
|
|
4963
|
+
}
|
|
4964
|
+
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia ---> calling join with joinOptions, ', joinOptions);
|
|
4965
|
+
_context15.next = 22;
|
|
4926
4966
|
return this.join(joinOptions);
|
|
4927
|
-
case
|
|
4967
|
+
case 22:
|
|
4928
4968
|
joinResponse = _context15.sent;
|
|
4969
|
+
case 23:
|
|
4929
4970
|
joined = true;
|
|
4930
4971
|
if (!joinOptions.roapMessage) {
|
|
4931
|
-
_context15.next =
|
|
4972
|
+
_context15.next = 33;
|
|
4932
4973
|
break;
|
|
4933
4974
|
}
|
|
4934
|
-
_context15.next =
|
|
4975
|
+
_context15.next = 27;
|
|
4935
4976
|
return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
|
|
4936
|
-
case
|
|
4977
|
+
case 27:
|
|
4937
4978
|
_yield$this$roap$hand = _context15.sent;
|
|
4938
4979
|
turnServerInfo = _yield$this$roap$hand.turnServerInfo;
|
|
4939
4980
|
turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
|
|
@@ -4942,55 +4983,73 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4942
4983
|
if (turnServerInfo === undefined) {
|
|
4943
4984
|
this.roap.abortTurnDiscovery();
|
|
4944
4985
|
}
|
|
4945
|
-
case
|
|
4946
|
-
_context15.next =
|
|
4986
|
+
case 33:
|
|
4987
|
+
_context15.next = 35;
|
|
4947
4988
|
return this.addMedia(mediaOptions, turnServerInfo);
|
|
4948
|
-
case
|
|
4989
|
+
case 35:
|
|
4949
4990
|
mediaResponse = _context15.sent;
|
|
4991
|
+
this.joinWithMediaRetryInfo = {
|
|
4992
|
+
isRetry: false,
|
|
4993
|
+
prevJoinResponse: undefined
|
|
4994
|
+
};
|
|
4950
4995
|
return _context15.abrupt("return", {
|
|
4951
4996
|
join: joinResponse,
|
|
4952
4997
|
media: mediaResponse
|
|
4953
4998
|
});
|
|
4954
|
-
case
|
|
4955
|
-
_context15.prev =
|
|
4956
|
-
_context15.t0 = _context15["catch"](
|
|
4999
|
+
case 40:
|
|
5000
|
+
_context15.prev = 40;
|
|
5001
|
+
_context15.t0 = _context15["catch"](9);
|
|
4957
5002
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _context15.t0);
|
|
4958
5003
|
this.roap.abortTurnDiscovery();
|
|
4959
|
-
if (!joined) {
|
|
4960
|
-
_context15.next =
|
|
5004
|
+
if (!(joined && isRetry)) {
|
|
5005
|
+
_context15.next = 54;
|
|
4961
5006
|
break;
|
|
4962
5007
|
}
|
|
4963
|
-
_context15.prev =
|
|
4964
|
-
_context15.next =
|
|
5008
|
+
_context15.prev = 45;
|
|
5009
|
+
_context15.next = 48;
|
|
4965
5010
|
return this.leave({
|
|
4966
5011
|
resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
|
|
4967
5012
|
reason: 'joinWithMedia failure'
|
|
4968
5013
|
});
|
|
4969
|
-
case
|
|
4970
|
-
_context15.next =
|
|
5014
|
+
case 48:
|
|
5015
|
+
_context15.next = 54;
|
|
4971
5016
|
break;
|
|
4972
|
-
case
|
|
4973
|
-
_context15.prev =
|
|
4974
|
-
_context15.t1 = _context15["catch"](
|
|
5017
|
+
case 50:
|
|
5018
|
+
_context15.prev = 50;
|
|
5019
|
+
_context15.t1 = _context15["catch"](45);
|
|
4975
5020
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _context15.t1);
|
|
4976
5021
|
leaveError = _context15.t1;
|
|
4977
|
-
case
|
|
5022
|
+
case 54:
|
|
4978
5023
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
4979
5024
|
correlation_id: this.correlationId,
|
|
4980
5025
|
locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
|
|
4981
5026
|
// if join fails, we may end up with no locusUrl
|
|
4982
5027
|
reason: _context15.t0.message,
|
|
4983
5028
|
stack: _context15.t0.stack,
|
|
4984
|
-
leaveErrorReason: (_leaveError = leaveError) === null || _leaveError === void 0 ? void 0 : _leaveError.message
|
|
5029
|
+
leaveErrorReason: (_leaveError = leaveError) === null || _leaveError === void 0 ? void 0 : _leaveError.message,
|
|
5030
|
+
isRetry: isRetry
|
|
4985
5031
|
}, {
|
|
4986
5032
|
type: _context15.t0.name
|
|
4987
5033
|
});
|
|
5034
|
+
if (isRetry) {
|
|
5035
|
+
_context15.next = 60;
|
|
5036
|
+
break;
|
|
5037
|
+
}
|
|
5038
|
+
_loggerProxy.default.logger.warn('Meeting:index#joinWithMedia --> retrying call to joinWithMedia');
|
|
5039
|
+
this.joinWithMediaRetryInfo.isRetry = true;
|
|
5040
|
+
this.joinWithMediaRetryInfo.prevJoinResponse = joinResponse;
|
|
5041
|
+
return _context15.abrupt("return", this.joinWithMedia(options));
|
|
5042
|
+
case 60:
|
|
5043
|
+
this.joinWithMediaRetryInfo = {
|
|
5044
|
+
isRetry: false,
|
|
5045
|
+
prevJoinResponse: undefined
|
|
5046
|
+
};
|
|
4988
5047
|
throw _context15.t0;
|
|
4989
|
-
case
|
|
5048
|
+
case 62:
|
|
4990
5049
|
case "end":
|
|
4991
5050
|
return _context15.stop();
|
|
4992
5051
|
}
|
|
4993
|
-
}, _callee15, this, [[
|
|
5052
|
+
}, _callee15, this, [[9, 40], [45, 50]]);
|
|
4994
5053
|
}));
|
|
4995
5054
|
function joinWithMedia() {
|
|
4996
5055
|
return _joinWithMedia.apply(this, arguments);
|
|
@@ -5019,66 +5078,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5019
5078
|
if (!_util2.default.isMediaEstablished(this.currentMediaStatus)) {
|
|
5020
5079
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
|
|
5021
5080
|
}
|
|
5022
|
-
|
|
5023
|
-
|
|
5024
|
-
|
|
5025
|
-
|
|
5026
|
-
|
|
5027
|
-
|
|
5028
|
-
|
|
5029
|
-
|
|
5030
|
-
|
|
5031
|
-
|
|
5032
|
-
|
|
5033
|
-
|
|
5034
|
-
}
|
|
5035
|
-
_triggerProxy.default.trigger(this, {
|
|
5036
|
-
file: 'meeting/index',
|
|
5037
|
-
function: 'reconnect'
|
|
5038
|
-
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_STARTING);
|
|
5039
|
-
return this.reconnectionManager.reconnect(options).then(function () {
|
|
5040
|
-
return _this28.waitForRemoteSDPAnswer();
|
|
5041
|
-
}).then(function () {
|
|
5042
|
-
return _this28.waitForMediaConnectionConnected();
|
|
5043
|
-
}).then(function () {
|
|
5044
|
-
_triggerProxy.default.trigger(_this28, {
|
|
5045
|
-
file: 'meeting/index',
|
|
5046
|
-
function: 'reconnect'
|
|
5047
|
-
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_SUCCESS);
|
|
5048
|
-
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
|
|
5049
|
-
|
|
5050
|
-
// @ts-ignore
|
|
5051
|
-
_this28.webex.internal.newMetrics.submitClientEvent({
|
|
5052
|
-
name: 'client.media.recovered',
|
|
5053
|
-
payload: {
|
|
5054
|
-
recoveredBy: 'new'
|
|
5055
|
-
},
|
|
5056
|
-
options: {
|
|
5057
|
-
meetingId: _this28.id
|
|
5081
|
+
return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
5082
|
+
return _regenerator.default.wrap(function _callee16$(_context16) {
|
|
5083
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
5084
|
+
case 0:
|
|
5085
|
+
_context16.next = 2;
|
|
5086
|
+
return _this28.waitForRemoteSDPAnswer();
|
|
5087
|
+
case 2:
|
|
5088
|
+
_context16.next = 4;
|
|
5089
|
+
return _this28.waitForMediaConnectionConnected();
|
|
5090
|
+
case 4:
|
|
5091
|
+
case "end":
|
|
5092
|
+
return _context16.stop();
|
|
5058
5093
|
}
|
|
5059
|
-
});
|
|
5060
|
-
|
|
5094
|
+
}, _callee16);
|
|
5095
|
+
}))).then(function () {
|
|
5096
|
+
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
|
|
5061
5097
|
}).catch(function (error) {
|
|
5062
|
-
|
|
5063
|
-
|
|
5064
|
-
|
|
5065
|
-
}
|
|
5066
|
-
error: new _reconnection.default('Reconnection failure event', error)
|
|
5067
|
-
});
|
|
5098
|
+
if (error instanceof _reconnectionNotStarted.default) {
|
|
5099
|
+
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect not started');
|
|
5100
|
+
return _promise.default.resolve();
|
|
5101
|
+
}
|
|
5068
5102
|
_loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
|
|
5069
|
-
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_RECONNECT_FAILURE, {
|
|
5070
|
-
correlation_id: _this28.correlationId,
|
|
5071
|
-
locus_id: _this28.locusUrl.split('/').pop(),
|
|
5072
|
-
reason: error.message,
|
|
5073
|
-
stack: error.stack
|
|
5074
|
-
});
|
|
5075
5103
|
_this28.uploadLogs({
|
|
5076
5104
|
file: 'meeting/index',
|
|
5077
5105
|
function: 'reconnect'
|
|
5078
5106
|
});
|
|
5079
|
-
return _promise.default.reject(
|
|
5080
|
-
}).finally(function () {
|
|
5081
|
-
_this28.reconnectionManager.reset();
|
|
5107
|
+
return _promise.default.reject(error);
|
|
5082
5108
|
});
|
|
5083
5109
|
}
|
|
5084
5110
|
|
|
@@ -5091,10 +5117,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5091
5117
|
key: "isTranscriptionSupported",
|
|
5092
5118
|
value: function isTranscriptionSupported() {
|
|
5093
5119
|
var _this$locusInfo$contr;
|
|
5094
|
-
if ((_this$locusInfo$contr = this.locusInfo.controls.transcribe) !== null && _this$locusInfo$contr !== void 0 && _this$locusInfo$contr.
|
|
5120
|
+
if ((_this$locusInfo$contr = this.locusInfo.controls.transcribe) !== null && _this$locusInfo$contr !== void 0 && _this$locusInfo$contr.caption) {
|
|
5095
5121
|
return true;
|
|
5096
5122
|
}
|
|
5097
|
-
_loggerProxy.default.logger.error('Meeting:index#isTranscriptionSupported -->
|
|
5123
|
+
_loggerProxy.default.logger.error('Meeting:index#isTranscriptionSupported --> Closed Captions is not enabled/supported');
|
|
5098
5124
|
return false;
|
|
5099
5125
|
}
|
|
5100
5126
|
|
|
@@ -5202,48 +5228,48 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5202
5228
|
}, {
|
|
5203
5229
|
key: "startTranscription",
|
|
5204
5230
|
value: (function () {
|
|
5205
|
-
var _startTranscription = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5206
|
-
return _regenerator.default.wrap(function
|
|
5207
|
-
while (1) switch (
|
|
5231
|
+
var _startTranscription = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17(options) {
|
|
5232
|
+
return _regenerator.default.wrap(function _callee17$(_context17) {
|
|
5233
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
5208
5234
|
case 0:
|
|
5209
5235
|
if (!this.isJoined()) {
|
|
5210
|
-
|
|
5236
|
+
_context17.next = 15;
|
|
5211
5237
|
break;
|
|
5212
5238
|
}
|
|
5213
5239
|
_loggerProxy.default.logger.info('Meeting:index#startTranscription --> Attempting to enable transcription!');
|
|
5214
|
-
|
|
5240
|
+
_context17.prev = 2;
|
|
5215
5241
|
if (!this.areVoiceaEventsSetup) {
|
|
5216
5242
|
this.setUpVoiceaListeners();
|
|
5217
5243
|
}
|
|
5218
5244
|
if (!(this.getCurUserType() === 'host')) {
|
|
5219
|
-
|
|
5245
|
+
_context17.next = 7;
|
|
5220
5246
|
break;
|
|
5221
5247
|
}
|
|
5222
|
-
|
|
5223
|
-
return this.webex.internal.voicea.
|
|
5248
|
+
_context17.next = 7;
|
|
5249
|
+
return this.webex.internal.voicea.turnOnCaptions(options === null || options === void 0 ? void 0 : options.spokenLanguage);
|
|
5224
5250
|
case 7:
|
|
5225
|
-
|
|
5251
|
+
_context17.next = 13;
|
|
5226
5252
|
break;
|
|
5227
5253
|
case 9:
|
|
5228
|
-
|
|
5229
|
-
|
|
5230
|
-
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(
|
|
5254
|
+
_context17.prev = 9;
|
|
5255
|
+
_context17.t0 = _context17["catch"](2);
|
|
5256
|
+
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(_context17.t0));
|
|
5231
5257
|
_metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
|
|
5232
5258
|
correlation_id: this.correlationId,
|
|
5233
|
-
reason:
|
|
5234
|
-
stack:
|
|
5259
|
+
reason: _context17.t0.message,
|
|
5260
|
+
stack: _context17.t0.stack
|
|
5235
5261
|
});
|
|
5236
5262
|
case 13:
|
|
5237
|
-
|
|
5263
|
+
_context17.next = 17;
|
|
5238
5264
|
break;
|
|
5239
5265
|
case 15:
|
|
5240
5266
|
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> meeting joined : ".concat(this.isJoined()));
|
|
5241
5267
|
throw new Error('Meeting is not joined');
|
|
5242
5268
|
case 17:
|
|
5243
5269
|
case "end":
|
|
5244
|
-
return
|
|
5270
|
+
return _context17.stop();
|
|
5245
5271
|
}
|
|
5246
|
-
},
|
|
5272
|
+
}, _callee17, this, [[2, 9]]);
|
|
5247
5273
|
}));
|
|
5248
5274
|
function startTranscription(_x15) {
|
|
5249
5275
|
return _startTranscription.apply(this, arguments);
|
|
@@ -5306,7 +5332,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5306
5332
|
}, {
|
|
5307
5333
|
key: "join",
|
|
5308
5334
|
value: (function () {
|
|
5309
|
-
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5335
|
+
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
5310
5336
|
var _this31 = this;
|
|
5311
5337
|
var options,
|
|
5312
5338
|
errorMessage,
|
|
@@ -5317,25 +5343,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5317
5343
|
_error,
|
|
5318
5344
|
_errorMessage2,
|
|
5319
5345
|
_error2,
|
|
5320
|
-
|
|
5321
|
-
return _regenerator.default.wrap(function
|
|
5322
|
-
while (1) switch (
|
|
5346
|
+
_args18 = arguments;
|
|
5347
|
+
return _regenerator.default.wrap(function _callee18$(_context18) {
|
|
5348
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
5323
5349
|
case 0:
|
|
5324
|
-
options =
|
|
5350
|
+
options = _args18.length > 0 && _args18[0] !== undefined ? _args18[0] : {};
|
|
5325
5351
|
if (this.webex.meetings.registered) {
|
|
5326
|
-
|
|
5352
|
+
_context18.next = 6;
|
|
5327
5353
|
break;
|
|
5328
5354
|
}
|
|
5329
5355
|
errorMessage = 'Meeting:index#join --> Device not registered';
|
|
5330
5356
|
error = new Error(errorMessage);
|
|
5331
5357
|
_loggerProxy.default.logger.error(errorMessage);
|
|
5332
|
-
return
|
|
5358
|
+
return _context18.abrupt("return", _promise.default.reject(error));
|
|
5333
5359
|
case 6:
|
|
5334
5360
|
if (!this.deferJoin) {
|
|
5335
|
-
|
|
5361
|
+
_context18.next = 8;
|
|
5336
5362
|
break;
|
|
5337
5363
|
}
|
|
5338
|
-
return
|
|
5364
|
+
return _context18.abrupt("return", this.deferJoin);
|
|
5339
5365
|
case 8:
|
|
5340
5366
|
// Create a deferred promise for a consistent resolve value from utils.
|
|
5341
5367
|
// This also prevents redundant API calls.
|
|
@@ -5384,15 +5410,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5384
5410
|
this.wirelessShare = true;
|
|
5385
5411
|
}
|
|
5386
5412
|
if (!options.meetingQuality) {
|
|
5387
|
-
|
|
5413
|
+
_context18.next = 36;
|
|
5388
5414
|
break;
|
|
5389
5415
|
}
|
|
5390
5416
|
if (!(typeof options.meetingQuality === 'string')) {
|
|
5391
|
-
|
|
5417
|
+
_context18.next = 27;
|
|
5392
5418
|
break;
|
|
5393
5419
|
}
|
|
5394
5420
|
if (_constants.QUALITY_LEVELS[options.meetingQuality]) {
|
|
5395
|
-
|
|
5421
|
+
_context18.next = 26;
|
|
5396
5422
|
break;
|
|
5397
5423
|
}
|
|
5398
5424
|
_errorMessage = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
|
|
@@ -5400,16 +5426,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5400
5426
|
_loggerProxy.default.logger.error(_errorMessage);
|
|
5401
5427
|
joinFailed(_error);
|
|
5402
5428
|
this.deferJoin = undefined;
|
|
5403
|
-
return
|
|
5429
|
+
return _context18.abrupt("return", _promise.default.reject(_error));
|
|
5404
5430
|
case 26:
|
|
5405
5431
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality);
|
|
5406
5432
|
case 27:
|
|
5407
5433
|
if (!((0, _typeof2.default)(options.meetingQuality) === 'object')) {
|
|
5408
|
-
|
|
5434
|
+
_context18.next = 36;
|
|
5409
5435
|
break;
|
|
5410
5436
|
}
|
|
5411
5437
|
if (_constants.QUALITY_LEVELS[options.meetingQuality.remote]) {
|
|
5412
|
-
|
|
5438
|
+
_context18.next = 35;
|
|
5413
5439
|
break;
|
|
5414
5440
|
}
|
|
5415
5441
|
_errorMessage2 = "Meeting:index#join --> ".concat(options.meetingQuality.remote, " not defined");
|
|
@@ -5417,42 +5443,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5417
5443
|
_error2 = new Error(_errorMessage2);
|
|
5418
5444
|
joinFailed(_error2);
|
|
5419
5445
|
this.deferJoin = undefined;
|
|
5420
|
-
return
|
|
5446
|
+
return _context18.abrupt("return", _promise.default.reject(new Error(_errorMessage2)));
|
|
5421
5447
|
case 35:
|
|
5422
5448
|
if (options.meetingQuality.remote) {
|
|
5423
5449
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality.remote);
|
|
5424
5450
|
}
|
|
5425
5451
|
case 36:
|
|
5426
5452
|
this.isMultistream = !!options.enableMultistream;
|
|
5427
|
-
|
|
5428
|
-
|
|
5453
|
+
_context18.prev = 37;
|
|
5454
|
+
_context18.next = 40;
|
|
5429
5455
|
return this.checkAndRefreshPermissionToken(_constants.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC, _constants.MEETING_PERMISSION_TOKEN_REFRESH_REASON);
|
|
5430
5456
|
case 40:
|
|
5431
|
-
|
|
5457
|
+
_context18.next = 51;
|
|
5432
5458
|
break;
|
|
5433
5459
|
case 42:
|
|
5434
|
-
|
|
5435
|
-
|
|
5436
|
-
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:',
|
|
5437
|
-
if (!(
|
|
5438
|
-
|
|
5460
|
+
_context18.prev = 42;
|
|
5461
|
+
_context18.t0 = _context18["catch"](37);
|
|
5462
|
+
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:', _context18.t0);
|
|
5463
|
+
if (!(_context18.t0 instanceof _captchaError.default || _context18.t0 instanceof _passwordError.default || _context18.t0 instanceof _permission.default)) {
|
|
5464
|
+
_context18.next = 51;
|
|
5439
5465
|
break;
|
|
5440
5466
|
}
|
|
5441
|
-
this.meetingFiniteStateMachine.fail(
|
|
5467
|
+
this.meetingFiniteStateMachine.fail(_context18.t0);
|
|
5442
5468
|
|
|
5443
5469
|
// Upload logs on refreshpermissionToken refresh Failure
|
|
5444
5470
|
_triggerProxy.default.trigger(this, {
|
|
5445
5471
|
file: 'meeting/index',
|
|
5446
5472
|
function: 'join'
|
|
5447
5473
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
5448
|
-
joinFailed(
|
|
5474
|
+
joinFailed(_context18.t0);
|
|
5449
5475
|
this.deferJoin = undefined;
|
|
5450
5476
|
|
|
5451
5477
|
// if refresh permission token requires captcha, password or permission, we are throwing the errors
|
|
5452
5478
|
// and bubble it up to client
|
|
5453
|
-
return
|
|
5479
|
+
return _context18.abrupt("return", _promise.default.reject(_context18.t0));
|
|
5454
5480
|
case 51:
|
|
5455
|
-
return
|
|
5481
|
+
return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
5456
5482
|
_this31.meetingFiniteStateMachine.join();
|
|
5457
5483
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
5458
5484
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
@@ -5517,9 +5543,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5517
5543
|
}));
|
|
5518
5544
|
case 52:
|
|
5519
5545
|
case "end":
|
|
5520
|
-
return
|
|
5546
|
+
return _context18.stop();
|
|
5521
5547
|
}
|
|
5522
|
-
},
|
|
5548
|
+
}, _callee18, this, [[37, 42]]);
|
|
5523
5549
|
}));
|
|
5524
5550
|
function join() {
|
|
5525
5551
|
return _join.apply(this, arguments);
|
|
@@ -5536,38 +5562,38 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5536
5562
|
}, {
|
|
5537
5563
|
key: "updateLLMConnection",
|
|
5538
5564
|
value: (function () {
|
|
5539
|
-
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5565
|
+
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
5540
5566
|
var _this32 = this;
|
|
5541
5567
|
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
|
|
5542
|
-
return _regenerator.default.wrap(function
|
|
5543
|
-
while (1) switch (
|
|
5568
|
+
return _regenerator.default.wrap(function _callee19$(_context19) {
|
|
5569
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
5544
5570
|
case 0:
|
|
5545
5571
|
// @ts-ignore - Fix type
|
|
5546
5572
|
_this$locusInfo6 = this.locusInfo, url = _this$locusInfo6.url, _this$locusInfo6$info = _this$locusInfo6.info, _this$locusInfo6$info2 = _this$locusInfo6$info === void 0 ? {} : _this$locusInfo6$info, datachannelUrl = _this$locusInfo6$info2.datachannelUrl;
|
|
5547
5573
|
isJoined = this.isJoined(); // @ts-ignore - Fix type
|
|
5548
5574
|
if (!this.webex.internal.llm.isConnected()) {
|
|
5549
|
-
|
|
5575
|
+
_context19.next = 8;
|
|
5550
5576
|
break;
|
|
5551
5577
|
}
|
|
5552
5578
|
if (!(url === this.webex.internal.llm.getLocusUrl() && isJoined)) {
|
|
5553
|
-
|
|
5579
|
+
_context19.next = 5;
|
|
5554
5580
|
break;
|
|
5555
5581
|
}
|
|
5556
|
-
return
|
|
5582
|
+
return _context19.abrupt("return", undefined);
|
|
5557
5583
|
case 5:
|
|
5558
|
-
|
|
5584
|
+
_context19.next = 7;
|
|
5559
5585
|
return this.webex.internal.llm.disconnectLLM();
|
|
5560
5586
|
case 7:
|
|
5561
5587
|
// @ts-ignore - Fix type
|
|
5562
5588
|
this.webex.internal.llm.off('event:relay.event', this.processRelayEvent);
|
|
5563
5589
|
case 8:
|
|
5564
5590
|
if (isJoined) {
|
|
5565
|
-
|
|
5591
|
+
_context19.next = 10;
|
|
5566
5592
|
break;
|
|
5567
5593
|
}
|
|
5568
|
-
return
|
|
5594
|
+
return _context19.abrupt("return", undefined);
|
|
5569
5595
|
case 10:
|
|
5570
|
-
return
|
|
5596
|
+
return _context19.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
|
|
5571
5597
|
// @ts-ignore - Fix type
|
|
5572
5598
|
_this32.webex.internal.llm.off('event:relay.event', _this32.processRelayEvent);
|
|
5573
5599
|
// @ts-ignore - Fix type
|
|
@@ -5577,9 +5603,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5577
5603
|
}));
|
|
5578
5604
|
case 11:
|
|
5579
5605
|
case "end":
|
|
5580
|
-
return
|
|
5606
|
+
return _context19.stop();
|
|
5581
5607
|
}
|
|
5582
|
-
},
|
|
5608
|
+
}, _callee19, this);
|
|
5583
5609
|
}));
|
|
5584
5610
|
function updateLLMConnection() {
|
|
5585
5611
|
return _updateLLMConnection.apply(this, arguments);
|
|
@@ -5751,17 +5777,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5751
5777
|
meetingId: this.id
|
|
5752
5778
|
}
|
|
5753
5779
|
});
|
|
5754
|
-
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5780
|
+
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20() {
|
|
5755
5781
|
var mediaSettings;
|
|
5756
|
-
return _regenerator.default.wrap(function
|
|
5757
|
-
while (1) switch (
|
|
5782
|
+
return _regenerator.default.wrap(function _callee20$(_context20) {
|
|
5783
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
5758
5784
|
case 0:
|
|
5759
|
-
|
|
5785
|
+
_context20.prev = 0;
|
|
5760
5786
|
if (!(_this35.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
5761
|
-
|
|
5787
|
+
_context20.next = 4;
|
|
5762
5788
|
break;
|
|
5763
5789
|
}
|
|
5764
|
-
|
|
5790
|
+
_context20.next = 4;
|
|
5765
5791
|
return _this35.releaseScreenShareFloor();
|
|
5766
5792
|
case 4:
|
|
5767
5793
|
mediaSettings = {
|
|
@@ -5774,37 +5800,61 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5774
5800
|
receiveShare: true
|
|
5775
5801
|
}
|
|
5776
5802
|
};
|
|
5777
|
-
_this35.cleanupLocalStreams();
|
|
5778
5803
|
_this35.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
|
5779
5804
|
_this35.mediaProperties.unsetRemoteMedia();
|
|
5780
5805
|
|
|
5781
|
-
// when a move to is intiated by the client , Locus delets the existing media node from the server as soon the
|
|
5782
|
-
// once the
|
|
5783
|
-
|
|
5784
|
-
|
|
5785
|
-
|
|
5786
|
-
|
|
5787
|
-
|
|
5806
|
+
// when a move to is intiated by the client , Locus delets the existing media node from the server as soon the device answers the meeting
|
|
5807
|
+
// once the device answers we close the old connection and create new media server connection with only share enabled
|
|
5808
|
+
if (!_this35.statsAnalyzer) {
|
|
5809
|
+
_context20.next = 10;
|
|
5810
|
+
break;
|
|
5811
|
+
}
|
|
5812
|
+
_context20.next = 10;
|
|
5813
|
+
return _this35.statsAnalyzer.stopAnalyzer();
|
|
5788
5814
|
case 10:
|
|
5789
|
-
|
|
5790
|
-
|
|
5815
|
+
_context20.next = 12;
|
|
5816
|
+
return _this35.closeRemoteStreams();
|
|
5791
5817
|
case 12:
|
|
5792
|
-
|
|
5793
|
-
|
|
5794
|
-
|
|
5818
|
+
_context20.next = 14;
|
|
5819
|
+
return _this35.closePeerConnections();
|
|
5820
|
+
case 14:
|
|
5821
|
+
_this35.cleanupLocalStreams();
|
|
5822
|
+
_this35.unsetRemoteStreams();
|
|
5823
|
+
_this35.unsetPeerConnections();
|
|
5824
|
+
_this35.reconnectionManager.cleanUp();
|
|
5825
|
+
_context20.next = 20;
|
|
5826
|
+
return _this35.addMedia({
|
|
5827
|
+
audioEnabled: false,
|
|
5828
|
+
videoEnabled: false,
|
|
5829
|
+
shareVideoEnabled: true
|
|
5830
|
+
});
|
|
5831
|
+
case 20:
|
|
5832
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
5833
|
+
_this35.isMoveToInProgress = false;
|
|
5834
|
+
_context20.next = 29;
|
|
5835
|
+
break;
|
|
5836
|
+
case 24:
|
|
5837
|
+
_context20.prev = 24;
|
|
5838
|
+
_context20.t0 = _context20["catch"](0);
|
|
5839
|
+
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context20.t0);
|
|
5795
5840
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
5796
5841
|
correlation_id: _this35.correlationId,
|
|
5797
5842
|
locus_id: _this35.locusUrl.split('/').pop(),
|
|
5798
|
-
reason:
|
|
5799
|
-
stack:
|
|
5843
|
+
reason: _context20.t0.message,
|
|
5844
|
+
stack: _context20.t0.stack
|
|
5800
5845
|
});
|
|
5801
|
-
|
|
5846
|
+
_this35.isMoveToInProgress = false;
|
|
5847
|
+
case 29:
|
|
5802
5848
|
case "end":
|
|
5803
|
-
return
|
|
5849
|
+
return _context20.stop();
|
|
5804
5850
|
}
|
|
5805
|
-
},
|
|
5851
|
+
}, _callee20, null, [[0, 24]]);
|
|
5806
5852
|
})));
|
|
5807
5853
|
_loggerProxy.default.logger.info('Meeting:index#moveTo --> Initated moved to using resourceId', resourceId);
|
|
5854
|
+
|
|
5855
|
+
// TODO: Check with locus if SELF_OBSERVING event would ever be not emitted
|
|
5856
|
+
// If yes, introduce a timeout mechanism
|
|
5857
|
+
this.isMoveToInProgress = true;
|
|
5808
5858
|
return _util2.default.joinMeetingOptions(this, {
|
|
5809
5859
|
resourceId: resourceId,
|
|
5810
5860
|
moveToResource: true
|
|
@@ -5819,6 +5869,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5819
5869
|
stack: error.stack
|
|
5820
5870
|
});
|
|
5821
5871
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
|
|
5872
|
+
_this35.isMoveToInProgress = false;
|
|
5822
5873
|
return _promise.default.reject(error);
|
|
5823
5874
|
});
|
|
5824
5875
|
}
|
|
@@ -5885,10 +5936,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5885
5936
|
}, {
|
|
5886
5937
|
key: "createMediaConnection",
|
|
5887
5938
|
value: (function () {
|
|
5888
|
-
var _createMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5939
|
+
var _createMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21(turnServerInfo, bundlePolicy) {
|
|
5889
5940
|
var mc, audioEnabled, videoEnabled, shareEnabled;
|
|
5890
|
-
return _regenerator.default.wrap(function
|
|
5891
|
-
while (1) switch (
|
|
5941
|
+
return _regenerator.default.wrap(function _callee21$(_context21) {
|
|
5942
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
5892
5943
|
case 0:
|
|
5893
5944
|
mc = _media.default.createMediaConnection(this.isMultistream, this.getMediaConnectionDebugId(),
|
|
5894
5945
|
// @ts-ignore
|
|
@@ -5914,40 +5965,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5914
5965
|
|
|
5915
5966
|
// publish the streams
|
|
5916
5967
|
if (!this.mediaProperties.audioStream) {
|
|
5917
|
-
|
|
5968
|
+
_context21.next = 8;
|
|
5918
5969
|
break;
|
|
5919
5970
|
}
|
|
5920
5971
|
this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
5921
|
-
|
|
5972
|
+
_context21.next = 8;
|
|
5922
5973
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
5923
5974
|
case 8:
|
|
5924
5975
|
if (!this.mediaProperties.videoStream) {
|
|
5925
|
-
|
|
5976
|
+
_context21.next = 11;
|
|
5926
5977
|
break;
|
|
5927
5978
|
}
|
|
5928
|
-
|
|
5979
|
+
_context21.next = 11;
|
|
5929
5980
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
5930
5981
|
case 11:
|
|
5931
5982
|
if (!this.mediaProperties.shareVideoStream) {
|
|
5932
|
-
|
|
5983
|
+
_context21.next = 14;
|
|
5933
5984
|
break;
|
|
5934
5985
|
}
|
|
5935
|
-
|
|
5986
|
+
_context21.next = 14;
|
|
5936
5987
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
5937
5988
|
case 14:
|
|
5938
5989
|
if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
|
|
5939
|
-
|
|
5990
|
+
_context21.next = 17;
|
|
5940
5991
|
break;
|
|
5941
5992
|
}
|
|
5942
|
-
|
|
5993
|
+
_context21.next = 17;
|
|
5943
5994
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
5944
5995
|
case 17:
|
|
5945
|
-
return
|
|
5996
|
+
return _context21.abrupt("return", mc);
|
|
5946
5997
|
case 18:
|
|
5947
5998
|
case "end":
|
|
5948
|
-
return
|
|
5999
|
+
return _context21.stop();
|
|
5949
6000
|
}
|
|
5950
|
-
},
|
|
6001
|
+
}, _callee21, this);
|
|
5951
6002
|
}));
|
|
5952
6003
|
function createMediaConnection(_x16, _x17) {
|
|
5953
6004
|
return _createMediaConnection.apply(this, arguments);
|
|
@@ -5987,11 +6038,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5987
6038
|
}, {
|
|
5988
6039
|
key: "setUpLocalStreamReferences",
|
|
5989
6040
|
value: (function () {
|
|
5990
|
-
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6041
|
+
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee22(localStreams) {
|
|
5991
6042
|
var _localStreams$microph, _localStreams$camera, _localStreams$screenS, _localStreams$screenS2, _localStreams$screenS3, _localStreams$screenS4, _localStreams$screenS5, _localStreams$screenS6;
|
|
5992
6043
|
var setUpStreamPromises;
|
|
5993
|
-
return _regenerator.default.wrap(function
|
|
5994
|
-
while (1) switch (
|
|
6044
|
+
return _regenerator.default.wrap(function _callee22$(_context22) {
|
|
6045
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
5995
6046
|
case 0:
|
|
5996
6047
|
setUpStreamPromises = [];
|
|
5997
6048
|
if (localStreams !== null && localStreams !== void 0 && localStreams.microphone && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$microph = localStreams.microphone) === null || _localStreams$microph === void 0 ? void 0 : _localStreams$microph.readyState) !== 'ended') {
|
|
@@ -6006,22 +6057,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6006
6057
|
if (localStreams !== null && localStreams !== void 0 && (_localStreams$screenS4 = localStreams.screenShare) !== null && _localStreams$screenS4 !== void 0 && _localStreams$screenS4.audio && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$screenS5 = localStreams.screenShare) === null || _localStreams$screenS5 === void 0 ? void 0 : (_localStreams$screenS6 = _localStreams$screenS5.audio) === null || _localStreams$screenS6 === void 0 ? void 0 : _localStreams$screenS6.readyState) !== 'ended') {
|
|
6007
6058
|
setUpStreamPromises.push(this.setLocalShareAudioStream(localStreams.screenShare.audio));
|
|
6008
6059
|
}
|
|
6009
|
-
|
|
6010
|
-
|
|
6060
|
+
_context22.prev = 5;
|
|
6061
|
+
_context22.next = 8;
|
|
6011
6062
|
return _promise.default.all(setUpStreamPromises);
|
|
6012
6063
|
case 8:
|
|
6013
|
-
|
|
6064
|
+
_context22.next = 14;
|
|
6014
6065
|
break;
|
|
6015
6066
|
case 10:
|
|
6016
|
-
|
|
6017
|
-
|
|
6018
|
-
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ",
|
|
6019
|
-
throw
|
|
6067
|
+
_context22.prev = 10;
|
|
6068
|
+
_context22.t0 = _context22["catch"](5);
|
|
6069
|
+
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _context22.t0);
|
|
6070
|
+
throw _context22.t0;
|
|
6020
6071
|
case 14:
|
|
6021
6072
|
case "end":
|
|
6022
|
-
return
|
|
6073
|
+
return _context22.stop();
|
|
6023
6074
|
}
|
|
6024
|
-
},
|
|
6075
|
+
}, _callee22, this, [[5, 10]]);
|
|
6025
6076
|
}));
|
|
6026
6077
|
function setUpLocalStreamReferences(_x18) {
|
|
6027
6078
|
return _setUpLocalStreamReferences.apply(this, arguments);
|
|
@@ -6038,20 +6089,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6038
6089
|
}, {
|
|
6039
6090
|
key: "waitForMediaConnectionConnected",
|
|
6040
6091
|
value: (function () {
|
|
6041
|
-
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6092
|
+
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23() {
|
|
6042
6093
|
var _this$mediaProperties6, _this$mediaProperties7, _this$mediaProperties8, _this$mediaProperties9, _this$mediaProperties10, _this$mediaProperties11, _this$mediaProperties12, _this$mediaProperties13, _this$mediaProperties14, _this$mediaProperties15, _this$mediaProperties16, _this$mediaProperties17, _this$mediaProperties18, _this$mediaProperties19;
|
|
6043
|
-
return _regenerator.default.wrap(function
|
|
6044
|
-
while (1) switch (
|
|
6094
|
+
return _regenerator.default.wrap(function _callee23$(_context23) {
|
|
6095
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
6045
6096
|
case 0:
|
|
6046
|
-
|
|
6047
|
-
|
|
6097
|
+
_context23.prev = 0;
|
|
6098
|
+
_context23.next = 3;
|
|
6048
6099
|
return this.mediaProperties.waitForMediaConnectionConnected();
|
|
6049
6100
|
case 3:
|
|
6050
|
-
|
|
6101
|
+
_context23.next = 9;
|
|
6051
6102
|
break;
|
|
6052
6103
|
case 5:
|
|
6053
|
-
|
|
6054
|
-
|
|
6104
|
+
_context23.prev = 5;
|
|
6105
|
+
_context23.t0 = _context23["catch"](0);
|
|
6055
6106
|
if (!this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
6056
6107
|
// Only send CA event for join flow if we haven't successfully connected media yet
|
|
6057
6108
|
// @ts-ignore
|
|
@@ -6079,9 +6130,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6079
6130
|
throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(this.correlationId));
|
|
6080
6131
|
case 9:
|
|
6081
6132
|
case "end":
|
|
6082
|
-
return
|
|
6133
|
+
return _context23.stop();
|
|
6083
6134
|
}
|
|
6084
|
-
},
|
|
6135
|
+
}, _callee23, this, [[0, 5]]);
|
|
6085
6136
|
}));
|
|
6086
6137
|
function waitForMediaConnectionConnected() {
|
|
6087
6138
|
return _waitForMediaConnectionConnected.apply(this, arguments);
|
|
@@ -6131,18 +6182,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6131
6182
|
* @returns {Promise<void>}
|
|
6132
6183
|
*/
|
|
6133
6184
|
function () {
|
|
6134
|
-
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6185
|
+
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
6135
6186
|
var LOG_HEADER, deferSDPAnswer;
|
|
6136
|
-
return _regenerator.default.wrap(function
|
|
6137
|
-
while (1) switch (
|
|
6187
|
+
return _regenerator.default.wrap(function _callee24$(_context24) {
|
|
6188
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
6138
6189
|
case 0:
|
|
6139
6190
|
LOG_HEADER = 'Meeting:index#addMedia():waitForRemoteSDPAnswer -->';
|
|
6140
6191
|
if (this.deferSDPAnswer) {
|
|
6141
|
-
|
|
6192
|
+
_context24.next = 4;
|
|
6142
6193
|
break;
|
|
6143
6194
|
}
|
|
6144
6195
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " offer not created yet"));
|
|
6145
|
-
return
|
|
6196
|
+
return _context24.abrupt("return", _promise.default.reject(new Error('waitForRemoteSDPAnswer() called before local sdp offer created')));
|
|
6146
6197
|
case 4:
|
|
6147
6198
|
deferSDPAnswer = this.deferSDPAnswer;
|
|
6148
6199
|
this.sdpResponseTimer = setTimeout(function () {
|
|
@@ -6150,12 +6201,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6150
6201
|
deferSDPAnswer.reject(new Error('Timed out waiting for REMOTE SDP ANSWER'));
|
|
6151
6202
|
}, _constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT);
|
|
6152
6203
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " waiting for REMOTE SDP ANSWER..."));
|
|
6153
|
-
return
|
|
6204
|
+
return _context24.abrupt("return", deferSDPAnswer.promise);
|
|
6154
6205
|
case 8:
|
|
6155
6206
|
case "end":
|
|
6156
|
-
return
|
|
6207
|
+
return _context24.stop();
|
|
6157
6208
|
}
|
|
6158
|
-
},
|
|
6209
|
+
}, _callee24, this);
|
|
6159
6210
|
}));
|
|
6160
6211
|
function waitForRemoteSDPAnswer() {
|
|
6161
6212
|
return _waitForRemoteSDPAnswer.apply(this, arguments);
|
|
@@ -6174,28 +6225,28 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6174
6225
|
}, {
|
|
6175
6226
|
key: "retryEstablishMediaConnectionWithForcedTurnDiscovery",
|
|
6176
6227
|
value: (function () {
|
|
6177
|
-
var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6228
|
+
var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee25(remoteMediaManagerConfig, bundlePolicy) {
|
|
6178
6229
|
var LOG_HEADER;
|
|
6179
|
-
return _regenerator.default.wrap(function
|
|
6180
|
-
while (1) switch (
|
|
6230
|
+
return _regenerator.default.wrap(function _callee25$(_context25) {
|
|
6231
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
6181
6232
|
case 0:
|
|
6182
6233
|
LOG_HEADER = 'Meeting:index#addMedia():retryEstablishMediaConnectionWithForcedTurnDiscovery -->';
|
|
6183
|
-
|
|
6184
|
-
|
|
6234
|
+
_context25.prev = 1;
|
|
6235
|
+
_context25.next = 4;
|
|
6185
6236
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true);
|
|
6186
6237
|
case 4:
|
|
6187
|
-
|
|
6238
|
+
_context25.next = 10;
|
|
6188
6239
|
break;
|
|
6189
6240
|
case 6:
|
|
6190
|
-
|
|
6191
|
-
|
|
6192
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "),
|
|
6193
|
-
throw
|
|
6241
|
+
_context25.prev = 6;
|
|
6242
|
+
_context25.t0 = _context25["catch"](1);
|
|
6243
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "), _context25.t0);
|
|
6244
|
+
throw _context25.t0;
|
|
6194
6245
|
case 10:
|
|
6195
6246
|
case "end":
|
|
6196
|
-
return
|
|
6247
|
+
return _context25.stop();
|
|
6197
6248
|
}
|
|
6198
|
-
},
|
|
6249
|
+
}, _callee25, this, [[1, 6]]);
|
|
6199
6250
|
}));
|
|
6200
6251
|
function retryEstablishMediaConnectionWithForcedTurnDiscovery(_x19, _x20) {
|
|
6201
6252
|
return _retryEstablishMediaConnectionWithForcedTurnDiscovery.apply(this, arguments);
|
|
@@ -6215,14 +6266,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6215
6266
|
}, {
|
|
6216
6267
|
key: "retryWithForcedTurnDiscovery",
|
|
6217
6268
|
value: (function () {
|
|
6218
|
-
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6269
|
+
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee26(remoteMediaManagerConfig, bundlePolicy) {
|
|
6219
6270
|
var LOG_HEADER;
|
|
6220
|
-
return _regenerator.default.wrap(function
|
|
6221
|
-
while (1) switch (
|
|
6271
|
+
return _regenerator.default.wrap(function _callee26$(_context26) {
|
|
6272
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
6222
6273
|
case 0:
|
|
6223
6274
|
this.retriedWithTurnServer = true;
|
|
6224
6275
|
LOG_HEADER = 'Meeting:index#addMedia():retryWithForcedTurnDiscovery -->';
|
|
6225
|
-
|
|
6276
|
+
_context26.next = 4;
|
|
6226
6277
|
return this.cleanUpBeforeRetryWithTurnServer();
|
|
6227
6278
|
case 4:
|
|
6228
6279
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_RETRY, {
|
|
@@ -6232,22 +6283,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6232
6283
|
reason: 'forcingTurnTls'
|
|
6233
6284
|
});
|
|
6234
6285
|
if (!(this.state === _constants.MEETING_STATE.STATES.LEFT)) {
|
|
6235
|
-
|
|
6286
|
+
_context26.next = 9;
|
|
6236
6287
|
break;
|
|
6237
6288
|
}
|
|
6238
6289
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " meeting state was LEFT after first attempt to establish media connection. Attempting to rejoin. "));
|
|
6239
|
-
|
|
6290
|
+
_context26.next = 9;
|
|
6240
6291
|
return this.join({
|
|
6241
6292
|
rejoin: true
|
|
6242
6293
|
});
|
|
6243
6294
|
case 9:
|
|
6244
|
-
|
|
6295
|
+
_context26.next = 11;
|
|
6245
6296
|
return this.retryEstablishMediaConnectionWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
6246
6297
|
case 11:
|
|
6247
6298
|
case "end":
|
|
6248
|
-
return
|
|
6299
|
+
return _context26.stop();
|
|
6249
6300
|
}
|
|
6250
|
-
},
|
|
6301
|
+
}, _callee26, this);
|
|
6251
6302
|
}));
|
|
6252
6303
|
function retryWithForcedTurnDiscovery(_x21, _x22) {
|
|
6253
6304
|
return _retryWithForcedTurnDiscovery.apply(this, arguments);
|
|
@@ -6269,30 +6320,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6269
6320
|
}, {
|
|
6270
6321
|
key: "handleWaitForMediaConnectionConnectedError",
|
|
6271
6322
|
value: (function () {
|
|
6272
|
-
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6323
|
+
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee27(error, remoteMediaManagerConfig, bundlePolicy) {
|
|
6273
6324
|
var LOG_HEADER;
|
|
6274
|
-
return _regenerator.default.wrap(function
|
|
6275
|
-
while (1) switch (
|
|
6325
|
+
return _regenerator.default.wrap(function _callee27$(_context27) {
|
|
6326
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
6276
6327
|
case 0:
|
|
6277
6328
|
LOG_HEADER = 'Meeting:index#addMedia():handleWaitForMediaConnectionConnectedError -->'; // @ts-ignore - config coming from registerPlugin
|
|
6278
6329
|
if (this.turnServerUsed) {
|
|
6279
|
-
|
|
6330
|
+
_context27.next = 7;
|
|
6280
6331
|
break;
|
|
6281
6332
|
}
|
|
6282
6333
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " error waiting for media to connect on UDP, TCP, retrying using TURN-TLS, "), error);
|
|
6283
|
-
|
|
6334
|
+
_context27.next = 5;
|
|
6284
6335
|
return this.retryWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
6285
6336
|
case 5:
|
|
6286
|
-
|
|
6337
|
+
_context27.next = 9;
|
|
6287
6338
|
break;
|
|
6288
6339
|
case 7:
|
|
6289
6340
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error waiting for media to connect using UDP, TCP and TURN-TLS"), error);
|
|
6290
6341
|
throw new _webexErrors.AddMediaFailed();
|
|
6291
6342
|
case 9:
|
|
6292
6343
|
case "end":
|
|
6293
|
-
return
|
|
6344
|
+
return _context27.stop();
|
|
6294
6345
|
}
|
|
6295
|
-
},
|
|
6346
|
+
}, _callee27, this);
|
|
6296
6347
|
}));
|
|
6297
6348
|
function handleWaitForMediaConnectionConnectedError(_x23, _x24, _x25) {
|
|
6298
6349
|
return _handleWaitForMediaConnectionConnectedError.apply(this, arguments);
|
|
@@ -6302,7 +6353,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6302
6353
|
/**
|
|
6303
6354
|
* Performs TURN discovery as a separate call to the Locus /media API
|
|
6304
6355
|
*
|
|
6305
|
-
* @param {boolean}
|
|
6356
|
+
* @param {boolean} isReconnecting
|
|
6306
6357
|
* @param {boolean} isForced
|
|
6307
6358
|
* @returns {Promise}
|
|
6308
6359
|
*/
|
|
@@ -6310,20 +6361,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6310
6361
|
}, {
|
|
6311
6362
|
key: "doTurnDiscovery",
|
|
6312
6363
|
value: (function () {
|
|
6313
|
-
var _doTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6364
|
+
var _doTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee28(isReconnecting, isForced) {
|
|
6314
6365
|
var cdl, turnDiscoveryResult;
|
|
6315
|
-
return _regenerator.default.wrap(function
|
|
6316
|
-
while (1) switch (
|
|
6366
|
+
return _regenerator.default.wrap(function _callee28$(_context28) {
|
|
6367
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
6317
6368
|
case 0:
|
|
6318
6369
|
// @ts-ignore
|
|
6319
6370
|
cdl = this.webex.internal.newMetrics.callDiagnosticLatencies; // @ts-ignore
|
|
6320
6371
|
this.webex.internal.newMetrics.submitInternalEvent({
|
|
6321
6372
|
name: 'internal.client.add-media.turn-discovery.start'
|
|
6322
6373
|
});
|
|
6323
|
-
|
|
6324
|
-
return this.roap.doTurnDiscovery(this,
|
|
6374
|
+
_context28.next = 4;
|
|
6375
|
+
return this.roap.doTurnDiscovery(this, isReconnecting, isForced);
|
|
6325
6376
|
case 4:
|
|
6326
|
-
turnDiscoveryResult =
|
|
6377
|
+
turnDiscoveryResult = _context28.sent;
|
|
6327
6378
|
this.turnDiscoverySkippedReason = turnDiscoveryResult === null || turnDiscoveryResult === void 0 ? void 0 : turnDiscoveryResult.turnDiscoverySkippedReason;
|
|
6328
6379
|
this.turnServerUsed = !this.turnDiscoverySkippedReason;
|
|
6329
6380
|
|
|
@@ -6339,12 +6390,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6339
6390
|
retriedWithTurnServer: this.retriedWithTurnServer
|
|
6340
6391
|
});
|
|
6341
6392
|
}
|
|
6342
|
-
return
|
|
6393
|
+
return _context28.abrupt("return", turnDiscoveryResult);
|
|
6343
6394
|
case 10:
|
|
6344
6395
|
case "end":
|
|
6345
|
-
return
|
|
6396
|
+
return _context28.stop();
|
|
6346
6397
|
}
|
|
6347
|
-
},
|
|
6398
|
+
}, _callee28, this);
|
|
6348
6399
|
}));
|
|
6349
6400
|
function doTurnDiscovery(_x26, _x27) {
|
|
6350
6401
|
return _doTurnDiscovery.apply(this, arguments);
|
|
@@ -6365,31 +6416,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6365
6416
|
}, {
|
|
6366
6417
|
key: "establishMediaConnection",
|
|
6367
6418
|
value: (function () {
|
|
6368
|
-
var _establishMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6369
|
-
var LOG_HEADER,
|
|
6370
|
-
return _regenerator.default.wrap(function
|
|
6371
|
-
while (1) switch (
|
|
6419
|
+
var _establishMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee29(remoteMediaManagerConfig, bundlePolicy, isForced, turnServerInfo) {
|
|
6420
|
+
var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc;
|
|
6421
|
+
return _regenerator.default.wrap(function _callee29$(_context29) {
|
|
6422
|
+
while (1) switch (_context29.prev = _context29.next) {
|
|
6372
6423
|
case 0:
|
|
6373
6424
|
LOG_HEADER = 'Meeting:index#addMedia():establishMediaConnection -->';
|
|
6374
|
-
|
|
6375
|
-
|
|
6425
|
+
isReconnecting = this.isMoveToInProgress || this.retriedWithTurnServer; // We are forcing turn discovery if the case is moveTo and a turn server was used already
|
|
6426
|
+
if (this.isMoveToInProgress && this.turnServerUsed) {
|
|
6427
|
+
isForced = true;
|
|
6428
|
+
}
|
|
6429
|
+
_context29.prev = 3;
|
|
6376
6430
|
if (turnServerInfo) {
|
|
6377
|
-
|
|
6431
|
+
_context29.next = 9;
|
|
6378
6432
|
break;
|
|
6379
6433
|
}
|
|
6380
|
-
|
|
6381
|
-
return this.doTurnDiscovery(
|
|
6382
|
-
case
|
|
6383
|
-
_yield$this$doTurnDis =
|
|
6434
|
+
_context29.next = 7;
|
|
6435
|
+
return this.doTurnDiscovery(isReconnecting, isForced);
|
|
6436
|
+
case 7:
|
|
6437
|
+
_yield$this$doTurnDis = _context29.sent;
|
|
6384
6438
|
turnServerInfo = _yield$this$doTurnDis.turnServerInfo;
|
|
6385
|
-
case
|
|
6386
|
-
|
|
6439
|
+
case 9:
|
|
6440
|
+
_context29.next = 11;
|
|
6387
6441
|
return this.createMediaConnection(turnServerInfo, bundlePolicy);
|
|
6388
|
-
case
|
|
6389
|
-
mc =
|
|
6442
|
+
case 11:
|
|
6443
|
+
mc = _context29.sent;
|
|
6390
6444
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created"));
|
|
6391
6445
|
if (!this.isMultistream) {
|
|
6392
|
-
|
|
6446
|
+
_context29.next = 21;
|
|
6393
6447
|
break;
|
|
6394
6448
|
}
|
|
6395
6449
|
this.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(this.receiveSlotManager, this.mediaRequestManagers, remoteMediaManagerConfig);
|
|
@@ -6397,40 +6451,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6397
6451
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.InterpretationAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_INTERPRETATION_AUDIO_CREATED);
|
|
6398
6452
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
|
|
6399
6453
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
|
|
6400
|
-
|
|
6454
|
+
_context29.next = 21;
|
|
6401
6455
|
return this.remoteMediaManager.start();
|
|
6402
|
-
case
|
|
6403
|
-
|
|
6456
|
+
case 21:
|
|
6457
|
+
_context29.next = 23;
|
|
6404
6458
|
return mc.initiateOffer();
|
|
6405
|
-
case
|
|
6406
|
-
|
|
6459
|
+
case 23:
|
|
6460
|
+
_context29.next = 25;
|
|
6407
6461
|
return this.waitForRemoteSDPAnswer();
|
|
6408
|
-
case
|
|
6462
|
+
case 25:
|
|
6409
6463
|
this.handleMediaLogging(this.mediaProperties);
|
|
6410
|
-
|
|
6464
|
+
_context29.next = 32;
|
|
6411
6465
|
break;
|
|
6412
|
-
case
|
|
6413
|
-
|
|
6414
|
-
|
|
6415
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "),
|
|
6416
|
-
throw
|
|
6417
|
-
case
|
|
6418
|
-
|
|
6419
|
-
|
|
6466
|
+
case 28:
|
|
6467
|
+
_context29.prev = 28;
|
|
6468
|
+
_context29.t0 = _context29["catch"](3);
|
|
6469
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _context29.t0);
|
|
6470
|
+
throw _context29.t0;
|
|
6471
|
+
case 32:
|
|
6472
|
+
_context29.prev = 32;
|
|
6473
|
+
_context29.next = 35;
|
|
6420
6474
|
return this.waitForMediaConnectionConnected();
|
|
6421
|
-
case
|
|
6422
|
-
|
|
6475
|
+
case 35:
|
|
6476
|
+
_context29.next = 41;
|
|
6423
6477
|
break;
|
|
6424
|
-
case
|
|
6425
|
-
|
|
6426
|
-
|
|
6427
|
-
|
|
6428
|
-
return this.handleWaitForMediaConnectionConnectedError(
|
|
6429
|
-
case
|
|
6478
|
+
case 37:
|
|
6479
|
+
_context29.prev = 37;
|
|
6480
|
+
_context29.t1 = _context29["catch"](32);
|
|
6481
|
+
_context29.next = 41;
|
|
6482
|
+
return this.handleWaitForMediaConnectionConnectedError(_context29.t1, remoteMediaManagerConfig, bundlePolicy);
|
|
6483
|
+
case 41:
|
|
6430
6484
|
case "end":
|
|
6431
|
-
return
|
|
6485
|
+
return _context29.stop();
|
|
6432
6486
|
}
|
|
6433
|
-
},
|
|
6487
|
+
}, _callee29, this, [[3, 28], [32, 37]]);
|
|
6434
6488
|
}));
|
|
6435
6489
|
function establishMediaConnection(_x28, _x29, _x30, _x31) {
|
|
6436
6490
|
return _establishMediaConnection.apply(this, arguments);
|
|
@@ -6447,22 +6501,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6447
6501
|
}, {
|
|
6448
6502
|
key: "cleanUpOnAddMediaFailure",
|
|
6449
6503
|
value: (function () {
|
|
6450
|
-
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6451
|
-
return _regenerator.default.wrap(function
|
|
6452
|
-
while (1) switch (
|
|
6504
|
+
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee30() {
|
|
6505
|
+
return _regenerator.default.wrap(function _callee30$(_context30) {
|
|
6506
|
+
while (1) switch (_context30.prev = _context30.next) {
|
|
6453
6507
|
case 0:
|
|
6454
6508
|
if (!this.statsAnalyzer) {
|
|
6455
|
-
|
|
6509
|
+
_context30.next = 3;
|
|
6456
6510
|
break;
|
|
6457
6511
|
}
|
|
6458
|
-
|
|
6512
|
+
_context30.next = 3;
|
|
6459
6513
|
return this.statsAnalyzer.stopAnalyzer();
|
|
6460
6514
|
case 3:
|
|
6461
6515
|
this.statsAnalyzer = null;
|
|
6462
6516
|
|
|
6463
6517
|
// when media fails, we want to upload a webrtc dump to see whats going on
|
|
6464
6518
|
// this function is async, but returns once the stats have been gathered
|
|
6465
|
-
|
|
6519
|
+
_context30.next = 6;
|
|
6466
6520
|
return this.forceSendStatsReport({
|
|
6467
6521
|
callFrom: 'addMedia'
|
|
6468
6522
|
});
|
|
@@ -6473,9 +6527,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6473
6527
|
}
|
|
6474
6528
|
case 7:
|
|
6475
6529
|
case "end":
|
|
6476
|
-
return
|
|
6530
|
+
return _context30.stop();
|
|
6477
6531
|
}
|
|
6478
|
-
},
|
|
6532
|
+
}, _callee30, this);
|
|
6479
6533
|
}));
|
|
6480
6534
|
function cleanUpOnAddMediaFailure() {
|
|
6481
6535
|
return _cleanUpOnAddMediaFailure.apply(this, arguments);
|
|
@@ -6493,11 +6547,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6493
6547
|
}, {
|
|
6494
6548
|
key: "cleanUpBeforeRetryWithTurnServer",
|
|
6495
6549
|
value: (function () {
|
|
6496
|
-
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6497
|
-
return _regenerator.default.wrap(function
|
|
6498
|
-
while (1) switch (
|
|
6550
|
+
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee31() {
|
|
6551
|
+
return _regenerator.default.wrap(function _callee31$(_context31) {
|
|
6552
|
+
while (1) switch (_context31.prev = _context31.next) {
|
|
6499
6553
|
case 0:
|
|
6500
|
-
|
|
6554
|
+
_context31.next = 2;
|
|
6501
6555
|
return this.forceSendStatsReport({
|
|
6502
6556
|
callFrom: 'cleanUpBeforeRetryWithTurnServer'
|
|
6503
6557
|
});
|
|
@@ -6517,9 +6571,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6517
6571
|
}
|
|
6518
6572
|
case 3:
|
|
6519
6573
|
case "end":
|
|
6520
|
-
return
|
|
6574
|
+
return _context31.stop();
|
|
6521
6575
|
}
|
|
6522
|
-
},
|
|
6576
|
+
}, _callee31, this);
|
|
6523
6577
|
}));
|
|
6524
6578
|
function cleanUpBeforeRetryWithTurnServer() {
|
|
6525
6579
|
return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
|
|
@@ -6539,7 +6593,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6539
6593
|
}, {
|
|
6540
6594
|
key: "addMedia",
|
|
6541
6595
|
value: (function () {
|
|
6542
|
-
var _addMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6596
|
+
var _addMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee32() {
|
|
6543
6597
|
var _this$webex$meetings$2, _this$webex$meetings$3;
|
|
6544
6598
|
var options,
|
|
6545
6599
|
turnServerInfo,
|
|
@@ -6556,7 +6610,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6556
6610
|
remoteMediaManagerConfig,
|
|
6557
6611
|
bundlePolicy,
|
|
6558
6612
|
_this$remoteMediaMana,
|
|
6613
|
+
_yield$this$mediaProp,
|
|
6559
6614
|
connectionType,
|
|
6615
|
+
selectedCandidatePairChanges,
|
|
6616
|
+
numTransports,
|
|
6560
6617
|
reachabilityStats,
|
|
6561
6618
|
_this$mediaProperties20,
|
|
6562
6619
|
_this$mediaProperties21,
|
|
@@ -6580,24 +6637,27 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6580
6637
|
_this$mediaProperties39,
|
|
6581
6638
|
_this$mediaProperties40,
|
|
6582
6639
|
reachabilityMetrics,
|
|
6583
|
-
|
|
6584
|
-
|
|
6585
|
-
|
|
6640
|
+
_yield$this$mediaProp2,
|
|
6641
|
+
_selectedCandidatePairChanges,
|
|
6642
|
+
_numTransports,
|
|
6643
|
+
_args32 = arguments;
|
|
6644
|
+
return _regenerator.default.wrap(function _callee32$(_context32) {
|
|
6645
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
6586
6646
|
case 0:
|
|
6587
|
-
options =
|
|
6588
|
-
turnServerInfo =
|
|
6647
|
+
options = _args32.length > 0 && _args32[0] !== undefined ? _args32[0] : {};
|
|
6648
|
+
turnServerInfo = _args32.length > 1 && _args32[1] !== undefined ? _args32[1] : undefined;
|
|
6589
6649
|
this.retriedWithTurnServer = false;
|
|
6590
6650
|
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
6591
6651
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
6592
6652
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: ").concat((0, _stringify.default)(options), ", ").concat((0, _stringify.default)(turnServerInfo)));
|
|
6593
6653
|
if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
6594
|
-
|
|
6654
|
+
_context32.next = 8;
|
|
6595
6655
|
break;
|
|
6596
6656
|
}
|
|
6597
6657
|
throw new _webexErrors.MeetingNotActiveError();
|
|
6598
6658
|
case 8:
|
|
6599
6659
|
if (!_util2.default.isUserInLeftState(this.locusInfo)) {
|
|
6600
|
-
|
|
6660
|
+
_context32.next = 10;
|
|
6601
6661
|
break;
|
|
6602
6662
|
}
|
|
6603
6663
|
throw new _webexErrors.UserNotJoinedError();
|
|
@@ -6608,7 +6668,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6608
6668
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
6609
6669
|
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
6610
6670
|
if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
|
|
6611
|
-
|
|
6671
|
+
_context32.next = 14;
|
|
6612
6672
|
break;
|
|
6613
6673
|
}
|
|
6614
6674
|
throw new _webexErrors.UserInLobbyError();
|
|
@@ -6651,6 +6711,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6651
6711
|
});
|
|
6652
6712
|
this.locusMediaRequest = new _locusMediaRequest.LocusMediaRequest({
|
|
6653
6713
|
correlationId: this.correlationId,
|
|
6714
|
+
meetingId: this.id,
|
|
6654
6715
|
device: {
|
|
6655
6716
|
url: this.deviceUrl,
|
|
6656
6717
|
// @ts-ignore
|
|
@@ -6667,48 +6728,54 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6667
6728
|
});
|
|
6668
6729
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
6669
6730
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
6670
|
-
|
|
6671
|
-
|
|
6731
|
+
_context32.prev = 19;
|
|
6732
|
+
_context32.next = 22;
|
|
6672
6733
|
return this.setUpLocalStreamReferences(localStreams);
|
|
6673
6734
|
case 22:
|
|
6674
6735
|
this.setMercuryListener();
|
|
6675
6736
|
this.createStatsAnalyzer();
|
|
6676
|
-
|
|
6737
|
+
_context32.next = 26;
|
|
6677
6738
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, false, turnServerInfo);
|
|
6678
6739
|
case 26:
|
|
6679
6740
|
if (!(audioEnabled || videoEnabled)) {
|
|
6680
|
-
|
|
6741
|
+
_context32.next = 31;
|
|
6681
6742
|
break;
|
|
6682
6743
|
}
|
|
6683
|
-
|
|
6744
|
+
_context32.next = 29;
|
|
6684
6745
|
return Meeting.handleDeviceLogging();
|
|
6685
6746
|
case 29:
|
|
6686
|
-
|
|
6747
|
+
_context32.next = 32;
|
|
6687
6748
|
break;
|
|
6688
6749
|
case 31:
|
|
6689
6750
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " device logging not required"));
|
|
6690
6751
|
case 32:
|
|
6691
6752
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
6692
|
-
|
|
6753
|
+
_context32.next = 35;
|
|
6693
6754
|
break;
|
|
6694
6755
|
}
|
|
6695
|
-
|
|
6756
|
+
_context32.next = 35;
|
|
6696
6757
|
return this.enqueueScreenShareFloorRequest();
|
|
6697
6758
|
case 35:
|
|
6698
|
-
|
|
6699
|
-
return this.mediaProperties.
|
|
6759
|
+
_context32.next = 37;
|
|
6760
|
+
return this.mediaProperties.getCurrentConnectionInfo();
|
|
6700
6761
|
case 37:
|
|
6701
|
-
|
|
6702
|
-
|
|
6762
|
+
_yield$this$mediaProp = _context32.sent;
|
|
6763
|
+
connectionType = _yield$this$mediaProp.connectionType;
|
|
6764
|
+
selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
|
|
6765
|
+
numTransports = _yield$this$mediaProp.numTransports;
|
|
6766
|
+
_context32.next = 43;
|
|
6703
6767
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6704
|
-
case
|
|
6705
|
-
reachabilityStats =
|
|
6768
|
+
case 43:
|
|
6769
|
+
reachabilityStats = _context32.sent;
|
|
6706
6770
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread({
|
|
6707
6771
|
correlation_id: this.correlationId,
|
|
6708
6772
|
locus_id: this.locusUrl.split('/').pop(),
|
|
6709
6773
|
connectionType: connectionType,
|
|
6774
|
+
selectedCandidatePairChanges: selectedCandidatePairChanges,
|
|
6775
|
+
numTransports: numTransports,
|
|
6710
6776
|
isMultistream: this.isMultistream,
|
|
6711
|
-
retriedWithTurnServer: this.retriedWithTurnServer
|
|
6777
|
+
retriedWithTurnServer: this.retriedWithTurnServer,
|
|
6778
|
+
isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry
|
|
6712
6779
|
}, reachabilityStats));
|
|
6713
6780
|
// @ts-ignore
|
|
6714
6781
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
@@ -6721,51 +6788,60 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6721
6788
|
|
|
6722
6789
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
6723
6790
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
6724
|
-
|
|
6791
|
+
_context32.next = 67;
|
|
6725
6792
|
break;
|
|
6726
|
-
case
|
|
6727
|
-
|
|
6728
|
-
|
|
6729
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "),
|
|
6793
|
+
case 50:
|
|
6794
|
+
_context32.prev = 50;
|
|
6795
|
+
_context32.t0 = _context32["catch"](19);
|
|
6796
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context32.t0);
|
|
6730
6797
|
|
|
6731
6798
|
// @ts-ignore
|
|
6732
|
-
|
|
6799
|
+
_context32.next = 55;
|
|
6733
6800
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6734
|
-
case
|
|
6735
|
-
reachabilityMetrics =
|
|
6801
|
+
case 55:
|
|
6802
|
+
reachabilityMetrics = _context32.sent;
|
|
6803
|
+
_context32.next = 58;
|
|
6804
|
+
return this.mediaProperties.getCurrentConnectionInfo();
|
|
6805
|
+
case 58:
|
|
6806
|
+
_yield$this$mediaProp2 = _context32.sent;
|
|
6807
|
+
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
6808
|
+
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
6736
6809
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread({
|
|
6737
6810
|
correlation_id: this.correlationId,
|
|
6738
6811
|
locus_id: this.locusUrl.split('/').pop(),
|
|
6739
|
-
reason:
|
|
6740
|
-
stack:
|
|
6741
|
-
code:
|
|
6812
|
+
reason: _context32.t0.message,
|
|
6813
|
+
stack: _context32.t0.stack,
|
|
6814
|
+
code: _context32.t0.code,
|
|
6815
|
+
selectedCandidatePairChanges: _selectedCandidatePairChanges,
|
|
6816
|
+
numTransports: _numTransports,
|
|
6742
6817
|
turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
|
|
6743
6818
|
turnServerUsed: this.turnServerUsed,
|
|
6744
6819
|
retriedWithTurnServer: this.retriedWithTurnServer,
|
|
6745
6820
|
isMultistream: this.isMultistream,
|
|
6821
|
+
isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry,
|
|
6746
6822
|
signalingState: ((_this$mediaProperties20 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties20 === void 0 ? void 0 : (_this$mediaProperties21 = _this$mediaProperties20.multistreamConnection) === null || _this$mediaProperties21 === void 0 ? void 0 : (_this$mediaProperties22 = _this$mediaProperties21.pc) === null || _this$mediaProperties22 === void 0 ? void 0 : (_this$mediaProperties23 = _this$mediaProperties22.pc) === null || _this$mediaProperties23 === void 0 ? void 0 : _this$mediaProperties23.signalingState) || ((_this$mediaProperties24 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties24 === void 0 ? void 0 : (_this$mediaProperties25 = _this$mediaProperties24.mediaConnection) === null || _this$mediaProperties25 === void 0 ? void 0 : (_this$mediaProperties26 = _this$mediaProperties25.pc) === null || _this$mediaProperties26 === void 0 ? void 0 : _this$mediaProperties26.signalingState) || 'unknown',
|
|
6747
6823
|
connectionState: ((_this$mediaProperties27 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties27 === void 0 ? void 0 : (_this$mediaProperties28 = _this$mediaProperties27.multistreamConnection) === null || _this$mediaProperties28 === void 0 ? void 0 : (_this$mediaProperties29 = _this$mediaProperties28.pc) === null || _this$mediaProperties29 === void 0 ? void 0 : (_this$mediaProperties30 = _this$mediaProperties29.pc) === null || _this$mediaProperties30 === void 0 ? void 0 : _this$mediaProperties30.connectionState) || ((_this$mediaProperties31 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties31 === void 0 ? void 0 : (_this$mediaProperties32 = _this$mediaProperties31.mediaConnection) === null || _this$mediaProperties32 === void 0 ? void 0 : (_this$mediaProperties33 = _this$mediaProperties32.pc) === null || _this$mediaProperties33 === void 0 ? void 0 : _this$mediaProperties33.connectionState) || 'unknown',
|
|
6748
6824
|
iceConnectionState: ((_this$mediaProperties34 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties34 === void 0 ? void 0 : (_this$mediaProperties35 = _this$mediaProperties34.multistreamConnection) === null || _this$mediaProperties35 === void 0 ? void 0 : (_this$mediaProperties36 = _this$mediaProperties35.pc) === null || _this$mediaProperties36 === void 0 ? void 0 : (_this$mediaProperties37 = _this$mediaProperties36.pc) === null || _this$mediaProperties37 === void 0 ? void 0 : _this$mediaProperties37.iceConnectionState) || ((_this$mediaProperties38 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties38 === void 0 ? void 0 : (_this$mediaProperties39 = _this$mediaProperties38.mediaConnection) === null || _this$mediaProperties39 === void 0 ? void 0 : (_this$mediaProperties40 = _this$mediaProperties39.pc) === null || _this$mediaProperties40 === void 0 ? void 0 : _this$mediaProperties40.iceConnectionState) || 'unknown'
|
|
6749
6825
|
}, reachabilityMetrics));
|
|
6750
|
-
|
|
6826
|
+
_context32.next = 64;
|
|
6751
6827
|
return this.cleanUpOnAddMediaFailure();
|
|
6752
|
-
case
|
|
6828
|
+
case 64:
|
|
6753
6829
|
// Upload logs on error while adding media
|
|
6754
6830
|
_triggerProxy.default.trigger(this, {
|
|
6755
6831
|
file: 'meeting/index',
|
|
6756
6832
|
function: 'addMedia'
|
|
6757
6833
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
6758
|
-
if (
|
|
6834
|
+
if (_context32.t0 instanceof _internalMediaCore.Errors.SdpError) {
|
|
6759
6835
|
this.leave({
|
|
6760
6836
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
6761
6837
|
});
|
|
6762
6838
|
}
|
|
6763
|
-
throw
|
|
6764
|
-
case
|
|
6839
|
+
throw _context32.t0;
|
|
6840
|
+
case 67:
|
|
6765
6841
|
case "end":
|
|
6766
|
-
return
|
|
6842
|
+
return _context32.stop();
|
|
6767
6843
|
}
|
|
6768
|
-
},
|
|
6844
|
+
}, _callee32, this, [[19, 50]]);
|
|
6769
6845
|
}));
|
|
6770
6846
|
function addMedia() {
|
|
6771
6847
|
return _addMedia.apply(this, arguments);
|
|
@@ -6833,35 +6909,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6833
6909
|
* @memberof Meeting
|
|
6834
6910
|
*/
|
|
6835
6911
|
function () {
|
|
6836
|
-
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6837
|
-
var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled;
|
|
6838
|
-
return _regenerator.default.wrap(function
|
|
6839
|
-
while (1) switch (
|
|
6912
|
+
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee33(options) {
|
|
6913
|
+
var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled, _this$audio3, _this$video3;
|
|
6914
|
+
return _regenerator.default.wrap(function _callee33$(_context33) {
|
|
6915
|
+
while (1) switch (_context33.prev = _context33.next) {
|
|
6840
6916
|
case 0:
|
|
6841
6917
|
this.checkMediaConnection();
|
|
6842
6918
|
audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
|
|
6843
6919
|
_loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
|
|
6844
6920
|
if (this.canUpdateMedia()) {
|
|
6845
|
-
|
|
6921
|
+
_context33.next = 5;
|
|
6846
6922
|
break;
|
|
6847
6923
|
}
|
|
6848
|
-
return
|
|
6924
|
+
return _context33.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
|
|
6849
6925
|
case 5:
|
|
6850
6926
|
if (!this.isMultistream) {
|
|
6851
|
-
|
|
6927
|
+
_context33.next = 10;
|
|
6852
6928
|
break;
|
|
6853
6929
|
}
|
|
6854
6930
|
if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
|
|
6855
|
-
|
|
6931
|
+
_context33.next = 8;
|
|
6856
6932
|
break;
|
|
6857
6933
|
}
|
|
6858
6934
|
throw new Error('toggling shareAudioEnabled or shareVideoEnabled in a multistream meeting is not supported, to control receiving screen share call meeting.remoteMediaManager.setLayout() with appropriate layout');
|
|
6859
6935
|
case 8:
|
|
6860
|
-
|
|
6936
|
+
_context33.next = 12;
|
|
6861
6937
|
break;
|
|
6862
6938
|
case 10:
|
|
6863
6939
|
if (!(shareAudioEnabled !== undefined)) {
|
|
6864
|
-
|
|
6940
|
+
_context33.next = 12;
|
|
6865
6941
|
break;
|
|
6866
6942
|
}
|
|
6867
6943
|
throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
|
|
@@ -6869,7 +6945,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6869
6945
|
if (audioEnabled !== undefined) {
|
|
6870
6946
|
this.mediaProperties.mediaDirection.sendAudio = audioEnabled;
|
|
6871
6947
|
this.mediaProperties.mediaDirection.receiveAudio = audioEnabled;
|
|
6872
|
-
this.audio.enable(this, audioEnabled);
|
|
6948
|
+
(_this$audio3 = this.audio) === null || _this$audio3 === void 0 ? void 0 : _this$audio3.enable(this, audioEnabled);
|
|
6873
6949
|
if (this.isMultistream) {
|
|
6874
6950
|
this.sendSlotManager.setActive(_internalMediaCore.MediaType.AudioMain, audioEnabled);
|
|
6875
6951
|
}
|
|
@@ -6877,7 +6953,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6877
6953
|
if (videoEnabled !== undefined) {
|
|
6878
6954
|
this.mediaProperties.mediaDirection.sendVideo = videoEnabled;
|
|
6879
6955
|
this.mediaProperties.mediaDirection.receiveVideo = videoEnabled;
|
|
6880
|
-
this.video.enable(this, videoEnabled);
|
|
6956
|
+
(_this$video3 = this.video) === null || _this$video3 === void 0 ? void 0 : _this$video3.enable(this, videoEnabled);
|
|
6881
6957
|
if (this.isMultistream) {
|
|
6882
6958
|
this.sendSlotManager.setActive(_internalMediaCore.MediaType.VideoMain, videoEnabled);
|
|
6883
6959
|
}
|
|
@@ -6886,18 +6962,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6886
6962
|
this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
|
|
6887
6963
|
}
|
|
6888
6964
|
if (this.isMultistream) {
|
|
6889
|
-
|
|
6965
|
+
_context33.next = 18;
|
|
6890
6966
|
break;
|
|
6891
6967
|
}
|
|
6892
|
-
|
|
6968
|
+
_context33.next = 18;
|
|
6893
6969
|
return this.updateTranscodedMediaConnection();
|
|
6894
6970
|
case 18:
|
|
6895
|
-
return
|
|
6971
|
+
return _context33.abrupt("return", undefined);
|
|
6896
6972
|
case 19:
|
|
6897
6973
|
case "end":
|
|
6898
|
-
return
|
|
6974
|
+
return _context33.stop();
|
|
6899
6975
|
}
|
|
6900
|
-
},
|
|
6976
|
+
}, _callee33, this);
|
|
6901
6977
|
}));
|
|
6902
6978
|
function updateMedia(_x32) {
|
|
6903
6979
|
return _updateMedia.apply(this, arguments);
|
|
@@ -7817,37 +7893,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7817
7893
|
}, {
|
|
7818
7894
|
key: "enableMusicMode",
|
|
7819
7895
|
value: (function () {
|
|
7820
|
-
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7821
|
-
return _regenerator.default.wrap(function
|
|
7822
|
-
while (1) switch (
|
|
7896
|
+
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee34(shouldEnableMusicMode) {
|
|
7897
|
+
return _regenerator.default.wrap(function _callee34$(_context34) {
|
|
7898
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
7823
7899
|
case 0:
|
|
7824
7900
|
this.checkMediaConnection();
|
|
7825
7901
|
if (this.isMultistream) {
|
|
7826
|
-
|
|
7902
|
+
_context34.next = 3;
|
|
7827
7903
|
break;
|
|
7828
7904
|
}
|
|
7829
7905
|
throw new Error('enableMusicMode() only supported with multistream');
|
|
7830
7906
|
case 3:
|
|
7831
7907
|
if (!shouldEnableMusicMode) {
|
|
7832
|
-
|
|
7908
|
+
_context34.next = 8;
|
|
7833
7909
|
break;
|
|
7834
7910
|
}
|
|
7835
|
-
|
|
7911
|
+
_context34.next = 6;
|
|
7836
7912
|
return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
|
|
7837
7913
|
maxaveragebitrate: '64000',
|
|
7838
7914
|
maxplaybackrate: '48000'
|
|
7839
7915
|
});
|
|
7840
7916
|
case 6:
|
|
7841
|
-
|
|
7917
|
+
_context34.next = 10;
|
|
7842
7918
|
break;
|
|
7843
7919
|
case 8:
|
|
7844
|
-
|
|
7920
|
+
_context34.next = 10;
|
|
7845
7921
|
return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
|
|
7846
7922
|
case 10:
|
|
7847
7923
|
case "end":
|
|
7848
|
-
return
|
|
7924
|
+
return _context34.stop();
|
|
7849
7925
|
}
|
|
7850
|
-
},
|
|
7926
|
+
}, _callee34, this);
|
|
7851
7927
|
}));
|
|
7852
7928
|
function enableMusicMode(_x33) {
|
|
7853
7929
|
return _enableMusicMode.apply(this, arguments);
|
|
@@ -7940,25 +8016,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7940
8016
|
}, {
|
|
7941
8017
|
key: "publishStream",
|
|
7942
8018
|
value: (function () {
|
|
7943
|
-
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7944
|
-
return _regenerator.default.wrap(function
|
|
7945
|
-
while (1) switch (
|
|
8019
|
+
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee35(mediaType, stream) {
|
|
8020
|
+
return _regenerator.default.wrap(function _callee35$(_context35) {
|
|
8021
|
+
while (1) switch (_context35.prev = _context35.next) {
|
|
7946
8022
|
case 0:
|
|
7947
8023
|
if (stream) {
|
|
7948
|
-
|
|
8024
|
+
_context35.next = 2;
|
|
7949
8025
|
break;
|
|
7950
8026
|
}
|
|
7951
|
-
return
|
|
8027
|
+
return _context35.abrupt("return");
|
|
7952
8028
|
case 2:
|
|
7953
8029
|
if (!this.mediaProperties.webrtcMediaConnection) {
|
|
7954
|
-
|
|
8030
|
+
_context35.next = 7;
|
|
7955
8031
|
break;
|
|
7956
8032
|
}
|
|
7957
8033
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
7958
|
-
|
|
8034
|
+
_context35.next = 6;
|
|
7959
8035
|
break;
|
|
7960
8036
|
}
|
|
7961
|
-
|
|
8037
|
+
_context35.next = 6;
|
|
7962
8038
|
return this.sendSlotManager.publishStream(mediaType, stream);
|
|
7963
8039
|
case 6:
|
|
7964
8040
|
this.emitPublishStateChangeEvent({
|
|
@@ -7969,9 +8045,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7969
8045
|
});
|
|
7970
8046
|
case 7:
|
|
7971
8047
|
case "end":
|
|
7972
|
-
return
|
|
8048
|
+
return _context35.stop();
|
|
7973
8049
|
}
|
|
7974
|
-
},
|
|
8050
|
+
}, _callee35, this);
|
|
7975
8051
|
}));
|
|
7976
8052
|
function publishStream(_x34, _x35) {
|
|
7977
8053
|
return _publishStream.apply(this, arguments);
|
|
@@ -7989,21 +8065,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7989
8065
|
}, {
|
|
7990
8066
|
key: "unpublishStream",
|
|
7991
8067
|
value: (function () {
|
|
7992
|
-
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7993
|
-
return _regenerator.default.wrap(function
|
|
7994
|
-
while (1) switch (
|
|
8068
|
+
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee36(mediaType, stream) {
|
|
8069
|
+
return _regenerator.default.wrap(function _callee36$(_context36) {
|
|
8070
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
7995
8071
|
case 0:
|
|
7996
8072
|
if (stream) {
|
|
7997
|
-
|
|
8073
|
+
_context36.next = 2;
|
|
7998
8074
|
break;
|
|
7999
8075
|
}
|
|
8000
|
-
return
|
|
8076
|
+
return _context36.abrupt("return");
|
|
8001
8077
|
case 2:
|
|
8002
8078
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
8003
|
-
|
|
8079
|
+
_context36.next = 5;
|
|
8004
8080
|
break;
|
|
8005
8081
|
}
|
|
8006
|
-
|
|
8082
|
+
_context36.next = 5;
|
|
8007
8083
|
return this.sendSlotManager.unpublishStream(mediaType);
|
|
8008
8084
|
case 5:
|
|
8009
8085
|
this.emitPublishStateChangeEvent({
|
|
@@ -8014,9 +8090,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8014
8090
|
});
|
|
8015
8091
|
case 6:
|
|
8016
8092
|
case "end":
|
|
8017
|
-
return
|
|
8093
|
+
return _context36.stop();
|
|
8018
8094
|
}
|
|
8019
|
-
},
|
|
8095
|
+
}, _callee36, this);
|
|
8020
8096
|
}));
|
|
8021
8097
|
function unpublishStream(_x36, _x37) {
|
|
8022
8098
|
return _unpublishStream.apply(this, arguments);
|
|
@@ -8033,67 +8109,67 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8033
8109
|
}, {
|
|
8034
8110
|
key: "publishStreams",
|
|
8035
8111
|
value: (function () {
|
|
8036
|
-
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8112
|
+
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee37(streams) {
|
|
8037
8113
|
var _streams$screenShare, _streams$screenShare2, _streams$microphone, _streams$camera, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6, _streams$screenShare7, _streams$screenShare8;
|
|
8038
8114
|
var floorRequestNeeded, _streams$screenShare9;
|
|
8039
|
-
return _regenerator.default.wrap(function
|
|
8040
|
-
while (1) switch (
|
|
8115
|
+
return _regenerator.default.wrap(function _callee37$(_context37) {
|
|
8116
|
+
while (1) switch (_context37.prev = _context37.next) {
|
|
8041
8117
|
case 0:
|
|
8042
8118
|
this.checkMediaConnection();
|
|
8043
8119
|
if (!(!streams.microphone && !streams.camera && !((_streams$screenShare = streams.screenShare) !== null && _streams$screenShare !== void 0 && _streams$screenShare.audio) && !((_streams$screenShare2 = streams.screenShare) !== null && _streams$screenShare2 !== void 0 && _streams$screenShare2.video))) {
|
|
8044
|
-
|
|
8120
|
+
_context37.next = 3;
|
|
8045
8121
|
break;
|
|
8046
8122
|
}
|
|
8047
|
-
return
|
|
8123
|
+
return _context37.abrupt("return");
|
|
8048
8124
|
case 3:
|
|
8049
8125
|
if (!((streams === null || streams === void 0 ? void 0 : (_streams$microphone = streams.microphone) === null || _streams$microphone === void 0 ? void 0 : _streams$microphone.readyState) === 'ended' || (streams === null || streams === void 0 ? void 0 : (_streams$camera = streams.camera) === null || _streams$camera === void 0 ? void 0 : _streams$camera.readyState) === 'ended' || (streams === null || streams === void 0 ? void 0 : (_streams$screenShare3 = streams.screenShare) === null || _streams$screenShare3 === void 0 ? void 0 : (_streams$screenShare4 = _streams$screenShare3.audio) === null || _streams$screenShare4 === void 0 ? void 0 : _streams$screenShare4.readyState) === 'ended' || (streams === null || streams === void 0 ? void 0 : (_streams$screenShare5 = streams.screenShare) === null || _streams$screenShare5 === void 0 ? void 0 : (_streams$screenShare6 = _streams$screenShare5.video) === null || _streams$screenShare6 === void 0 ? void 0 : _streams$screenShare6.readyState) === 'ended')) {
|
|
8050
|
-
|
|
8126
|
+
_context37.next = 5;
|
|
8051
8127
|
break;
|
|
8052
8128
|
}
|
|
8053
8129
|
throw new Error("Attempted to publish stream with ended readyState, correlationId=".concat(this.correlationId));
|
|
8054
8130
|
case 5:
|
|
8055
8131
|
floorRequestNeeded = false; // Screenshare Audio is supported only in multi stream. So we check for screenshare audio presence only if it's a multi stream meeting
|
|
8056
8132
|
if (!(this.isMultistream && (_streams$screenShare7 = streams.screenShare) !== null && _streams$screenShare7 !== void 0 && _streams$screenShare7.audio)) {
|
|
8057
|
-
|
|
8133
|
+
_context37.next = 10;
|
|
8058
8134
|
break;
|
|
8059
8135
|
}
|
|
8060
|
-
|
|
8136
|
+
_context37.next = 9;
|
|
8061
8137
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
8062
8138
|
case 9:
|
|
8063
8139
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8064
8140
|
case 10:
|
|
8065
8141
|
if (!((_streams$screenShare8 = streams.screenShare) !== null && _streams$screenShare8 !== void 0 && _streams$screenShare8.video)) {
|
|
8066
|
-
|
|
8142
|
+
_context37.next = 14;
|
|
8067
8143
|
break;
|
|
8068
8144
|
}
|
|
8069
|
-
|
|
8145
|
+
_context37.next = 13;
|
|
8070
8146
|
return this.setLocalShareVideoStream((_streams$screenShare9 = streams.screenShare) === null || _streams$screenShare9 === void 0 ? void 0 : _streams$screenShare9.video);
|
|
8071
8147
|
case 13:
|
|
8072
8148
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8073
8149
|
case 14:
|
|
8074
8150
|
if (!streams.microphone) {
|
|
8075
|
-
|
|
8151
|
+
_context37.next = 17;
|
|
8076
8152
|
break;
|
|
8077
8153
|
}
|
|
8078
|
-
|
|
8154
|
+
_context37.next = 17;
|
|
8079
8155
|
return this.setLocalAudioStream(streams.microphone);
|
|
8080
8156
|
case 17:
|
|
8081
8157
|
if (!streams.camera) {
|
|
8082
|
-
|
|
8158
|
+
_context37.next = 20;
|
|
8083
8159
|
break;
|
|
8084
8160
|
}
|
|
8085
|
-
|
|
8161
|
+
_context37.next = 20;
|
|
8086
8162
|
return this.setLocalVideoStream(streams.camera);
|
|
8087
8163
|
case 20:
|
|
8088
8164
|
if (this.isMultistream) {
|
|
8089
|
-
|
|
8165
|
+
_context37.next = 23;
|
|
8090
8166
|
break;
|
|
8091
8167
|
}
|
|
8092
|
-
|
|
8168
|
+
_context37.next = 23;
|
|
8093
8169
|
return this.updateTranscodedMediaConnection();
|
|
8094
8170
|
case 23:
|
|
8095
8171
|
if (!floorRequestNeeded) {
|
|
8096
|
-
|
|
8172
|
+
_context37.next = 29;
|
|
8097
8173
|
break;
|
|
8098
8174
|
}
|
|
8099
8175
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -8117,13 +8193,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8117
8193
|
// we're sending the http request to Locus to request the screen share floor
|
|
8118
8194
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
8119
8195
|
// and also if sharing from the start, we need confluence to have been created
|
|
8120
|
-
|
|
8196
|
+
_context37.next = 29;
|
|
8121
8197
|
return this.enqueueScreenShareFloorRequest();
|
|
8122
8198
|
case 29:
|
|
8123
8199
|
case "end":
|
|
8124
|
-
return
|
|
8200
|
+
return _context37.stop();
|
|
8125
8201
|
}
|
|
8126
|
-
},
|
|
8202
|
+
}, _callee37, this);
|
|
8127
8203
|
}));
|
|
8128
8204
|
function publishStreams(_x38) {
|
|
8129
8205
|
return _publishStreams.apply(this, arguments);
|
|
@@ -8140,10 +8216,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8140
8216
|
}, {
|
|
8141
8217
|
key: "unpublishStreams",
|
|
8142
8218
|
value: (function () {
|
|
8143
|
-
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8219
|
+
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee38(streams) {
|
|
8144
8220
|
var promises, _iterator, _step, stream;
|
|
8145
|
-
return _regenerator.default.wrap(function
|
|
8146
|
-
while (1) switch (
|
|
8221
|
+
return _regenerator.default.wrap(function _callee38$(_context38) {
|
|
8222
|
+
while (1) switch (_context38.prev = _context38.next) {
|
|
8147
8223
|
case 0:
|
|
8148
8224
|
this.checkMediaConnection();
|
|
8149
8225
|
promises = [];
|
|
@@ -8174,7 +8250,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8174
8250
|
if (!this.isMultistream) {
|
|
8175
8251
|
promises.push(this.updateTranscodedMediaConnection());
|
|
8176
8252
|
}
|
|
8177
|
-
|
|
8253
|
+
_context38.next = 7;
|
|
8178
8254
|
return _promise.default.all(promises);
|
|
8179
8255
|
case 7:
|
|
8180
8256
|
// we're allowing for the SDK to support just audio share as well
|
|
@@ -8195,9 +8271,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8195
8271
|
}
|
|
8196
8272
|
case 8:
|
|
8197
8273
|
case "end":
|
|
8198
|
-
return
|
|
8274
|
+
return _context38.stop();
|
|
8199
8275
|
}
|
|
8200
|
-
},
|
|
8276
|
+
}, _callee38, this);
|
|
8201
8277
|
}));
|
|
8202
8278
|
function unpublishStreams(_x39) {
|
|
8203
8279
|
return _unpublishStreams.apply(this, arguments);
|
|
@@ -8259,27 +8335,27 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8259
8335
|
}], [{
|
|
8260
8336
|
key: "handleDeviceLogging",
|
|
8261
8337
|
value: (function () {
|
|
8262
|
-
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8338
|
+
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39() {
|
|
8263
8339
|
var devices;
|
|
8264
|
-
return _regenerator.default.wrap(function
|
|
8265
|
-
while (1) switch (
|
|
8340
|
+
return _regenerator.default.wrap(function _callee39$(_context39) {
|
|
8341
|
+
while (1) switch (_context39.prev = _context39.next) {
|
|
8266
8342
|
case 0:
|
|
8267
|
-
|
|
8268
|
-
|
|
8343
|
+
_context39.prev = 0;
|
|
8344
|
+
_context39.next = 3;
|
|
8269
8345
|
return (0, _mediaHelpers.getDevices)();
|
|
8270
8346
|
case 3:
|
|
8271
|
-
devices =
|
|
8347
|
+
devices = _context39.sent;
|
|
8272
8348
|
_util2.default.handleDeviceLogging(devices);
|
|
8273
|
-
|
|
8349
|
+
_context39.next = 9;
|
|
8274
8350
|
break;
|
|
8275
8351
|
case 7:
|
|
8276
|
-
|
|
8277
|
-
|
|
8352
|
+
_context39.prev = 7;
|
|
8353
|
+
_context39.t0 = _context39["catch"](0);
|
|
8278
8354
|
case 9:
|
|
8279
8355
|
case "end":
|
|
8280
|
-
return
|
|
8356
|
+
return _context39.stop();
|
|
8281
8357
|
}
|
|
8282
|
-
},
|
|
8358
|
+
}, _callee39, null, [[0, 7]]);
|
|
8283
8359
|
}));
|
|
8284
8360
|
function handleDeviceLogging() {
|
|
8285
8361
|
return _handleDeviceLogging.apply(this, arguments);
|