@webex/plugin-meetings 3.1.0 → 3.2.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-not-started.js +46 -0
- package/dist/common/errors/reconnection-not-started.js.map +1 -0
- package/dist/constants.js +16 -5
- 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/mediaQualityMetrics/config.js +10 -10
- package/dist/mediaQualityMetrics/config.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 +564 -475
- 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 +12 -28
- package/dist/meetings/index.js.map +1 -1
- package/dist/reachability/index.js +88 -9
- 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 +8 -2
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +17 -0
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/breakout.d.ts +8 -0
- package/dist/types/breakouts/collection.d.ts +5 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/index.d.ts +5 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/browser-detection.d.ts +9 -0
- package/dist/types/common/collection.d.ts +48 -0
- package/dist/types/common/config.d.ts +2 -0
- package/dist/types/common/errors/captcha-error.d.ts +15 -0
- package/dist/types/common/errors/intent-to-join.d.ts +16 -0
- package/dist/types/common/errors/join-meeting.d.ts +17 -0
- package/dist/types/common/errors/media.d.ts +15 -0
- package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/types/common/errors/parameter.d.ts +15 -0
- package/dist/types/common/errors/password-error.d.ts +15 -0
- package/dist/types/common/errors/permission.d.ts +14 -0
- package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/types/common/errors/reconnection-not-started.d.ts +13 -0
- package/dist/types/common/errors/reconnection.d.ts +15 -0
- package/dist/types/common/errors/stats.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +93 -0
- package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/types/common/events/events-scope.d.ts +17 -0
- package/dist/types/common/events/events.d.ts +12 -0
- package/dist/types/common/events/trigger-proxy.d.ts +2 -0
- package/dist/types/common/events/util.d.ts +2 -0
- package/dist/types/common/logs/logger-config.d.ts +2 -0
- package/dist/types/common/logs/logger-proxy.d.ts +2 -0
- package/dist/types/common/logs/request.d.ts +36 -0
- package/dist/types/common/queue.d.ts +34 -0
- package/dist/types/config.d.ts +73 -0
- package/dist/types/constants.d.ts +1098 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +15 -0
- package/dist/types/controls-options-manager/index.d.ts +136 -0
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -0
- package/dist/types/index.d.ts +19 -0
- package/dist/types/interceptors/index.d.ts +2 -0
- package/dist/types/interceptors/locusRetry.d.ts +27 -0
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/controlsUtils.d.ts +2 -0
- package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/types/locus-info/fullState.d.ts +2 -0
- package/dist/types/locus-info/hostUtils.d.ts +2 -0
- package/dist/types/locus-info/index.d.ts +322 -0
- package/dist/types/locus-info/infoUtils.d.ts +2 -0
- package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/types/locus-info/parser.d.ts +272 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/MediaConnectionAwaiter.d.ts +61 -0
- package/dist/types/media/index.d.ts +34 -0
- package/dist/types/media/properties.d.ts +117 -0
- package/dist/types/media/util.d.ts +2 -0
- package/dist/types/mediaQualityMetrics/config.d.ts +247 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +173 -0
- package/dist/types/meeting/index.d.ts +1832 -0
- package/dist/types/meeting/locusMediaRequest.d.ts +75 -0
- package/dist/types/meeting/muteState.d.ts +178 -0
- package/dist/types/meeting/request.d.ts +295 -0
- package/dist/types/meeting/request.type.d.ts +11 -0
- package/dist/types/meeting/state.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +122 -0
- package/dist/types/meeting/voicea-meeting.d.ts +17 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +69 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +123 -0
- package/dist/types/meeting-info/request.d.ts +22 -0
- package/dist/types/meeting-info/util.d.ts +49 -0
- package/dist/types/meeting-info/utilv2.d.ts +65 -0
- package/dist/types/meetings/collection.d.ts +40 -0
- package/dist/types/meetings/index.d.ts +383 -0
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/meetings/request.d.ts +27 -0
- package/dist/types/meetings/util.d.ts +18 -0
- package/dist/types/member/index.d.ts +160 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/member/util.d.ts +2 -0
- package/dist/types/members/collection.d.ts +29 -0
- package/dist/types/members/index.d.ts +353 -0
- package/dist/types/members/request.d.ts +114 -0
- package/dist/types/members/types.d.ts +25 -0
- package/dist/types/members/util.d.ts +215 -0
- package/dist/types/metrics/constants.d.ts +70 -0
- package/dist/types/metrics/index.d.ts +45 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +119 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/types/multistream/remoteMedia.d.ts +72 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +49 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +300 -0
- package/dist/types/multistream/sendSlotManager.d.ts +69 -0
- package/dist/types/networkQualityMonitor/index.d.ts +70 -0
- package/dist/types/personal-meeting-room/index.d.ts +47 -0
- package/dist/types/personal-meeting-room/request.d.ts +14 -0
- package/dist/types/personal-meeting-room/util.d.ts +2 -0
- package/dist/types/reachability/clusterReachability.d.ts +110 -0
- package/dist/types/reachability/index.d.ts +120 -0
- package/dist/types/reachability/request.d.ts +39 -0
- package/dist/types/reachability/util.d.ts +15 -0
- package/dist/types/reactions/constants.d.ts +3 -0
- package/dist/types/reactions/reactions.d.ts +4 -0
- package/dist/types/reactions/reactions.type.d.ts +52 -0
- package/dist/types/reconnection-manager/index.d.ts +126 -0
- package/dist/types/recording-controller/enums.d.ts +7 -0
- package/dist/types/recording-controller/index.d.ts +207 -0
- package/dist/types/recording-controller/util.d.ts +14 -0
- package/dist/types/roap/index.d.ts +86 -0
- package/dist/types/roap/request.d.ts +39 -0
- package/dist/types/roap/turnDiscovery.d.ts +155 -0
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +61 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +217 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/dist/types/webinar/collection.d.ts +16 -0
- package/dist/types/webinar/index.d.ts +5 -0
- 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 +14 -5
- 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/mediaQualityMetrics/config.ts +13 -7
- package/src/meeting/in-meeting-actions.ts +12 -0
- package/src/meeting/index.ts +144 -107
- 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 +15 -27
- package/src/reachability/index.ts +60 -0
- package/src/reconnection-manager/index.ts +128 -105
- package/src/roap/request.ts +1 -24
- package/src/statsAnalyzer/index.ts +10 -3
- package/src/statsAnalyzer/mqaUtil.ts +23 -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 +271 -105
- 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 +59 -17
- package/test/unit/spec/reachability/index.ts +266 -0
- 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 +100 -8
- package/src/common/errors/reconnection-in-progress.ts +0 -8
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
|
|
@@ -560,6 +561,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
560
561
|
break;
|
|
561
562
|
}
|
|
562
563
|
});
|
|
564
|
+
/**
|
|
565
|
+
* This is a callback for the LLM event that is triggered when it comes online
|
|
566
|
+
* This method in turn will trigger an event to the developers that the LLM is connected
|
|
567
|
+
* @private
|
|
568
|
+
* @memberof Meeting
|
|
569
|
+
* @returns {null}
|
|
570
|
+
*/
|
|
571
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "handleLLMOnline", function () {
|
|
572
|
+
// @ts-ignore
|
|
573
|
+
_this.webex.internal.llm.off('online', _this.handleLLMOnline);
|
|
574
|
+
_triggerProxy.default.trigger((0, _assertThisInitialized2.default)(_this), {
|
|
575
|
+
file: 'meeting/index',
|
|
576
|
+
function: 'handleLLMOnline'
|
|
577
|
+
}, _constants.EVENT_TRIGGERS.MEETING_TRANSCRIPTION_CONNECTED, undefined);
|
|
578
|
+
});
|
|
563
579
|
/**
|
|
564
580
|
* Handles ROAP_FAILURE event from the webrtc media connection
|
|
565
581
|
*
|
|
@@ -1972,10 +1988,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1972
1988
|
*/
|
|
1973
1989
|
_this.remoteMediaManager = null;
|
|
1974
1990
|
_this.localAudioStreamMuteStateHandler = function () {
|
|
1975
|
-
_this
|
|
1991
|
+
var _this$audio;
|
|
1992
|
+
(_this$audio = _this.audio) === null || _this$audio === void 0 ? void 0 : _this$audio.handleLocalStreamMuteStateChange((0, _assertThisInitialized2.default)(_this));
|
|
1976
1993
|
};
|
|
1977
1994
|
_this.localVideoStreamMuteStateHandler = function () {
|
|
1978
|
-
_this
|
|
1995
|
+
var _this$video;
|
|
1996
|
+
(_this$video = _this.video) === null || _this$video === void 0 ? void 0 : _this$video.handleLocalStreamMuteStateChange((0, _assertThisInitialized2.default)(_this));
|
|
1979
1997
|
};
|
|
1980
1998
|
|
|
1981
1999
|
// The handling of output track changes should be done inside
|
|
@@ -2041,6 +2059,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2041
2059
|
* @memberof Meeting
|
|
2042
2060
|
*/
|
|
2043
2061
|
_this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
2062
|
+
|
|
2063
|
+
/**
|
|
2064
|
+
* Information needed for a retry of a call to joinWithMedia
|
|
2065
|
+
* @instance
|
|
2066
|
+
* @type {{isRetry: boolean; prevJoinResponse?: any}}
|
|
2067
|
+
* @private
|
|
2068
|
+
* @memberof Meeting
|
|
2069
|
+
*/
|
|
2070
|
+
_this.joinWithMediaRetryInfo = {
|
|
2071
|
+
isRetry: false,
|
|
2072
|
+
prevJoinResponse: undefined
|
|
2073
|
+
};
|
|
2044
2074
|
return _this;
|
|
2045
2075
|
}
|
|
2046
2076
|
|
|
@@ -2935,24 +2965,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2935
2965
|
}
|
|
2936
2966
|
}
|
|
2937
2967
|
});
|
|
2938
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.
|
|
2939
|
-
var
|
|
2968
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_MANUAL_CAPTION_UPDATED, function (_ref12) {
|
|
2969
|
+
var enable = _ref12.enable;
|
|
2970
|
+
_triggerProxy.default.trigger(_this13, {
|
|
2971
|
+
file: 'meeting/index',
|
|
2972
|
+
function: 'setupLocusControlsListener'
|
|
2973
|
+
}, _constants.EVENT_TRIGGERS.MEETING_MANUAL_CAPTION_UPDATED, {
|
|
2974
|
+
enable: enable
|
|
2975
|
+
});
|
|
2976
|
+
});
|
|
2977
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (_ref13) {
|
|
2978
|
+
var breakout = _ref13.breakout;
|
|
2940
2979
|
_this13.breakouts.updateBreakout(breakout);
|
|
2941
2980
|
_triggerProxy.default.trigger(_this13, {
|
|
2942
2981
|
file: 'meeting/index',
|
|
2943
2982
|
function: 'setupLocusControlsListener'
|
|
2944
2983
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
2945
2984
|
});
|
|
2946
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (
|
|
2947
|
-
var interpretation =
|
|
2985
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_INTERPRETATION_UPDATED, function (_ref14) {
|
|
2986
|
+
var interpretation = _ref14.interpretation;
|
|
2948
2987
|
_this13.simultaneousInterpretation.updateInterpretation(interpretation);
|
|
2949
2988
|
_triggerProxy.default.trigger(_this13, {
|
|
2950
2989
|
file: 'meeting/index',
|
|
2951
2990
|
function: 'setupLocusControlsListener'
|
|
2952
2991
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
|
|
2953
2992
|
});
|
|
2954
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (
|
|
2955
|
-
var entryExitTone =
|
|
2993
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ENTRY_EXIT_TONE_UPDATED, function (_ref15) {
|
|
2994
|
+
var entryExitTone = _ref15.entryExitTone;
|
|
2956
2995
|
_triggerProxy.default.trigger(_this13, {
|
|
2957
2996
|
file: 'meeting/index',
|
|
2958
2997
|
function: 'setupLocusControlsListener'
|
|
@@ -2960,8 +2999,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2960
2999
|
entryExitTone: entryExitTone
|
|
2961
3000
|
});
|
|
2962
3001
|
});
|
|
2963
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (
|
|
2964
|
-
var state =
|
|
3002
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MUTE_ON_ENTRY_CHANGED, function (_ref16) {
|
|
3003
|
+
var state = _ref16.state;
|
|
2965
3004
|
_triggerProxy.default.trigger(_this13, {
|
|
2966
3005
|
file: 'meeting/index',
|
|
2967
3006
|
function: 'setupLocusControlsListener'
|
|
@@ -2969,8 +3008,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2969
3008
|
state: state
|
|
2970
3009
|
});
|
|
2971
3010
|
});
|
|
2972
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (
|
|
2973
|
-
var state =
|
|
3011
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_SHARE_CONTROL_CHANGED, function (_ref17) {
|
|
3012
|
+
var state = _ref17.state;
|
|
2974
3013
|
_triggerProxy.default.trigger(_this13, {
|
|
2975
3014
|
file: 'meeting/index',
|
|
2976
3015
|
function: 'setupLocusControlsListener'
|
|
@@ -2978,8 +3017,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2978
3017
|
state: state
|
|
2979
3018
|
});
|
|
2980
3019
|
});
|
|
2981
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (
|
|
2982
|
-
var state =
|
|
3020
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_DISALLOW_UNMUTE_CHANGED, function (_ref18) {
|
|
3021
|
+
var state = _ref18.state;
|
|
2983
3022
|
_triggerProxy.default.trigger(_this13, {
|
|
2984
3023
|
file: 'meeting/index',
|
|
2985
3024
|
function: 'setupLocusControlsListener'
|
|
@@ -2987,8 +3026,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2987
3026
|
state: state
|
|
2988
3027
|
});
|
|
2989
3028
|
});
|
|
2990
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (
|
|
2991
|
-
var state =
|
|
3029
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REACTIONS_CHANGED, function (_ref19) {
|
|
3030
|
+
var state = _ref19.state;
|
|
2992
3031
|
_triggerProxy.default.trigger(_this13, {
|
|
2993
3032
|
file: 'meeting/index',
|
|
2994
3033
|
function: 'setupLocusControlsListener'
|
|
@@ -2996,8 +3035,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2996
3035
|
state: state
|
|
2997
3036
|
});
|
|
2998
3037
|
});
|
|
2999
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (
|
|
3000
|
-
var state =
|
|
3038
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED, function (_ref20) {
|
|
3039
|
+
var state = _ref20.state;
|
|
3001
3040
|
_triggerProxy.default.trigger(_this13, {
|
|
3002
3041
|
file: 'meeting/index',
|
|
3003
3042
|
function: 'setupLocusControlsListener'
|
|
@@ -3005,8 +3044,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3005
3044
|
state: state
|
|
3006
3045
|
});
|
|
3007
3046
|
});
|
|
3008
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (
|
|
3009
|
-
var state =
|
|
3047
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_RAISE_HAND_CHANGED, function (_ref21) {
|
|
3048
|
+
var state = _ref21.state;
|
|
3010
3049
|
_triggerProxy.default.trigger(_this13, {
|
|
3011
3050
|
file: 'meeting/index',
|
|
3012
3051
|
function: 'setupLocusControlsListener'
|
|
@@ -3014,8 +3053,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3014
3053
|
state: state
|
|
3015
3054
|
});
|
|
3016
3055
|
});
|
|
3017
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (
|
|
3018
|
-
var state =
|
|
3056
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref22) {
|
|
3057
|
+
var state = _ref22.state;
|
|
3019
3058
|
_triggerProxy.default.trigger(_this13, {
|
|
3020
3059
|
file: 'meeting/index',
|
|
3021
3060
|
function: 'setupLocusControlsListener'
|
|
@@ -3062,7 +3101,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3062
3101
|
var _this14 = this;
|
|
3063
3102
|
// Will get triggered on local and remote share
|
|
3064
3103
|
this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
|
|
3065
|
-
var
|
|
3104
|
+
var _ref23 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(payload) {
|
|
3066
3105
|
var _payload$previous, _payload$previous2;
|
|
3067
3106
|
var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, oldShareStatus, sendStartedSharingRemote, _this14$mediaProperti;
|
|
3068
3107
|
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
@@ -3259,7 +3298,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3259
3298
|
}, _callee8, null, [[26,, 30, 33]]);
|
|
3260
3299
|
}));
|
|
3261
3300
|
return function (_x8) {
|
|
3262
|
-
return
|
|
3301
|
+
return _ref23.apply(this, arguments);
|
|
3263
3302
|
};
|
|
3264
3303
|
}());
|
|
3265
3304
|
}
|
|
@@ -3350,8 +3389,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3350
3389
|
});
|
|
3351
3390
|
}
|
|
3352
3391
|
});
|
|
3353
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (
|
|
3354
|
-
var isInitializing =
|
|
3392
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref24) {
|
|
3393
|
+
var isInitializing = _ref24.isInitializing;
|
|
3355
3394
|
_this17.updateMeetingActions();
|
|
3356
3395
|
_this17.recordingController.setDisplayHints(_this17.userDisplayHints);
|
|
3357
3396
|
_this17.recordingController.setUserPolicy(_this17.selfUserPolicies);
|
|
@@ -3483,9 +3522,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3483
3522
|
}
|
|
3484
3523
|
});
|
|
3485
3524
|
}
|
|
3525
|
+
_this19.updateLLMConnection();
|
|
3486
3526
|
});
|
|
3487
3527
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
3488
|
-
var
|
|
3528
|
+
var _ref25 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
|
|
3489
3529
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
3490
3530
|
while (1) switch (_context9.prev = _context9.next) {
|
|
3491
3531
|
case 0:
|
|
@@ -3514,7 +3554,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3514
3554
|
}, _callee9);
|
|
3515
3555
|
}));
|
|
3516
3556
|
return function (_x9) {
|
|
3517
|
-
return
|
|
3557
|
+
return _ref25.apply(this, arguments);
|
|
3518
3558
|
};
|
|
3519
3559
|
}());
|
|
3520
3560
|
|
|
@@ -3619,7 +3659,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3619
3659
|
}
|
|
3620
3660
|
});
|
|
3621
3661
|
this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
|
|
3622
|
-
var
|
|
3662
|
+
var _ref26 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(payload) {
|
|
3623
3663
|
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
3624
3664
|
while (1) switch (_context10.prev = _context10.next) {
|
|
3625
3665
|
case 0:
|
|
@@ -3679,7 +3719,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3679
3719
|
}, _callee10, null, [[8, 14]]);
|
|
3680
3720
|
}));
|
|
3681
3721
|
return function (_x10) {
|
|
3682
|
-
return
|
|
3722
|
+
return _ref26.apply(this, arguments);
|
|
3683
3723
|
};
|
|
3684
3724
|
}());
|
|
3685
3725
|
}
|
|
@@ -3962,6 +4002,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3962
4002
|
canStartTranscribing: _util2.default.canStartTranscribing(this.userDisplayHints),
|
|
3963
4003
|
canStopTranscribing: _util2.default.canStopTranscribing(this.userDisplayHints),
|
|
3964
4004
|
isClosedCaptionActive: _util2.default.isClosedCaptionActive(this.userDisplayHints),
|
|
4005
|
+
canStartManualCaption: _util2.default.canStartManualCaption(this.userDisplayHints),
|
|
4006
|
+
canStopManualCaption: _util2.default.canStopManualCaption(this.userDisplayHints),
|
|
4007
|
+
isManualCaptionActive: _util2.default.isManualCaptionActive(this.userDisplayHints),
|
|
3965
4008
|
isSaveTranscriptsEnabled: _util2.default.isSaveTranscriptsEnabled(this.userDisplayHints),
|
|
3966
4009
|
isWebexAssistantActive: _util2.default.isWebexAssistantActive(this.userDisplayHints),
|
|
3967
4010
|
canViewCaptionPanel: _util2.default.canViewCaptionPanel(this.userDisplayHints),
|
|
@@ -4267,6 +4310,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4267
4310
|
key: "setLocalAudioStream",
|
|
4268
4311
|
value: (function () {
|
|
4269
4312
|
var _setLocalAudioStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(localStream) {
|
|
4313
|
+
var _this$audio2;
|
|
4270
4314
|
var oldStream;
|
|
4271
4315
|
return _regenerator.default.wrap(function _callee11$(_context11) {
|
|
4272
4316
|
while (1) switch (_context11.prev = _context11.next) {
|
|
@@ -4278,7 +4322,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4278
4322
|
|
|
4279
4323
|
// we don't update this.mediaProperties.mediaDirection.sendAudio, because we always keep it as true to avoid extra SDP exchanges
|
|
4280
4324
|
this.mediaProperties.setLocalAudioStream(localStream);
|
|
4281
|
-
this.audio.handleLocalStreamChange(this);
|
|
4325
|
+
(_this$audio2 = this.audio) === null || _this$audio2 === void 0 ? void 0 : _this$audio2.handleLocalStreamChange(this);
|
|
4282
4326
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
4283
4327
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
4284
4328
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
@@ -4314,6 +4358,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4314
4358
|
key: "setLocalVideoStream",
|
|
4315
4359
|
value: (function () {
|
|
4316
4360
|
var _setLocalVideoStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(localStream) {
|
|
4361
|
+
var _this$video2;
|
|
4317
4362
|
var oldStream;
|
|
4318
4363
|
return _regenerator.default.wrap(function _callee12$(_context12) {
|
|
4319
4364
|
while (1) switch (_context12.prev = _context12.next) {
|
|
@@ -4325,7 +4370,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4325
4370
|
|
|
4326
4371
|
// we don't update this.mediaProperties.mediaDirection.sendVideo, because we always keep it as true to avoid extra SDP exchanges
|
|
4327
4372
|
this.mediaProperties.setLocalVideoStream(localStream);
|
|
4328
|
-
this.video.handleLocalStreamChange(this);
|
|
4373
|
+
(_this$video2 = this.video) === null || _this$video2 === void 0 ? void 0 : _this$video2.handleLocalStreamChange(this);
|
|
4329
4374
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
4330
4375
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
4331
4376
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
@@ -4886,11 +4931,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4886
4931
|
mediaOptions,
|
|
4887
4932
|
_options$joinOptions,
|
|
4888
4933
|
joinOptions,
|
|
4934
|
+
_this$joinWithMediaRe,
|
|
4935
|
+
isRetry,
|
|
4936
|
+
prevJoinResponse,
|
|
4889
4937
|
joined,
|
|
4938
|
+
joinResponse,
|
|
4890
4939
|
turnServerInfo,
|
|
4891
4940
|
turnDiscoverySkippedReason,
|
|
4892
4941
|
turnDiscoveryRequest,
|
|
4893
|
-
joinResponse,
|
|
4894
4942
|
_yield$this$roap$hand,
|
|
4895
4943
|
mediaResponse,
|
|
4896
4944
|
_this$locusUrl,
|
|
@@ -4902,38 +4950,46 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4902
4950
|
case 0:
|
|
4903
4951
|
options = _args15.length > 0 && _args15[0] !== undefined ? _args15[0] : {};
|
|
4904
4952
|
mediaOptions = options.mediaOptions, _options$joinOptions = options.joinOptions, joinOptions = _options$joinOptions === void 0 ? {} : _options$joinOptions;
|
|
4953
|
+
_this$joinWithMediaRe = this.joinWithMediaRetryInfo, isRetry = _this$joinWithMediaRe.isRetry, prevJoinResponse = _this$joinWithMediaRe.prevJoinResponse;
|
|
4905
4954
|
if (mediaOptions !== null && mediaOptions !== void 0 && mediaOptions.allowMediaInLobby) {
|
|
4906
|
-
_context15.next =
|
|
4955
|
+
_context15.next = 5;
|
|
4907
4956
|
break;
|
|
4908
4957
|
}
|
|
4909
4958
|
return _context15.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
|
|
4910
|
-
case
|
|
4959
|
+
case 5:
|
|
4911
4960
|
this.allowMediaInLobby = true;
|
|
4912
4961
|
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia called');
|
|
4913
4962
|
joined = false;
|
|
4914
|
-
|
|
4915
|
-
_context15.
|
|
4963
|
+
joinResponse = prevJoinResponse;
|
|
4964
|
+
_context15.prev = 9;
|
|
4965
|
+
_context15.next = 12;
|
|
4916
4966
|
return this.webex.meetings.reachability.getReachabilityResults();
|
|
4917
|
-
case
|
|
4967
|
+
case 12:
|
|
4918
4968
|
joinOptions.reachability = _context15.sent;
|
|
4919
|
-
_context15.next =
|
|
4969
|
+
_context15.next = 15;
|
|
4920
4970
|
return this.roap.generateTurnDiscoveryRequestMessage(this, true);
|
|
4921
|
-
case
|
|
4971
|
+
case 15:
|
|
4922
4972
|
turnDiscoveryRequest = _context15.sent;
|
|
4923
4973
|
turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
|
|
4924
4974
|
joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
|
|
4925
|
-
|
|
4975
|
+
if (joinResponse) {
|
|
4976
|
+
_context15.next = 23;
|
|
4977
|
+
break;
|
|
4978
|
+
}
|
|
4979
|
+
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia ---> calling join with joinOptions, ', joinOptions);
|
|
4980
|
+
_context15.next = 22;
|
|
4926
4981
|
return this.join(joinOptions);
|
|
4927
|
-
case
|
|
4982
|
+
case 22:
|
|
4928
4983
|
joinResponse = _context15.sent;
|
|
4984
|
+
case 23:
|
|
4929
4985
|
joined = true;
|
|
4930
4986
|
if (!joinOptions.roapMessage) {
|
|
4931
|
-
_context15.next =
|
|
4987
|
+
_context15.next = 33;
|
|
4932
4988
|
break;
|
|
4933
4989
|
}
|
|
4934
|
-
_context15.next =
|
|
4990
|
+
_context15.next = 27;
|
|
4935
4991
|
return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
|
|
4936
|
-
case
|
|
4992
|
+
case 27:
|
|
4937
4993
|
_yield$this$roap$hand = _context15.sent;
|
|
4938
4994
|
turnServerInfo = _yield$this$roap$hand.turnServerInfo;
|
|
4939
4995
|
turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
|
|
@@ -4942,55 +4998,73 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4942
4998
|
if (turnServerInfo === undefined) {
|
|
4943
4999
|
this.roap.abortTurnDiscovery();
|
|
4944
5000
|
}
|
|
4945
|
-
case
|
|
4946
|
-
_context15.next =
|
|
5001
|
+
case 33:
|
|
5002
|
+
_context15.next = 35;
|
|
4947
5003
|
return this.addMedia(mediaOptions, turnServerInfo);
|
|
4948
|
-
case
|
|
5004
|
+
case 35:
|
|
4949
5005
|
mediaResponse = _context15.sent;
|
|
5006
|
+
this.joinWithMediaRetryInfo = {
|
|
5007
|
+
isRetry: false,
|
|
5008
|
+
prevJoinResponse: undefined
|
|
5009
|
+
};
|
|
4950
5010
|
return _context15.abrupt("return", {
|
|
4951
5011
|
join: joinResponse,
|
|
4952
5012
|
media: mediaResponse
|
|
4953
5013
|
});
|
|
4954
|
-
case
|
|
4955
|
-
_context15.prev =
|
|
4956
|
-
_context15.t0 = _context15["catch"](
|
|
5014
|
+
case 40:
|
|
5015
|
+
_context15.prev = 40;
|
|
5016
|
+
_context15.t0 = _context15["catch"](9);
|
|
4957
5017
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _context15.t0);
|
|
4958
5018
|
this.roap.abortTurnDiscovery();
|
|
4959
|
-
if (!joined) {
|
|
4960
|
-
_context15.next =
|
|
5019
|
+
if (!(joined && isRetry)) {
|
|
5020
|
+
_context15.next = 54;
|
|
4961
5021
|
break;
|
|
4962
5022
|
}
|
|
4963
|
-
_context15.prev =
|
|
4964
|
-
_context15.next =
|
|
5023
|
+
_context15.prev = 45;
|
|
5024
|
+
_context15.next = 48;
|
|
4965
5025
|
return this.leave({
|
|
4966
5026
|
resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
|
|
4967
5027
|
reason: 'joinWithMedia failure'
|
|
4968
5028
|
});
|
|
4969
|
-
case
|
|
4970
|
-
_context15.next =
|
|
5029
|
+
case 48:
|
|
5030
|
+
_context15.next = 54;
|
|
4971
5031
|
break;
|
|
4972
|
-
case
|
|
4973
|
-
_context15.prev =
|
|
4974
|
-
_context15.t1 = _context15["catch"](
|
|
5032
|
+
case 50:
|
|
5033
|
+
_context15.prev = 50;
|
|
5034
|
+
_context15.t1 = _context15["catch"](45);
|
|
4975
5035
|
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _context15.t1);
|
|
4976
5036
|
leaveError = _context15.t1;
|
|
4977
|
-
case
|
|
5037
|
+
case 54:
|
|
4978
5038
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
4979
5039
|
correlation_id: this.correlationId,
|
|
4980
5040
|
locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
|
|
4981
5041
|
// if join fails, we may end up with no locusUrl
|
|
4982
5042
|
reason: _context15.t0.message,
|
|
4983
5043
|
stack: _context15.t0.stack,
|
|
4984
|
-
leaveErrorReason: (_leaveError = leaveError) === null || _leaveError === void 0 ? void 0 : _leaveError.message
|
|
5044
|
+
leaveErrorReason: (_leaveError = leaveError) === null || _leaveError === void 0 ? void 0 : _leaveError.message,
|
|
5045
|
+
isRetry: isRetry
|
|
4985
5046
|
}, {
|
|
4986
5047
|
type: _context15.t0.name
|
|
4987
5048
|
});
|
|
5049
|
+
if (isRetry) {
|
|
5050
|
+
_context15.next = 60;
|
|
5051
|
+
break;
|
|
5052
|
+
}
|
|
5053
|
+
_loggerProxy.default.logger.warn('Meeting:index#joinWithMedia --> retrying call to joinWithMedia');
|
|
5054
|
+
this.joinWithMediaRetryInfo.isRetry = true;
|
|
5055
|
+
this.joinWithMediaRetryInfo.prevJoinResponse = joinResponse;
|
|
5056
|
+
return _context15.abrupt("return", this.joinWithMedia(options));
|
|
5057
|
+
case 60:
|
|
5058
|
+
this.joinWithMediaRetryInfo = {
|
|
5059
|
+
isRetry: false,
|
|
5060
|
+
prevJoinResponse: undefined
|
|
5061
|
+
};
|
|
4988
5062
|
throw _context15.t0;
|
|
4989
|
-
case
|
|
5063
|
+
case 62:
|
|
4990
5064
|
case "end":
|
|
4991
5065
|
return _context15.stop();
|
|
4992
5066
|
}
|
|
4993
|
-
}, _callee15, this, [[
|
|
5067
|
+
}, _callee15, this, [[9, 40], [45, 50]]);
|
|
4994
5068
|
}));
|
|
4995
5069
|
function joinWithMedia() {
|
|
4996
5070
|
return _joinWithMedia.apply(this, arguments);
|
|
@@ -5019,66 +5093,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5019
5093
|
if (!_util2.default.isMediaEstablished(this.currentMediaStatus)) {
|
|
5020
5094
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
|
|
5021
5095
|
}
|
|
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
|
|
5096
|
+
return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16() {
|
|
5097
|
+
return _regenerator.default.wrap(function _callee16$(_context16) {
|
|
5098
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
5099
|
+
case 0:
|
|
5100
|
+
_context16.next = 2;
|
|
5101
|
+
return _this28.waitForRemoteSDPAnswer();
|
|
5102
|
+
case 2:
|
|
5103
|
+
_context16.next = 4;
|
|
5104
|
+
return _this28.waitForMediaConnectionConnected();
|
|
5105
|
+
case 4:
|
|
5106
|
+
case "end":
|
|
5107
|
+
return _context16.stop();
|
|
5058
5108
|
}
|
|
5059
|
-
});
|
|
5060
|
-
|
|
5109
|
+
}, _callee16);
|
|
5110
|
+
}))).then(function () {
|
|
5111
|
+
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
|
|
5061
5112
|
}).catch(function (error) {
|
|
5062
|
-
|
|
5063
|
-
|
|
5064
|
-
|
|
5065
|
-
}
|
|
5066
|
-
error: new _reconnection.default('Reconnection failure event', error)
|
|
5067
|
-
});
|
|
5113
|
+
if (error instanceof _reconnectionNotStarted.default) {
|
|
5114
|
+
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect not started');
|
|
5115
|
+
return _promise.default.resolve();
|
|
5116
|
+
}
|
|
5068
5117
|
_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
5118
|
_this28.uploadLogs({
|
|
5076
5119
|
file: 'meeting/index',
|
|
5077
5120
|
function: 'reconnect'
|
|
5078
5121
|
});
|
|
5079
|
-
return _promise.default.reject(
|
|
5080
|
-
}).finally(function () {
|
|
5081
|
-
_this28.reconnectionManager.reset();
|
|
5122
|
+
return _promise.default.reject(error);
|
|
5082
5123
|
});
|
|
5083
5124
|
}
|
|
5084
5125
|
|
|
@@ -5091,10 +5132,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5091
5132
|
key: "isTranscriptionSupported",
|
|
5092
5133
|
value: function isTranscriptionSupported() {
|
|
5093
5134
|
var _this$locusInfo$contr;
|
|
5094
|
-
if ((_this$locusInfo$contr = this.locusInfo.controls.transcribe) !== null && _this$locusInfo$contr !== void 0 && _this$locusInfo$contr.
|
|
5135
|
+
if ((_this$locusInfo$contr = this.locusInfo.controls.transcribe) !== null && _this$locusInfo$contr !== void 0 && _this$locusInfo$contr.caption) {
|
|
5095
5136
|
return true;
|
|
5096
5137
|
}
|
|
5097
|
-
_loggerProxy.default.logger.error('Meeting:index#isTranscriptionSupported -->
|
|
5138
|
+
_loggerProxy.default.logger.error('Meeting:index#isTranscriptionSupported --> Closed Captions is not enabled/supported');
|
|
5098
5139
|
return false;
|
|
5099
5140
|
}
|
|
5100
5141
|
|
|
@@ -5202,48 +5243,48 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5202
5243
|
}, {
|
|
5203
5244
|
key: "startTranscription",
|
|
5204
5245
|
value: (function () {
|
|
5205
|
-
var _startTranscription = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5206
|
-
return _regenerator.default.wrap(function
|
|
5207
|
-
while (1) switch (
|
|
5246
|
+
var _startTranscription = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17(options) {
|
|
5247
|
+
return _regenerator.default.wrap(function _callee17$(_context17) {
|
|
5248
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
5208
5249
|
case 0:
|
|
5209
5250
|
if (!this.isJoined()) {
|
|
5210
|
-
|
|
5251
|
+
_context17.next = 15;
|
|
5211
5252
|
break;
|
|
5212
5253
|
}
|
|
5213
5254
|
_loggerProxy.default.logger.info('Meeting:index#startTranscription --> Attempting to enable transcription!');
|
|
5214
|
-
|
|
5255
|
+
_context17.prev = 2;
|
|
5215
5256
|
if (!this.areVoiceaEventsSetup) {
|
|
5216
5257
|
this.setUpVoiceaListeners();
|
|
5217
5258
|
}
|
|
5218
5259
|
if (!(this.getCurUserType() === 'host')) {
|
|
5219
|
-
|
|
5260
|
+
_context17.next = 7;
|
|
5220
5261
|
break;
|
|
5221
5262
|
}
|
|
5222
|
-
|
|
5223
|
-
return this.webex.internal.voicea.
|
|
5263
|
+
_context17.next = 7;
|
|
5264
|
+
return this.webex.internal.voicea.turnOnCaptions(options === null || options === void 0 ? void 0 : options.spokenLanguage);
|
|
5224
5265
|
case 7:
|
|
5225
|
-
|
|
5266
|
+
_context17.next = 13;
|
|
5226
5267
|
break;
|
|
5227
5268
|
case 9:
|
|
5228
|
-
|
|
5229
|
-
|
|
5230
|
-
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(
|
|
5269
|
+
_context17.prev = 9;
|
|
5270
|
+
_context17.t0 = _context17["catch"](2);
|
|
5271
|
+
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(_context17.t0));
|
|
5231
5272
|
_metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
|
|
5232
5273
|
correlation_id: this.correlationId,
|
|
5233
|
-
reason:
|
|
5234
|
-
stack:
|
|
5274
|
+
reason: _context17.t0.message,
|
|
5275
|
+
stack: _context17.t0.stack
|
|
5235
5276
|
});
|
|
5236
5277
|
case 13:
|
|
5237
|
-
|
|
5278
|
+
_context17.next = 17;
|
|
5238
5279
|
break;
|
|
5239
5280
|
case 15:
|
|
5240
5281
|
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> meeting joined : ".concat(this.isJoined()));
|
|
5241
5282
|
throw new Error('Meeting is not joined');
|
|
5242
5283
|
case 17:
|
|
5243
5284
|
case "end":
|
|
5244
|
-
return
|
|
5285
|
+
return _context17.stop();
|
|
5245
5286
|
}
|
|
5246
|
-
},
|
|
5287
|
+
}, _callee17, this, [[2, 9]]);
|
|
5247
5288
|
}));
|
|
5248
5289
|
function startTranscription(_x15) {
|
|
5249
5290
|
return _startTranscription.apply(this, arguments);
|
|
@@ -5290,7 +5331,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5290
5331
|
function: 'triggerStopReceivingTranscriptionEvent'
|
|
5291
5332
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_RECEIVING_TRANSCRIPTION);
|
|
5292
5333
|
}
|
|
5293
|
-
|
|
5334
|
+
}, {
|
|
5335
|
+
key: "join",
|
|
5336
|
+
value: (
|
|
5294
5337
|
/**
|
|
5295
5338
|
* Specify joining via audio (option: pstn), video, screenshare
|
|
5296
5339
|
* @param {JoinOptions} options A configurable options object for joining a meeting
|
|
@@ -5303,10 +5346,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5303
5346
|
* if joining as host on second loop, pass pin and pass moderator if joining as guest on second loop
|
|
5304
5347
|
* Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
|
|
5305
5348
|
*/
|
|
5306
|
-
|
|
5307
|
-
|
|
5308
|
-
value: (function () {
|
|
5309
|
-
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17() {
|
|
5349
|
+
function () {
|
|
5350
|
+
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
5310
5351
|
var _this31 = this;
|
|
5311
5352
|
var options,
|
|
5312
5353
|
errorMessage,
|
|
@@ -5317,25 +5358,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5317
5358
|
_error,
|
|
5318
5359
|
_errorMessage2,
|
|
5319
5360
|
_error2,
|
|
5320
|
-
|
|
5321
|
-
return _regenerator.default.wrap(function
|
|
5322
|
-
while (1) switch (
|
|
5361
|
+
_args18 = arguments;
|
|
5362
|
+
return _regenerator.default.wrap(function _callee18$(_context18) {
|
|
5363
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
5323
5364
|
case 0:
|
|
5324
|
-
options =
|
|
5365
|
+
options = _args18.length > 0 && _args18[0] !== undefined ? _args18[0] : {};
|
|
5325
5366
|
if (this.webex.meetings.registered) {
|
|
5326
|
-
|
|
5367
|
+
_context18.next = 6;
|
|
5327
5368
|
break;
|
|
5328
5369
|
}
|
|
5329
5370
|
errorMessage = 'Meeting:index#join --> Device not registered';
|
|
5330
5371
|
error = new Error(errorMessage);
|
|
5331
5372
|
_loggerProxy.default.logger.error(errorMessage);
|
|
5332
|
-
return
|
|
5373
|
+
return _context18.abrupt("return", _promise.default.reject(error));
|
|
5333
5374
|
case 6:
|
|
5334
5375
|
if (!this.deferJoin) {
|
|
5335
|
-
|
|
5376
|
+
_context18.next = 8;
|
|
5336
5377
|
break;
|
|
5337
5378
|
}
|
|
5338
|
-
return
|
|
5379
|
+
return _context18.abrupt("return", this.deferJoin);
|
|
5339
5380
|
case 8:
|
|
5340
5381
|
// Create a deferred promise for a consistent resolve value from utils.
|
|
5341
5382
|
// This also prevents redundant API calls.
|
|
@@ -5384,15 +5425,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5384
5425
|
this.wirelessShare = true;
|
|
5385
5426
|
}
|
|
5386
5427
|
if (!options.meetingQuality) {
|
|
5387
|
-
|
|
5428
|
+
_context18.next = 36;
|
|
5388
5429
|
break;
|
|
5389
5430
|
}
|
|
5390
5431
|
if (!(typeof options.meetingQuality === 'string')) {
|
|
5391
|
-
|
|
5432
|
+
_context18.next = 27;
|
|
5392
5433
|
break;
|
|
5393
5434
|
}
|
|
5394
5435
|
if (_constants.QUALITY_LEVELS[options.meetingQuality]) {
|
|
5395
|
-
|
|
5436
|
+
_context18.next = 26;
|
|
5396
5437
|
break;
|
|
5397
5438
|
}
|
|
5398
5439
|
_errorMessage = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
|
|
@@ -5400,16 +5441,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5400
5441
|
_loggerProxy.default.logger.error(_errorMessage);
|
|
5401
5442
|
joinFailed(_error);
|
|
5402
5443
|
this.deferJoin = undefined;
|
|
5403
|
-
return
|
|
5444
|
+
return _context18.abrupt("return", _promise.default.reject(_error));
|
|
5404
5445
|
case 26:
|
|
5405
5446
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality);
|
|
5406
5447
|
case 27:
|
|
5407
5448
|
if (!((0, _typeof2.default)(options.meetingQuality) === 'object')) {
|
|
5408
|
-
|
|
5449
|
+
_context18.next = 36;
|
|
5409
5450
|
break;
|
|
5410
5451
|
}
|
|
5411
5452
|
if (_constants.QUALITY_LEVELS[options.meetingQuality.remote]) {
|
|
5412
|
-
|
|
5453
|
+
_context18.next = 35;
|
|
5413
5454
|
break;
|
|
5414
5455
|
}
|
|
5415
5456
|
_errorMessage2 = "Meeting:index#join --> ".concat(options.meetingQuality.remote, " not defined");
|
|
@@ -5417,42 +5458,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5417
5458
|
_error2 = new Error(_errorMessage2);
|
|
5418
5459
|
joinFailed(_error2);
|
|
5419
5460
|
this.deferJoin = undefined;
|
|
5420
|
-
return
|
|
5461
|
+
return _context18.abrupt("return", _promise.default.reject(new Error(_errorMessage2)));
|
|
5421
5462
|
case 35:
|
|
5422
5463
|
if (options.meetingQuality.remote) {
|
|
5423
5464
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality.remote);
|
|
5424
5465
|
}
|
|
5425
5466
|
case 36:
|
|
5426
5467
|
this.isMultistream = !!options.enableMultistream;
|
|
5427
|
-
|
|
5428
|
-
|
|
5468
|
+
_context18.prev = 37;
|
|
5469
|
+
_context18.next = 40;
|
|
5429
5470
|
return this.checkAndRefreshPermissionToken(_constants.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC, _constants.MEETING_PERMISSION_TOKEN_REFRESH_REASON);
|
|
5430
5471
|
case 40:
|
|
5431
|
-
|
|
5472
|
+
_context18.next = 51;
|
|
5432
5473
|
break;
|
|
5433
5474
|
case 42:
|
|
5434
|
-
|
|
5435
|
-
|
|
5436
|
-
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:',
|
|
5437
|
-
if (!(
|
|
5438
|
-
|
|
5475
|
+
_context18.prev = 42;
|
|
5476
|
+
_context18.t0 = _context18["catch"](37);
|
|
5477
|
+
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:', _context18.t0);
|
|
5478
|
+
if (!(_context18.t0 instanceof _captchaError.default || _context18.t0 instanceof _passwordError.default || _context18.t0 instanceof _permission.default)) {
|
|
5479
|
+
_context18.next = 51;
|
|
5439
5480
|
break;
|
|
5440
5481
|
}
|
|
5441
|
-
this.meetingFiniteStateMachine.fail(
|
|
5482
|
+
this.meetingFiniteStateMachine.fail(_context18.t0);
|
|
5442
5483
|
|
|
5443
5484
|
// Upload logs on refreshpermissionToken refresh Failure
|
|
5444
5485
|
_triggerProxy.default.trigger(this, {
|
|
5445
5486
|
file: 'meeting/index',
|
|
5446
5487
|
function: 'join'
|
|
5447
5488
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
5448
|
-
joinFailed(
|
|
5489
|
+
joinFailed(_context18.t0);
|
|
5449
5490
|
this.deferJoin = undefined;
|
|
5450
5491
|
|
|
5451
5492
|
// if refresh permission token requires captcha, password or permission, we are throwing the errors
|
|
5452
5493
|
// and bubble it up to client
|
|
5453
|
-
return
|
|
5494
|
+
return _context18.abrupt("return", _promise.default.reject(_context18.t0));
|
|
5454
5495
|
case 51:
|
|
5455
|
-
return
|
|
5496
|
+
return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
5456
5497
|
_this31.meetingFiniteStateMachine.join();
|
|
5457
5498
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
5458
5499
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
@@ -5498,6 +5539,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5498
5539
|
}).then(function (join) {
|
|
5499
5540
|
// @ts-ignore - config coming from registerPlugin
|
|
5500
5541
|
if (_this31.config.enableAutomaticLLM) {
|
|
5542
|
+
// @ts-ignore
|
|
5543
|
+
_this31.webex.internal.llm.on('online', _this31.handleLLMOnline);
|
|
5501
5544
|
_this31.updateLLMConnection().catch(function (error) {
|
|
5502
5545
|
_loggerProxy.default.logger.error('Meeting:index#join --> Transcription Socket Connection Failed', error);
|
|
5503
5546
|
_metrics.default.sendBehavioralMetric(_constants2.default.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
|
|
@@ -5507,19 +5550,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5507
5550
|
});
|
|
5508
5551
|
}).then(function () {
|
|
5509
5552
|
_loggerProxy.default.logger.info('Meeting:index#join --> Transcription Socket Connection Success');
|
|
5510
|
-
_triggerProxy.default.trigger(_this31, {
|
|
5511
|
-
file: 'meeting/index',
|
|
5512
|
-
function: 'join'
|
|
5513
|
-
}, _constants.EVENT_TRIGGERS.MEETING_TRANSCRIPTION_CONNECTED, undefined);
|
|
5514
5553
|
});
|
|
5515
5554
|
}
|
|
5516
5555
|
return join;
|
|
5517
5556
|
}));
|
|
5518
5557
|
case 52:
|
|
5519
5558
|
case "end":
|
|
5520
|
-
return
|
|
5559
|
+
return _context18.stop();
|
|
5521
5560
|
}
|
|
5522
|
-
},
|
|
5561
|
+
}, _callee18, this, [[37, 42]]);
|
|
5523
5562
|
}));
|
|
5524
5563
|
function join() {
|
|
5525
5564
|
return _join.apply(this, arguments);
|
|
@@ -5536,38 +5575,38 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5536
5575
|
}, {
|
|
5537
5576
|
key: "updateLLMConnection",
|
|
5538
5577
|
value: (function () {
|
|
5539
|
-
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5578
|
+
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
5540
5579
|
var _this32 = this;
|
|
5541
5580
|
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
|
|
5542
|
-
return _regenerator.default.wrap(function
|
|
5543
|
-
while (1) switch (
|
|
5581
|
+
return _regenerator.default.wrap(function _callee19$(_context19) {
|
|
5582
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
5544
5583
|
case 0:
|
|
5545
5584
|
// @ts-ignore - Fix type
|
|
5546
5585
|
_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
5586
|
isJoined = this.isJoined(); // @ts-ignore - Fix type
|
|
5548
5587
|
if (!this.webex.internal.llm.isConnected()) {
|
|
5549
|
-
|
|
5588
|
+
_context19.next = 8;
|
|
5550
5589
|
break;
|
|
5551
5590
|
}
|
|
5552
5591
|
if (!(url === this.webex.internal.llm.getLocusUrl() && isJoined)) {
|
|
5553
|
-
|
|
5592
|
+
_context19.next = 5;
|
|
5554
5593
|
break;
|
|
5555
5594
|
}
|
|
5556
|
-
return
|
|
5595
|
+
return _context19.abrupt("return", undefined);
|
|
5557
5596
|
case 5:
|
|
5558
|
-
|
|
5597
|
+
_context19.next = 7;
|
|
5559
5598
|
return this.webex.internal.llm.disconnectLLM();
|
|
5560
5599
|
case 7:
|
|
5561
5600
|
// @ts-ignore - Fix type
|
|
5562
5601
|
this.webex.internal.llm.off('event:relay.event', this.processRelayEvent);
|
|
5563
5602
|
case 8:
|
|
5564
5603
|
if (isJoined) {
|
|
5565
|
-
|
|
5604
|
+
_context19.next = 10;
|
|
5566
5605
|
break;
|
|
5567
5606
|
}
|
|
5568
|
-
return
|
|
5607
|
+
return _context19.abrupt("return", undefined);
|
|
5569
5608
|
case 10:
|
|
5570
|
-
return
|
|
5609
|
+
return _context19.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
|
|
5571
5610
|
// @ts-ignore - Fix type
|
|
5572
5611
|
_this32.webex.internal.llm.off('event:relay.event', _this32.processRelayEvent);
|
|
5573
5612
|
// @ts-ignore - Fix type
|
|
@@ -5577,9 +5616,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5577
5616
|
}));
|
|
5578
5617
|
case 11:
|
|
5579
5618
|
case "end":
|
|
5580
|
-
return
|
|
5619
|
+
return _context19.stop();
|
|
5581
5620
|
}
|
|
5582
|
-
},
|
|
5621
|
+
}, _callee19, this);
|
|
5583
5622
|
}));
|
|
5584
5623
|
function updateLLMConnection() {
|
|
5585
5624
|
return _updateLLMConnection.apply(this, arguments);
|
|
@@ -5751,17 +5790,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5751
5790
|
meetingId: this.id
|
|
5752
5791
|
}
|
|
5753
5792
|
});
|
|
5754
|
-
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5793
|
+
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20() {
|
|
5755
5794
|
var mediaSettings;
|
|
5756
|
-
return _regenerator.default.wrap(function
|
|
5757
|
-
while (1) switch (
|
|
5795
|
+
return _regenerator.default.wrap(function _callee20$(_context20) {
|
|
5796
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
5758
5797
|
case 0:
|
|
5759
|
-
|
|
5798
|
+
_context20.prev = 0;
|
|
5760
5799
|
if (!(_this35.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
5761
|
-
|
|
5800
|
+
_context20.next = 4;
|
|
5762
5801
|
break;
|
|
5763
5802
|
}
|
|
5764
|
-
|
|
5803
|
+
_context20.next = 4;
|
|
5765
5804
|
return _this35.releaseScreenShareFloor();
|
|
5766
5805
|
case 4:
|
|
5767
5806
|
mediaSettings = {
|
|
@@ -5774,37 +5813,61 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5774
5813
|
receiveShare: true
|
|
5775
5814
|
}
|
|
5776
5815
|
};
|
|
5777
|
-
_this35.cleanupLocalStreams();
|
|
5778
5816
|
_this35.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
|
5779
5817
|
_this35.mediaProperties.unsetRemoteMedia();
|
|
5780
5818
|
|
|
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
|
-
|
|
5819
|
+
// 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
|
|
5820
|
+
// once the device answers we close the old connection and create new media server connection with only share enabled
|
|
5821
|
+
if (!_this35.statsAnalyzer) {
|
|
5822
|
+
_context20.next = 10;
|
|
5823
|
+
break;
|
|
5824
|
+
}
|
|
5825
|
+
_context20.next = 10;
|
|
5826
|
+
return _this35.statsAnalyzer.stopAnalyzer();
|
|
5788
5827
|
case 10:
|
|
5789
|
-
|
|
5790
|
-
|
|
5828
|
+
_context20.next = 12;
|
|
5829
|
+
return _this35.closeRemoteStreams();
|
|
5791
5830
|
case 12:
|
|
5792
|
-
|
|
5793
|
-
|
|
5794
|
-
|
|
5831
|
+
_context20.next = 14;
|
|
5832
|
+
return _this35.closePeerConnections();
|
|
5833
|
+
case 14:
|
|
5834
|
+
_this35.cleanupLocalStreams();
|
|
5835
|
+
_this35.unsetRemoteStreams();
|
|
5836
|
+
_this35.unsetPeerConnections();
|
|
5837
|
+
_this35.reconnectionManager.cleanUp();
|
|
5838
|
+
_context20.next = 20;
|
|
5839
|
+
return _this35.addMedia({
|
|
5840
|
+
audioEnabled: false,
|
|
5841
|
+
videoEnabled: false,
|
|
5842
|
+
shareVideoEnabled: true
|
|
5843
|
+
});
|
|
5844
|
+
case 20:
|
|
5845
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
5846
|
+
_this35.isMoveToInProgress = false;
|
|
5847
|
+
_context20.next = 29;
|
|
5848
|
+
break;
|
|
5849
|
+
case 24:
|
|
5850
|
+
_context20.prev = 24;
|
|
5851
|
+
_context20.t0 = _context20["catch"](0);
|
|
5852
|
+
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context20.t0);
|
|
5795
5853
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
5796
5854
|
correlation_id: _this35.correlationId,
|
|
5797
5855
|
locus_id: _this35.locusUrl.split('/').pop(),
|
|
5798
|
-
reason:
|
|
5799
|
-
stack:
|
|
5856
|
+
reason: _context20.t0.message,
|
|
5857
|
+
stack: _context20.t0.stack
|
|
5800
5858
|
});
|
|
5801
|
-
|
|
5859
|
+
_this35.isMoveToInProgress = false;
|
|
5860
|
+
case 29:
|
|
5802
5861
|
case "end":
|
|
5803
|
-
return
|
|
5862
|
+
return _context20.stop();
|
|
5804
5863
|
}
|
|
5805
|
-
},
|
|
5864
|
+
}, _callee20, null, [[0, 24]]);
|
|
5806
5865
|
})));
|
|
5807
5866
|
_loggerProxy.default.logger.info('Meeting:index#moveTo --> Initated moved to using resourceId', resourceId);
|
|
5867
|
+
|
|
5868
|
+
// TODO: Check with locus if SELF_OBSERVING event would ever be not emitted
|
|
5869
|
+
// If yes, introduce a timeout mechanism
|
|
5870
|
+
this.isMoveToInProgress = true;
|
|
5808
5871
|
return _util2.default.joinMeetingOptions(this, {
|
|
5809
5872
|
resourceId: resourceId,
|
|
5810
5873
|
moveToResource: true
|
|
@@ -5819,6 +5882,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5819
5882
|
stack: error.stack
|
|
5820
5883
|
});
|
|
5821
5884
|
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
|
|
5885
|
+
_this35.isMoveToInProgress = false;
|
|
5822
5886
|
return _promise.default.reject(error);
|
|
5823
5887
|
});
|
|
5824
5888
|
}
|
|
@@ -5885,10 +5949,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5885
5949
|
}, {
|
|
5886
5950
|
key: "createMediaConnection",
|
|
5887
5951
|
value: (function () {
|
|
5888
|
-
var _createMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5952
|
+
var _createMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21(turnServerInfo, bundlePolicy) {
|
|
5889
5953
|
var mc, audioEnabled, videoEnabled, shareEnabled;
|
|
5890
|
-
return _regenerator.default.wrap(function
|
|
5891
|
-
while (1) switch (
|
|
5954
|
+
return _regenerator.default.wrap(function _callee21$(_context21) {
|
|
5955
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
5892
5956
|
case 0:
|
|
5893
5957
|
mc = _media.default.createMediaConnection(this.isMultistream, this.getMediaConnectionDebugId(),
|
|
5894
5958
|
// @ts-ignore
|
|
@@ -5914,40 +5978,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5914
5978
|
|
|
5915
5979
|
// publish the streams
|
|
5916
5980
|
if (!this.mediaProperties.audioStream) {
|
|
5917
|
-
|
|
5981
|
+
_context21.next = 8;
|
|
5918
5982
|
break;
|
|
5919
5983
|
}
|
|
5920
5984
|
this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
5921
|
-
|
|
5985
|
+
_context21.next = 8;
|
|
5922
5986
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
5923
5987
|
case 8:
|
|
5924
5988
|
if (!this.mediaProperties.videoStream) {
|
|
5925
|
-
|
|
5989
|
+
_context21.next = 11;
|
|
5926
5990
|
break;
|
|
5927
5991
|
}
|
|
5928
|
-
|
|
5992
|
+
_context21.next = 11;
|
|
5929
5993
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
5930
5994
|
case 11:
|
|
5931
5995
|
if (!this.mediaProperties.shareVideoStream) {
|
|
5932
|
-
|
|
5996
|
+
_context21.next = 14;
|
|
5933
5997
|
break;
|
|
5934
5998
|
}
|
|
5935
|
-
|
|
5999
|
+
_context21.next = 14;
|
|
5936
6000
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
5937
6001
|
case 14:
|
|
5938
6002
|
if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
|
|
5939
|
-
|
|
6003
|
+
_context21.next = 17;
|
|
5940
6004
|
break;
|
|
5941
6005
|
}
|
|
5942
|
-
|
|
6006
|
+
_context21.next = 17;
|
|
5943
6007
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
5944
6008
|
case 17:
|
|
5945
|
-
return
|
|
6009
|
+
return _context21.abrupt("return", mc);
|
|
5946
6010
|
case 18:
|
|
5947
6011
|
case "end":
|
|
5948
|
-
return
|
|
6012
|
+
return _context21.stop();
|
|
5949
6013
|
}
|
|
5950
|
-
},
|
|
6014
|
+
}, _callee21, this);
|
|
5951
6015
|
}));
|
|
5952
6016
|
function createMediaConnection(_x16, _x17) {
|
|
5953
6017
|
return _createMediaConnection.apply(this, arguments);
|
|
@@ -5987,11 +6051,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5987
6051
|
}, {
|
|
5988
6052
|
key: "setUpLocalStreamReferences",
|
|
5989
6053
|
value: (function () {
|
|
5990
|
-
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6054
|
+
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee22(localStreams) {
|
|
5991
6055
|
var _localStreams$microph, _localStreams$camera, _localStreams$screenS, _localStreams$screenS2, _localStreams$screenS3, _localStreams$screenS4, _localStreams$screenS5, _localStreams$screenS6;
|
|
5992
6056
|
var setUpStreamPromises;
|
|
5993
|
-
return _regenerator.default.wrap(function
|
|
5994
|
-
while (1) switch (
|
|
6057
|
+
return _regenerator.default.wrap(function _callee22$(_context22) {
|
|
6058
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
5995
6059
|
case 0:
|
|
5996
6060
|
setUpStreamPromises = [];
|
|
5997
6061
|
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 +6070,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6006
6070
|
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
6071
|
setUpStreamPromises.push(this.setLocalShareAudioStream(localStreams.screenShare.audio));
|
|
6008
6072
|
}
|
|
6009
|
-
|
|
6010
|
-
|
|
6073
|
+
_context22.prev = 5;
|
|
6074
|
+
_context22.next = 8;
|
|
6011
6075
|
return _promise.default.all(setUpStreamPromises);
|
|
6012
6076
|
case 8:
|
|
6013
|
-
|
|
6077
|
+
_context22.next = 14;
|
|
6014
6078
|
break;
|
|
6015
6079
|
case 10:
|
|
6016
|
-
|
|
6017
|
-
|
|
6018
|
-
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ",
|
|
6019
|
-
throw
|
|
6080
|
+
_context22.prev = 10;
|
|
6081
|
+
_context22.t0 = _context22["catch"](5);
|
|
6082
|
+
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _context22.t0);
|
|
6083
|
+
throw _context22.t0;
|
|
6020
6084
|
case 14:
|
|
6021
6085
|
case "end":
|
|
6022
|
-
return
|
|
6086
|
+
return _context22.stop();
|
|
6023
6087
|
}
|
|
6024
|
-
},
|
|
6088
|
+
}, _callee22, this, [[5, 10]]);
|
|
6025
6089
|
}));
|
|
6026
6090
|
function setUpLocalStreamReferences(_x18) {
|
|
6027
6091
|
return _setUpLocalStreamReferences.apply(this, arguments);
|
|
@@ -6038,20 +6102,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6038
6102
|
}, {
|
|
6039
6103
|
key: "waitForMediaConnectionConnected",
|
|
6040
6104
|
value: (function () {
|
|
6041
|
-
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6105
|
+
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23() {
|
|
6042
6106
|
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 (
|
|
6107
|
+
return _regenerator.default.wrap(function _callee23$(_context23) {
|
|
6108
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
6045
6109
|
case 0:
|
|
6046
|
-
|
|
6047
|
-
|
|
6110
|
+
_context23.prev = 0;
|
|
6111
|
+
_context23.next = 3;
|
|
6048
6112
|
return this.mediaProperties.waitForMediaConnectionConnected();
|
|
6049
6113
|
case 3:
|
|
6050
|
-
|
|
6114
|
+
_context23.next = 9;
|
|
6051
6115
|
break;
|
|
6052
6116
|
case 5:
|
|
6053
|
-
|
|
6054
|
-
|
|
6117
|
+
_context23.prev = 5;
|
|
6118
|
+
_context23.t0 = _context23["catch"](0);
|
|
6055
6119
|
if (!this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
6056
6120
|
// Only send CA event for join flow if we haven't successfully connected media yet
|
|
6057
6121
|
// @ts-ignore
|
|
@@ -6079,9 +6143,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6079
6143
|
throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(this.correlationId));
|
|
6080
6144
|
case 9:
|
|
6081
6145
|
case "end":
|
|
6082
|
-
return
|
|
6146
|
+
return _context23.stop();
|
|
6083
6147
|
}
|
|
6084
|
-
},
|
|
6148
|
+
}, _callee23, this, [[0, 5]]);
|
|
6085
6149
|
}));
|
|
6086
6150
|
function waitForMediaConnectionConnected() {
|
|
6087
6151
|
return _waitForMediaConnectionConnected.apply(this, arguments);
|
|
@@ -6131,18 +6195,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6131
6195
|
* @returns {Promise<void>}
|
|
6132
6196
|
*/
|
|
6133
6197
|
function () {
|
|
6134
|
-
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6198
|
+
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24() {
|
|
6135
6199
|
var LOG_HEADER, deferSDPAnswer;
|
|
6136
|
-
return _regenerator.default.wrap(function
|
|
6137
|
-
while (1) switch (
|
|
6200
|
+
return _regenerator.default.wrap(function _callee24$(_context24) {
|
|
6201
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
6138
6202
|
case 0:
|
|
6139
6203
|
LOG_HEADER = 'Meeting:index#addMedia():waitForRemoteSDPAnswer -->';
|
|
6140
6204
|
if (this.deferSDPAnswer) {
|
|
6141
|
-
|
|
6205
|
+
_context24.next = 4;
|
|
6142
6206
|
break;
|
|
6143
6207
|
}
|
|
6144
6208
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " offer not created yet"));
|
|
6145
|
-
return
|
|
6209
|
+
return _context24.abrupt("return", _promise.default.reject(new Error('waitForRemoteSDPAnswer() called before local sdp offer created')));
|
|
6146
6210
|
case 4:
|
|
6147
6211
|
deferSDPAnswer = this.deferSDPAnswer;
|
|
6148
6212
|
this.sdpResponseTimer = setTimeout(function () {
|
|
@@ -6150,12 +6214,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6150
6214
|
deferSDPAnswer.reject(new Error('Timed out waiting for REMOTE SDP ANSWER'));
|
|
6151
6215
|
}, _constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT);
|
|
6152
6216
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " waiting for REMOTE SDP ANSWER..."));
|
|
6153
|
-
return
|
|
6217
|
+
return _context24.abrupt("return", deferSDPAnswer.promise);
|
|
6154
6218
|
case 8:
|
|
6155
6219
|
case "end":
|
|
6156
|
-
return
|
|
6220
|
+
return _context24.stop();
|
|
6157
6221
|
}
|
|
6158
|
-
},
|
|
6222
|
+
}, _callee24, this);
|
|
6159
6223
|
}));
|
|
6160
6224
|
function waitForRemoteSDPAnswer() {
|
|
6161
6225
|
return _waitForRemoteSDPAnswer.apply(this, arguments);
|
|
@@ -6174,28 +6238,28 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6174
6238
|
}, {
|
|
6175
6239
|
key: "retryEstablishMediaConnectionWithForcedTurnDiscovery",
|
|
6176
6240
|
value: (function () {
|
|
6177
|
-
var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6241
|
+
var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee25(remoteMediaManagerConfig, bundlePolicy) {
|
|
6178
6242
|
var LOG_HEADER;
|
|
6179
|
-
return _regenerator.default.wrap(function
|
|
6180
|
-
while (1) switch (
|
|
6243
|
+
return _regenerator.default.wrap(function _callee25$(_context25) {
|
|
6244
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
6181
6245
|
case 0:
|
|
6182
6246
|
LOG_HEADER = 'Meeting:index#addMedia():retryEstablishMediaConnectionWithForcedTurnDiscovery -->';
|
|
6183
|
-
|
|
6184
|
-
|
|
6247
|
+
_context25.prev = 1;
|
|
6248
|
+
_context25.next = 4;
|
|
6185
6249
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true);
|
|
6186
6250
|
case 4:
|
|
6187
|
-
|
|
6251
|
+
_context25.next = 10;
|
|
6188
6252
|
break;
|
|
6189
6253
|
case 6:
|
|
6190
|
-
|
|
6191
|
-
|
|
6192
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "),
|
|
6193
|
-
throw
|
|
6254
|
+
_context25.prev = 6;
|
|
6255
|
+
_context25.t0 = _context25["catch"](1);
|
|
6256
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "), _context25.t0);
|
|
6257
|
+
throw _context25.t0;
|
|
6194
6258
|
case 10:
|
|
6195
6259
|
case "end":
|
|
6196
|
-
return
|
|
6260
|
+
return _context25.stop();
|
|
6197
6261
|
}
|
|
6198
|
-
},
|
|
6262
|
+
}, _callee25, this, [[1, 6]]);
|
|
6199
6263
|
}));
|
|
6200
6264
|
function retryEstablishMediaConnectionWithForcedTurnDiscovery(_x19, _x20) {
|
|
6201
6265
|
return _retryEstablishMediaConnectionWithForcedTurnDiscovery.apply(this, arguments);
|
|
@@ -6215,14 +6279,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6215
6279
|
}, {
|
|
6216
6280
|
key: "retryWithForcedTurnDiscovery",
|
|
6217
6281
|
value: (function () {
|
|
6218
|
-
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6282
|
+
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee26(remoteMediaManagerConfig, bundlePolicy) {
|
|
6219
6283
|
var LOG_HEADER;
|
|
6220
|
-
return _regenerator.default.wrap(function
|
|
6221
|
-
while (1) switch (
|
|
6284
|
+
return _regenerator.default.wrap(function _callee26$(_context26) {
|
|
6285
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
6222
6286
|
case 0:
|
|
6223
6287
|
this.retriedWithTurnServer = true;
|
|
6224
6288
|
LOG_HEADER = 'Meeting:index#addMedia():retryWithForcedTurnDiscovery -->';
|
|
6225
|
-
|
|
6289
|
+
_context26.next = 4;
|
|
6226
6290
|
return this.cleanUpBeforeRetryWithTurnServer();
|
|
6227
6291
|
case 4:
|
|
6228
6292
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_RETRY, {
|
|
@@ -6232,22 +6296,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6232
6296
|
reason: 'forcingTurnTls'
|
|
6233
6297
|
});
|
|
6234
6298
|
if (!(this.state === _constants.MEETING_STATE.STATES.LEFT)) {
|
|
6235
|
-
|
|
6299
|
+
_context26.next = 9;
|
|
6236
6300
|
break;
|
|
6237
6301
|
}
|
|
6238
6302
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " meeting state was LEFT after first attempt to establish media connection. Attempting to rejoin. "));
|
|
6239
|
-
|
|
6303
|
+
_context26.next = 9;
|
|
6240
6304
|
return this.join({
|
|
6241
6305
|
rejoin: true
|
|
6242
6306
|
});
|
|
6243
6307
|
case 9:
|
|
6244
|
-
|
|
6308
|
+
_context26.next = 11;
|
|
6245
6309
|
return this.retryEstablishMediaConnectionWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
6246
6310
|
case 11:
|
|
6247
6311
|
case "end":
|
|
6248
|
-
return
|
|
6312
|
+
return _context26.stop();
|
|
6249
6313
|
}
|
|
6250
|
-
},
|
|
6314
|
+
}, _callee26, this);
|
|
6251
6315
|
}));
|
|
6252
6316
|
function retryWithForcedTurnDiscovery(_x21, _x22) {
|
|
6253
6317
|
return _retryWithForcedTurnDiscovery.apply(this, arguments);
|
|
@@ -6269,30 +6333,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6269
6333
|
}, {
|
|
6270
6334
|
key: "handleWaitForMediaConnectionConnectedError",
|
|
6271
6335
|
value: (function () {
|
|
6272
|
-
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6336
|
+
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee27(error, remoteMediaManagerConfig, bundlePolicy) {
|
|
6273
6337
|
var LOG_HEADER;
|
|
6274
|
-
return _regenerator.default.wrap(function
|
|
6275
|
-
while (1) switch (
|
|
6338
|
+
return _regenerator.default.wrap(function _callee27$(_context27) {
|
|
6339
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
6276
6340
|
case 0:
|
|
6277
6341
|
LOG_HEADER = 'Meeting:index#addMedia():handleWaitForMediaConnectionConnectedError -->'; // @ts-ignore - config coming from registerPlugin
|
|
6278
6342
|
if (this.turnServerUsed) {
|
|
6279
|
-
|
|
6343
|
+
_context27.next = 7;
|
|
6280
6344
|
break;
|
|
6281
6345
|
}
|
|
6282
6346
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " error waiting for media to connect on UDP, TCP, retrying using TURN-TLS, "), error);
|
|
6283
|
-
|
|
6347
|
+
_context27.next = 5;
|
|
6284
6348
|
return this.retryWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
6285
6349
|
case 5:
|
|
6286
|
-
|
|
6350
|
+
_context27.next = 9;
|
|
6287
6351
|
break;
|
|
6288
6352
|
case 7:
|
|
6289
6353
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error waiting for media to connect using UDP, TCP and TURN-TLS"), error);
|
|
6290
6354
|
throw new _webexErrors.AddMediaFailed();
|
|
6291
6355
|
case 9:
|
|
6292
6356
|
case "end":
|
|
6293
|
-
return
|
|
6357
|
+
return _context27.stop();
|
|
6294
6358
|
}
|
|
6295
|
-
},
|
|
6359
|
+
}, _callee27, this);
|
|
6296
6360
|
}));
|
|
6297
6361
|
function handleWaitForMediaConnectionConnectedError(_x23, _x24, _x25) {
|
|
6298
6362
|
return _handleWaitForMediaConnectionConnectedError.apply(this, arguments);
|
|
@@ -6302,7 +6366,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6302
6366
|
/**
|
|
6303
6367
|
* Performs TURN discovery as a separate call to the Locus /media API
|
|
6304
6368
|
*
|
|
6305
|
-
* @param {boolean}
|
|
6369
|
+
* @param {boolean} isReconnecting
|
|
6306
6370
|
* @param {boolean} isForced
|
|
6307
6371
|
* @returns {Promise}
|
|
6308
6372
|
*/
|
|
@@ -6310,20 +6374,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6310
6374
|
}, {
|
|
6311
6375
|
key: "doTurnDiscovery",
|
|
6312
6376
|
value: (function () {
|
|
6313
|
-
var _doTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6377
|
+
var _doTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee28(isReconnecting, isForced) {
|
|
6314
6378
|
var cdl, turnDiscoveryResult;
|
|
6315
|
-
return _regenerator.default.wrap(function
|
|
6316
|
-
while (1) switch (
|
|
6379
|
+
return _regenerator.default.wrap(function _callee28$(_context28) {
|
|
6380
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
6317
6381
|
case 0:
|
|
6318
6382
|
// @ts-ignore
|
|
6319
6383
|
cdl = this.webex.internal.newMetrics.callDiagnosticLatencies; // @ts-ignore
|
|
6320
6384
|
this.webex.internal.newMetrics.submitInternalEvent({
|
|
6321
6385
|
name: 'internal.client.add-media.turn-discovery.start'
|
|
6322
6386
|
});
|
|
6323
|
-
|
|
6324
|
-
return this.roap.doTurnDiscovery(this,
|
|
6387
|
+
_context28.next = 4;
|
|
6388
|
+
return this.roap.doTurnDiscovery(this, isReconnecting, isForced);
|
|
6325
6389
|
case 4:
|
|
6326
|
-
turnDiscoveryResult =
|
|
6390
|
+
turnDiscoveryResult = _context28.sent;
|
|
6327
6391
|
this.turnDiscoverySkippedReason = turnDiscoveryResult === null || turnDiscoveryResult === void 0 ? void 0 : turnDiscoveryResult.turnDiscoverySkippedReason;
|
|
6328
6392
|
this.turnServerUsed = !this.turnDiscoverySkippedReason;
|
|
6329
6393
|
|
|
@@ -6339,12 +6403,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6339
6403
|
retriedWithTurnServer: this.retriedWithTurnServer
|
|
6340
6404
|
});
|
|
6341
6405
|
}
|
|
6342
|
-
return
|
|
6406
|
+
return _context28.abrupt("return", turnDiscoveryResult);
|
|
6343
6407
|
case 10:
|
|
6344
6408
|
case "end":
|
|
6345
|
-
return
|
|
6409
|
+
return _context28.stop();
|
|
6346
6410
|
}
|
|
6347
|
-
},
|
|
6411
|
+
}, _callee28, this);
|
|
6348
6412
|
}));
|
|
6349
6413
|
function doTurnDiscovery(_x26, _x27) {
|
|
6350
6414
|
return _doTurnDiscovery.apply(this, arguments);
|
|
@@ -6365,31 +6429,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6365
6429
|
}, {
|
|
6366
6430
|
key: "establishMediaConnection",
|
|
6367
6431
|
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 (
|
|
6432
|
+
var _establishMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee29(remoteMediaManagerConfig, bundlePolicy, isForced, turnServerInfo) {
|
|
6433
|
+
var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc;
|
|
6434
|
+
return _regenerator.default.wrap(function _callee29$(_context29) {
|
|
6435
|
+
while (1) switch (_context29.prev = _context29.next) {
|
|
6372
6436
|
case 0:
|
|
6373
6437
|
LOG_HEADER = 'Meeting:index#addMedia():establishMediaConnection -->';
|
|
6374
|
-
|
|
6375
|
-
|
|
6438
|
+
isReconnecting = this.isMoveToInProgress || this.retriedWithTurnServer; // We are forcing turn discovery if the case is moveTo and a turn server was used already
|
|
6439
|
+
if (this.isMoveToInProgress && this.turnServerUsed) {
|
|
6440
|
+
isForced = true;
|
|
6441
|
+
}
|
|
6442
|
+
_context29.prev = 3;
|
|
6376
6443
|
if (turnServerInfo) {
|
|
6377
|
-
|
|
6444
|
+
_context29.next = 9;
|
|
6378
6445
|
break;
|
|
6379
6446
|
}
|
|
6380
|
-
|
|
6381
|
-
return this.doTurnDiscovery(
|
|
6382
|
-
case
|
|
6383
|
-
_yield$this$doTurnDis =
|
|
6447
|
+
_context29.next = 7;
|
|
6448
|
+
return this.doTurnDiscovery(isReconnecting, isForced);
|
|
6449
|
+
case 7:
|
|
6450
|
+
_yield$this$doTurnDis = _context29.sent;
|
|
6384
6451
|
turnServerInfo = _yield$this$doTurnDis.turnServerInfo;
|
|
6385
|
-
case
|
|
6386
|
-
|
|
6452
|
+
case 9:
|
|
6453
|
+
_context29.next = 11;
|
|
6387
6454
|
return this.createMediaConnection(turnServerInfo, bundlePolicy);
|
|
6388
|
-
case
|
|
6389
|
-
mc =
|
|
6455
|
+
case 11:
|
|
6456
|
+
mc = _context29.sent;
|
|
6390
6457
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created"));
|
|
6391
6458
|
if (!this.isMultistream) {
|
|
6392
|
-
|
|
6459
|
+
_context29.next = 21;
|
|
6393
6460
|
break;
|
|
6394
6461
|
}
|
|
6395
6462
|
this.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(this.receiveSlotManager, this.mediaRequestManagers, remoteMediaManagerConfig);
|
|
@@ -6397,40 +6464,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6397
6464
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.InterpretationAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_INTERPRETATION_AUDIO_CREATED);
|
|
6398
6465
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
|
|
6399
6466
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
|
|
6400
|
-
|
|
6467
|
+
_context29.next = 21;
|
|
6401
6468
|
return this.remoteMediaManager.start();
|
|
6402
|
-
case
|
|
6403
|
-
|
|
6469
|
+
case 21:
|
|
6470
|
+
_context29.next = 23;
|
|
6404
6471
|
return mc.initiateOffer();
|
|
6405
|
-
case
|
|
6406
|
-
|
|
6472
|
+
case 23:
|
|
6473
|
+
_context29.next = 25;
|
|
6407
6474
|
return this.waitForRemoteSDPAnswer();
|
|
6408
|
-
case
|
|
6475
|
+
case 25:
|
|
6409
6476
|
this.handleMediaLogging(this.mediaProperties);
|
|
6410
|
-
|
|
6477
|
+
_context29.next = 32;
|
|
6411
6478
|
break;
|
|
6412
|
-
case
|
|
6413
|
-
|
|
6414
|
-
|
|
6415
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "),
|
|
6416
|
-
throw
|
|
6417
|
-
case
|
|
6418
|
-
|
|
6419
|
-
|
|
6479
|
+
case 28:
|
|
6480
|
+
_context29.prev = 28;
|
|
6481
|
+
_context29.t0 = _context29["catch"](3);
|
|
6482
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _context29.t0);
|
|
6483
|
+
throw _context29.t0;
|
|
6484
|
+
case 32:
|
|
6485
|
+
_context29.prev = 32;
|
|
6486
|
+
_context29.next = 35;
|
|
6420
6487
|
return this.waitForMediaConnectionConnected();
|
|
6421
|
-
case
|
|
6422
|
-
|
|
6488
|
+
case 35:
|
|
6489
|
+
_context29.next = 41;
|
|
6423
6490
|
break;
|
|
6424
|
-
case
|
|
6425
|
-
|
|
6426
|
-
|
|
6427
|
-
|
|
6428
|
-
return this.handleWaitForMediaConnectionConnectedError(
|
|
6429
|
-
case
|
|
6491
|
+
case 37:
|
|
6492
|
+
_context29.prev = 37;
|
|
6493
|
+
_context29.t1 = _context29["catch"](32);
|
|
6494
|
+
_context29.next = 41;
|
|
6495
|
+
return this.handleWaitForMediaConnectionConnectedError(_context29.t1, remoteMediaManagerConfig, bundlePolicy);
|
|
6496
|
+
case 41:
|
|
6430
6497
|
case "end":
|
|
6431
|
-
return
|
|
6498
|
+
return _context29.stop();
|
|
6432
6499
|
}
|
|
6433
|
-
},
|
|
6500
|
+
}, _callee29, this, [[3, 28], [32, 37]]);
|
|
6434
6501
|
}));
|
|
6435
6502
|
function establishMediaConnection(_x28, _x29, _x30, _x31) {
|
|
6436
6503
|
return _establishMediaConnection.apply(this, arguments);
|
|
@@ -6447,22 +6514,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6447
6514
|
}, {
|
|
6448
6515
|
key: "cleanUpOnAddMediaFailure",
|
|
6449
6516
|
value: (function () {
|
|
6450
|
-
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6451
|
-
return _regenerator.default.wrap(function
|
|
6452
|
-
while (1) switch (
|
|
6517
|
+
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee30() {
|
|
6518
|
+
return _regenerator.default.wrap(function _callee30$(_context30) {
|
|
6519
|
+
while (1) switch (_context30.prev = _context30.next) {
|
|
6453
6520
|
case 0:
|
|
6454
6521
|
if (!this.statsAnalyzer) {
|
|
6455
|
-
|
|
6522
|
+
_context30.next = 3;
|
|
6456
6523
|
break;
|
|
6457
6524
|
}
|
|
6458
|
-
|
|
6525
|
+
_context30.next = 3;
|
|
6459
6526
|
return this.statsAnalyzer.stopAnalyzer();
|
|
6460
6527
|
case 3:
|
|
6461
6528
|
this.statsAnalyzer = null;
|
|
6462
6529
|
|
|
6463
6530
|
// when media fails, we want to upload a webrtc dump to see whats going on
|
|
6464
6531
|
// this function is async, but returns once the stats have been gathered
|
|
6465
|
-
|
|
6532
|
+
_context30.next = 6;
|
|
6466
6533
|
return this.forceSendStatsReport({
|
|
6467
6534
|
callFrom: 'addMedia'
|
|
6468
6535
|
});
|
|
@@ -6473,9 +6540,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6473
6540
|
}
|
|
6474
6541
|
case 7:
|
|
6475
6542
|
case "end":
|
|
6476
|
-
return
|
|
6543
|
+
return _context30.stop();
|
|
6477
6544
|
}
|
|
6478
|
-
},
|
|
6545
|
+
}, _callee30, this);
|
|
6479
6546
|
}));
|
|
6480
6547
|
function cleanUpOnAddMediaFailure() {
|
|
6481
6548
|
return _cleanUpOnAddMediaFailure.apply(this, arguments);
|
|
@@ -6493,11 +6560,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6493
6560
|
}, {
|
|
6494
6561
|
key: "cleanUpBeforeRetryWithTurnServer",
|
|
6495
6562
|
value: (function () {
|
|
6496
|
-
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6497
|
-
return _regenerator.default.wrap(function
|
|
6498
|
-
while (1) switch (
|
|
6563
|
+
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee31() {
|
|
6564
|
+
return _regenerator.default.wrap(function _callee31$(_context31) {
|
|
6565
|
+
while (1) switch (_context31.prev = _context31.next) {
|
|
6499
6566
|
case 0:
|
|
6500
|
-
|
|
6567
|
+
_context31.next = 2;
|
|
6501
6568
|
return this.forceSendStatsReport({
|
|
6502
6569
|
callFrom: 'cleanUpBeforeRetryWithTurnServer'
|
|
6503
6570
|
});
|
|
@@ -6517,9 +6584,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6517
6584
|
}
|
|
6518
6585
|
case 3:
|
|
6519
6586
|
case "end":
|
|
6520
|
-
return
|
|
6587
|
+
return _context31.stop();
|
|
6521
6588
|
}
|
|
6522
|
-
},
|
|
6589
|
+
}, _callee31, this);
|
|
6523
6590
|
}));
|
|
6524
6591
|
function cleanUpBeforeRetryWithTurnServer() {
|
|
6525
6592
|
return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
|
|
@@ -6539,7 +6606,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6539
6606
|
}, {
|
|
6540
6607
|
key: "addMedia",
|
|
6541
6608
|
value: (function () {
|
|
6542
|
-
var _addMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6609
|
+
var _addMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee32() {
|
|
6543
6610
|
var _this$webex$meetings$2, _this$webex$meetings$3;
|
|
6544
6611
|
var options,
|
|
6545
6612
|
turnServerInfo,
|
|
@@ -6556,7 +6623,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6556
6623
|
remoteMediaManagerConfig,
|
|
6557
6624
|
bundlePolicy,
|
|
6558
6625
|
_this$remoteMediaMana,
|
|
6626
|
+
_yield$this$mediaProp,
|
|
6559
6627
|
connectionType,
|
|
6628
|
+
selectedCandidatePairChanges,
|
|
6629
|
+
numTransports,
|
|
6560
6630
|
reachabilityStats,
|
|
6561
6631
|
_this$mediaProperties20,
|
|
6562
6632
|
_this$mediaProperties21,
|
|
@@ -6580,24 +6650,27 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6580
6650
|
_this$mediaProperties39,
|
|
6581
6651
|
_this$mediaProperties40,
|
|
6582
6652
|
reachabilityMetrics,
|
|
6583
|
-
|
|
6584
|
-
|
|
6585
|
-
|
|
6653
|
+
_yield$this$mediaProp2,
|
|
6654
|
+
_selectedCandidatePairChanges,
|
|
6655
|
+
_numTransports,
|
|
6656
|
+
_args32 = arguments;
|
|
6657
|
+
return _regenerator.default.wrap(function _callee32$(_context32) {
|
|
6658
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
6586
6659
|
case 0:
|
|
6587
|
-
options =
|
|
6588
|
-
turnServerInfo =
|
|
6660
|
+
options = _args32.length > 0 && _args32[0] !== undefined ? _args32[0] : {};
|
|
6661
|
+
turnServerInfo = _args32.length > 1 && _args32[1] !== undefined ? _args32[1] : undefined;
|
|
6589
6662
|
this.retriedWithTurnServer = false;
|
|
6590
6663
|
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
6591
6664
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
6592
6665
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: ").concat((0, _stringify.default)(options), ", ").concat((0, _stringify.default)(turnServerInfo)));
|
|
6593
6666
|
if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
6594
|
-
|
|
6667
|
+
_context32.next = 8;
|
|
6595
6668
|
break;
|
|
6596
6669
|
}
|
|
6597
6670
|
throw new _webexErrors.MeetingNotActiveError();
|
|
6598
6671
|
case 8:
|
|
6599
6672
|
if (!_util2.default.isUserInLeftState(this.locusInfo)) {
|
|
6600
|
-
|
|
6673
|
+
_context32.next = 10;
|
|
6601
6674
|
break;
|
|
6602
6675
|
}
|
|
6603
6676
|
throw new _webexErrors.UserNotJoinedError();
|
|
@@ -6608,7 +6681,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6608
6681
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
6609
6682
|
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
6610
6683
|
if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
|
|
6611
|
-
|
|
6684
|
+
_context32.next = 14;
|
|
6612
6685
|
break;
|
|
6613
6686
|
}
|
|
6614
6687
|
throw new _webexErrors.UserInLobbyError();
|
|
@@ -6651,6 +6724,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6651
6724
|
});
|
|
6652
6725
|
this.locusMediaRequest = new _locusMediaRequest.LocusMediaRequest({
|
|
6653
6726
|
correlationId: this.correlationId,
|
|
6727
|
+
meetingId: this.id,
|
|
6654
6728
|
device: {
|
|
6655
6729
|
url: this.deviceUrl,
|
|
6656
6730
|
// @ts-ignore
|
|
@@ -6667,48 +6741,54 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6667
6741
|
});
|
|
6668
6742
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
6669
6743
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
6670
|
-
|
|
6671
|
-
|
|
6744
|
+
_context32.prev = 19;
|
|
6745
|
+
_context32.next = 22;
|
|
6672
6746
|
return this.setUpLocalStreamReferences(localStreams);
|
|
6673
6747
|
case 22:
|
|
6674
6748
|
this.setMercuryListener();
|
|
6675
6749
|
this.createStatsAnalyzer();
|
|
6676
|
-
|
|
6750
|
+
_context32.next = 26;
|
|
6677
6751
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, false, turnServerInfo);
|
|
6678
6752
|
case 26:
|
|
6679
6753
|
if (!(audioEnabled || videoEnabled)) {
|
|
6680
|
-
|
|
6754
|
+
_context32.next = 31;
|
|
6681
6755
|
break;
|
|
6682
6756
|
}
|
|
6683
|
-
|
|
6757
|
+
_context32.next = 29;
|
|
6684
6758
|
return Meeting.handleDeviceLogging();
|
|
6685
6759
|
case 29:
|
|
6686
|
-
|
|
6760
|
+
_context32.next = 32;
|
|
6687
6761
|
break;
|
|
6688
6762
|
case 31:
|
|
6689
6763
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " device logging not required"));
|
|
6690
6764
|
case 32:
|
|
6691
6765
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
6692
|
-
|
|
6766
|
+
_context32.next = 35;
|
|
6693
6767
|
break;
|
|
6694
6768
|
}
|
|
6695
|
-
|
|
6769
|
+
_context32.next = 35;
|
|
6696
6770
|
return this.enqueueScreenShareFloorRequest();
|
|
6697
6771
|
case 35:
|
|
6698
|
-
|
|
6699
|
-
return this.mediaProperties.
|
|
6772
|
+
_context32.next = 37;
|
|
6773
|
+
return this.mediaProperties.getCurrentConnectionInfo();
|
|
6700
6774
|
case 37:
|
|
6701
|
-
|
|
6702
|
-
|
|
6775
|
+
_yield$this$mediaProp = _context32.sent;
|
|
6776
|
+
connectionType = _yield$this$mediaProp.connectionType;
|
|
6777
|
+
selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
|
|
6778
|
+
numTransports = _yield$this$mediaProp.numTransports;
|
|
6779
|
+
_context32.next = 43;
|
|
6703
6780
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6704
|
-
case
|
|
6705
|
-
reachabilityStats =
|
|
6781
|
+
case 43:
|
|
6782
|
+
reachabilityStats = _context32.sent;
|
|
6706
6783
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread({
|
|
6707
6784
|
correlation_id: this.correlationId,
|
|
6708
6785
|
locus_id: this.locusUrl.split('/').pop(),
|
|
6709
6786
|
connectionType: connectionType,
|
|
6787
|
+
selectedCandidatePairChanges: selectedCandidatePairChanges,
|
|
6788
|
+
numTransports: numTransports,
|
|
6710
6789
|
isMultistream: this.isMultistream,
|
|
6711
|
-
retriedWithTurnServer: this.retriedWithTurnServer
|
|
6790
|
+
retriedWithTurnServer: this.retriedWithTurnServer,
|
|
6791
|
+
isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry
|
|
6712
6792
|
}, reachabilityStats));
|
|
6713
6793
|
// @ts-ignore
|
|
6714
6794
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
@@ -6721,51 +6801,60 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6721
6801
|
|
|
6722
6802
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
6723
6803
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
6724
|
-
|
|
6804
|
+
_context32.next = 67;
|
|
6725
6805
|
break;
|
|
6726
|
-
case
|
|
6727
|
-
|
|
6728
|
-
|
|
6729
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "),
|
|
6806
|
+
case 50:
|
|
6807
|
+
_context32.prev = 50;
|
|
6808
|
+
_context32.t0 = _context32["catch"](19);
|
|
6809
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context32.t0);
|
|
6730
6810
|
|
|
6731
6811
|
// @ts-ignore
|
|
6732
|
-
|
|
6812
|
+
_context32.next = 55;
|
|
6733
6813
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6734
|
-
case
|
|
6735
|
-
reachabilityMetrics =
|
|
6814
|
+
case 55:
|
|
6815
|
+
reachabilityMetrics = _context32.sent;
|
|
6816
|
+
_context32.next = 58;
|
|
6817
|
+
return this.mediaProperties.getCurrentConnectionInfo();
|
|
6818
|
+
case 58:
|
|
6819
|
+
_yield$this$mediaProp2 = _context32.sent;
|
|
6820
|
+
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
6821
|
+
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
6736
6822
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread({
|
|
6737
6823
|
correlation_id: this.correlationId,
|
|
6738
6824
|
locus_id: this.locusUrl.split('/').pop(),
|
|
6739
|
-
reason:
|
|
6740
|
-
stack:
|
|
6741
|
-
code:
|
|
6825
|
+
reason: _context32.t0.message,
|
|
6826
|
+
stack: _context32.t0.stack,
|
|
6827
|
+
code: _context32.t0.code,
|
|
6828
|
+
selectedCandidatePairChanges: _selectedCandidatePairChanges,
|
|
6829
|
+
numTransports: _numTransports,
|
|
6742
6830
|
turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
|
|
6743
6831
|
turnServerUsed: this.turnServerUsed,
|
|
6744
6832
|
retriedWithTurnServer: this.retriedWithTurnServer,
|
|
6745
6833
|
isMultistream: this.isMultistream,
|
|
6834
|
+
isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry,
|
|
6746
6835
|
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
6836
|
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
6837
|
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
6838
|
}, reachabilityMetrics));
|
|
6750
|
-
|
|
6839
|
+
_context32.next = 64;
|
|
6751
6840
|
return this.cleanUpOnAddMediaFailure();
|
|
6752
|
-
case
|
|
6841
|
+
case 64:
|
|
6753
6842
|
// Upload logs on error while adding media
|
|
6754
6843
|
_triggerProxy.default.trigger(this, {
|
|
6755
6844
|
file: 'meeting/index',
|
|
6756
6845
|
function: 'addMedia'
|
|
6757
6846
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
6758
|
-
if (
|
|
6847
|
+
if (_context32.t0 instanceof _internalMediaCore.Errors.SdpError) {
|
|
6759
6848
|
this.leave({
|
|
6760
6849
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
6761
6850
|
});
|
|
6762
6851
|
}
|
|
6763
|
-
throw
|
|
6764
|
-
case
|
|
6852
|
+
throw _context32.t0;
|
|
6853
|
+
case 67:
|
|
6765
6854
|
case "end":
|
|
6766
|
-
return
|
|
6855
|
+
return _context32.stop();
|
|
6767
6856
|
}
|
|
6768
|
-
},
|
|
6857
|
+
}, _callee32, this, [[19, 50]]);
|
|
6769
6858
|
}));
|
|
6770
6859
|
function addMedia() {
|
|
6771
6860
|
return _addMedia.apply(this, arguments);
|
|
@@ -6833,35 +6922,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6833
6922
|
* @memberof Meeting
|
|
6834
6923
|
*/
|
|
6835
6924
|
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 (
|
|
6925
|
+
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee33(options) {
|
|
6926
|
+
var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled, _this$audio3, _this$video3;
|
|
6927
|
+
return _regenerator.default.wrap(function _callee33$(_context33) {
|
|
6928
|
+
while (1) switch (_context33.prev = _context33.next) {
|
|
6840
6929
|
case 0:
|
|
6841
6930
|
this.checkMediaConnection();
|
|
6842
6931
|
audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
|
|
6843
6932
|
_loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
|
|
6844
6933
|
if (this.canUpdateMedia()) {
|
|
6845
|
-
|
|
6934
|
+
_context33.next = 5;
|
|
6846
6935
|
break;
|
|
6847
6936
|
}
|
|
6848
|
-
return
|
|
6937
|
+
return _context33.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
|
|
6849
6938
|
case 5:
|
|
6850
6939
|
if (!this.isMultistream) {
|
|
6851
|
-
|
|
6940
|
+
_context33.next = 10;
|
|
6852
6941
|
break;
|
|
6853
6942
|
}
|
|
6854
6943
|
if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
|
|
6855
|
-
|
|
6944
|
+
_context33.next = 8;
|
|
6856
6945
|
break;
|
|
6857
6946
|
}
|
|
6858
6947
|
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
6948
|
case 8:
|
|
6860
|
-
|
|
6949
|
+
_context33.next = 12;
|
|
6861
6950
|
break;
|
|
6862
6951
|
case 10:
|
|
6863
6952
|
if (!(shareAudioEnabled !== undefined)) {
|
|
6864
|
-
|
|
6953
|
+
_context33.next = 12;
|
|
6865
6954
|
break;
|
|
6866
6955
|
}
|
|
6867
6956
|
throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
|
|
@@ -6869,7 +6958,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6869
6958
|
if (audioEnabled !== undefined) {
|
|
6870
6959
|
this.mediaProperties.mediaDirection.sendAudio = audioEnabled;
|
|
6871
6960
|
this.mediaProperties.mediaDirection.receiveAudio = audioEnabled;
|
|
6872
|
-
this.audio.enable(this, audioEnabled);
|
|
6961
|
+
(_this$audio3 = this.audio) === null || _this$audio3 === void 0 ? void 0 : _this$audio3.enable(this, audioEnabled);
|
|
6873
6962
|
if (this.isMultistream) {
|
|
6874
6963
|
this.sendSlotManager.setActive(_internalMediaCore.MediaType.AudioMain, audioEnabled);
|
|
6875
6964
|
}
|
|
@@ -6877,7 +6966,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6877
6966
|
if (videoEnabled !== undefined) {
|
|
6878
6967
|
this.mediaProperties.mediaDirection.sendVideo = videoEnabled;
|
|
6879
6968
|
this.mediaProperties.mediaDirection.receiveVideo = videoEnabled;
|
|
6880
|
-
this.video.enable(this, videoEnabled);
|
|
6969
|
+
(_this$video3 = this.video) === null || _this$video3 === void 0 ? void 0 : _this$video3.enable(this, videoEnabled);
|
|
6881
6970
|
if (this.isMultistream) {
|
|
6882
6971
|
this.sendSlotManager.setActive(_internalMediaCore.MediaType.VideoMain, videoEnabled);
|
|
6883
6972
|
}
|
|
@@ -6886,18 +6975,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6886
6975
|
this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
|
|
6887
6976
|
}
|
|
6888
6977
|
if (this.isMultistream) {
|
|
6889
|
-
|
|
6978
|
+
_context33.next = 18;
|
|
6890
6979
|
break;
|
|
6891
6980
|
}
|
|
6892
|
-
|
|
6981
|
+
_context33.next = 18;
|
|
6893
6982
|
return this.updateTranscodedMediaConnection();
|
|
6894
6983
|
case 18:
|
|
6895
|
-
return
|
|
6984
|
+
return _context33.abrupt("return", undefined);
|
|
6896
6985
|
case 19:
|
|
6897
6986
|
case "end":
|
|
6898
|
-
return
|
|
6987
|
+
return _context33.stop();
|
|
6899
6988
|
}
|
|
6900
|
-
},
|
|
6989
|
+
}, _callee33, this);
|
|
6901
6990
|
}));
|
|
6902
6991
|
function updateMedia(_x32) {
|
|
6903
6992
|
return _updateMedia.apply(this, arguments);
|
|
@@ -7817,37 +7906,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7817
7906
|
}, {
|
|
7818
7907
|
key: "enableMusicMode",
|
|
7819
7908
|
value: (function () {
|
|
7820
|
-
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7821
|
-
return _regenerator.default.wrap(function
|
|
7822
|
-
while (1) switch (
|
|
7909
|
+
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee34(shouldEnableMusicMode) {
|
|
7910
|
+
return _regenerator.default.wrap(function _callee34$(_context34) {
|
|
7911
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
7823
7912
|
case 0:
|
|
7824
7913
|
this.checkMediaConnection();
|
|
7825
7914
|
if (this.isMultistream) {
|
|
7826
|
-
|
|
7915
|
+
_context34.next = 3;
|
|
7827
7916
|
break;
|
|
7828
7917
|
}
|
|
7829
7918
|
throw new Error('enableMusicMode() only supported with multistream');
|
|
7830
7919
|
case 3:
|
|
7831
7920
|
if (!shouldEnableMusicMode) {
|
|
7832
|
-
|
|
7921
|
+
_context34.next = 8;
|
|
7833
7922
|
break;
|
|
7834
7923
|
}
|
|
7835
|
-
|
|
7924
|
+
_context34.next = 6;
|
|
7836
7925
|
return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
|
|
7837
7926
|
maxaveragebitrate: '64000',
|
|
7838
7927
|
maxplaybackrate: '48000'
|
|
7839
7928
|
});
|
|
7840
7929
|
case 6:
|
|
7841
|
-
|
|
7930
|
+
_context34.next = 10;
|
|
7842
7931
|
break;
|
|
7843
7932
|
case 8:
|
|
7844
|
-
|
|
7933
|
+
_context34.next = 10;
|
|
7845
7934
|
return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
|
|
7846
7935
|
case 10:
|
|
7847
7936
|
case "end":
|
|
7848
|
-
return
|
|
7937
|
+
return _context34.stop();
|
|
7849
7938
|
}
|
|
7850
|
-
},
|
|
7939
|
+
}, _callee34, this);
|
|
7851
7940
|
}));
|
|
7852
7941
|
function enableMusicMode(_x33) {
|
|
7853
7942
|
return _enableMusicMode.apply(this, arguments);
|
|
@@ -7940,25 +8029,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7940
8029
|
}, {
|
|
7941
8030
|
key: "publishStream",
|
|
7942
8031
|
value: (function () {
|
|
7943
|
-
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7944
|
-
return _regenerator.default.wrap(function
|
|
7945
|
-
while (1) switch (
|
|
8032
|
+
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee35(mediaType, stream) {
|
|
8033
|
+
return _regenerator.default.wrap(function _callee35$(_context35) {
|
|
8034
|
+
while (1) switch (_context35.prev = _context35.next) {
|
|
7946
8035
|
case 0:
|
|
7947
8036
|
if (stream) {
|
|
7948
|
-
|
|
8037
|
+
_context35.next = 2;
|
|
7949
8038
|
break;
|
|
7950
8039
|
}
|
|
7951
|
-
return
|
|
8040
|
+
return _context35.abrupt("return");
|
|
7952
8041
|
case 2:
|
|
7953
8042
|
if (!this.mediaProperties.webrtcMediaConnection) {
|
|
7954
|
-
|
|
8043
|
+
_context35.next = 7;
|
|
7955
8044
|
break;
|
|
7956
8045
|
}
|
|
7957
8046
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
7958
|
-
|
|
8047
|
+
_context35.next = 6;
|
|
7959
8048
|
break;
|
|
7960
8049
|
}
|
|
7961
|
-
|
|
8050
|
+
_context35.next = 6;
|
|
7962
8051
|
return this.sendSlotManager.publishStream(mediaType, stream);
|
|
7963
8052
|
case 6:
|
|
7964
8053
|
this.emitPublishStateChangeEvent({
|
|
@@ -7969,9 +8058,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7969
8058
|
});
|
|
7970
8059
|
case 7:
|
|
7971
8060
|
case "end":
|
|
7972
|
-
return
|
|
8061
|
+
return _context35.stop();
|
|
7973
8062
|
}
|
|
7974
|
-
},
|
|
8063
|
+
}, _callee35, this);
|
|
7975
8064
|
}));
|
|
7976
8065
|
function publishStream(_x34, _x35) {
|
|
7977
8066
|
return _publishStream.apply(this, arguments);
|
|
@@ -7989,21 +8078,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7989
8078
|
}, {
|
|
7990
8079
|
key: "unpublishStream",
|
|
7991
8080
|
value: (function () {
|
|
7992
|
-
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7993
|
-
return _regenerator.default.wrap(function
|
|
7994
|
-
while (1) switch (
|
|
8081
|
+
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee36(mediaType, stream) {
|
|
8082
|
+
return _regenerator.default.wrap(function _callee36$(_context36) {
|
|
8083
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
7995
8084
|
case 0:
|
|
7996
8085
|
if (stream) {
|
|
7997
|
-
|
|
8086
|
+
_context36.next = 2;
|
|
7998
8087
|
break;
|
|
7999
8088
|
}
|
|
8000
|
-
return
|
|
8089
|
+
return _context36.abrupt("return");
|
|
8001
8090
|
case 2:
|
|
8002
8091
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
8003
|
-
|
|
8092
|
+
_context36.next = 5;
|
|
8004
8093
|
break;
|
|
8005
8094
|
}
|
|
8006
|
-
|
|
8095
|
+
_context36.next = 5;
|
|
8007
8096
|
return this.sendSlotManager.unpublishStream(mediaType);
|
|
8008
8097
|
case 5:
|
|
8009
8098
|
this.emitPublishStateChangeEvent({
|
|
@@ -8014,9 +8103,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8014
8103
|
});
|
|
8015
8104
|
case 6:
|
|
8016
8105
|
case "end":
|
|
8017
|
-
return
|
|
8106
|
+
return _context36.stop();
|
|
8018
8107
|
}
|
|
8019
|
-
},
|
|
8108
|
+
}, _callee36, this);
|
|
8020
8109
|
}));
|
|
8021
8110
|
function unpublishStream(_x36, _x37) {
|
|
8022
8111
|
return _unpublishStream.apply(this, arguments);
|
|
@@ -8033,67 +8122,67 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8033
8122
|
}, {
|
|
8034
8123
|
key: "publishStreams",
|
|
8035
8124
|
value: (function () {
|
|
8036
|
-
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8125
|
+
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee37(streams) {
|
|
8037
8126
|
var _streams$screenShare, _streams$screenShare2, _streams$microphone, _streams$camera, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6, _streams$screenShare7, _streams$screenShare8;
|
|
8038
8127
|
var floorRequestNeeded, _streams$screenShare9;
|
|
8039
|
-
return _regenerator.default.wrap(function
|
|
8040
|
-
while (1) switch (
|
|
8128
|
+
return _regenerator.default.wrap(function _callee37$(_context37) {
|
|
8129
|
+
while (1) switch (_context37.prev = _context37.next) {
|
|
8041
8130
|
case 0:
|
|
8042
8131
|
this.checkMediaConnection();
|
|
8043
8132
|
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
|
-
|
|
8133
|
+
_context37.next = 3;
|
|
8045
8134
|
break;
|
|
8046
8135
|
}
|
|
8047
|
-
return
|
|
8136
|
+
return _context37.abrupt("return");
|
|
8048
8137
|
case 3:
|
|
8049
8138
|
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
|
-
|
|
8139
|
+
_context37.next = 5;
|
|
8051
8140
|
break;
|
|
8052
8141
|
}
|
|
8053
8142
|
throw new Error("Attempted to publish stream with ended readyState, correlationId=".concat(this.correlationId));
|
|
8054
8143
|
case 5:
|
|
8055
8144
|
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
8145
|
if (!(this.isMultistream && (_streams$screenShare7 = streams.screenShare) !== null && _streams$screenShare7 !== void 0 && _streams$screenShare7.audio)) {
|
|
8057
|
-
|
|
8146
|
+
_context37.next = 10;
|
|
8058
8147
|
break;
|
|
8059
8148
|
}
|
|
8060
|
-
|
|
8149
|
+
_context37.next = 9;
|
|
8061
8150
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
8062
8151
|
case 9:
|
|
8063
8152
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8064
8153
|
case 10:
|
|
8065
8154
|
if (!((_streams$screenShare8 = streams.screenShare) !== null && _streams$screenShare8 !== void 0 && _streams$screenShare8.video)) {
|
|
8066
|
-
|
|
8155
|
+
_context37.next = 14;
|
|
8067
8156
|
break;
|
|
8068
8157
|
}
|
|
8069
|
-
|
|
8158
|
+
_context37.next = 13;
|
|
8070
8159
|
return this.setLocalShareVideoStream((_streams$screenShare9 = streams.screenShare) === null || _streams$screenShare9 === void 0 ? void 0 : _streams$screenShare9.video);
|
|
8071
8160
|
case 13:
|
|
8072
8161
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8073
8162
|
case 14:
|
|
8074
8163
|
if (!streams.microphone) {
|
|
8075
|
-
|
|
8164
|
+
_context37.next = 17;
|
|
8076
8165
|
break;
|
|
8077
8166
|
}
|
|
8078
|
-
|
|
8167
|
+
_context37.next = 17;
|
|
8079
8168
|
return this.setLocalAudioStream(streams.microphone);
|
|
8080
8169
|
case 17:
|
|
8081
8170
|
if (!streams.camera) {
|
|
8082
|
-
|
|
8171
|
+
_context37.next = 20;
|
|
8083
8172
|
break;
|
|
8084
8173
|
}
|
|
8085
|
-
|
|
8174
|
+
_context37.next = 20;
|
|
8086
8175
|
return this.setLocalVideoStream(streams.camera);
|
|
8087
8176
|
case 20:
|
|
8088
8177
|
if (this.isMultistream) {
|
|
8089
|
-
|
|
8178
|
+
_context37.next = 23;
|
|
8090
8179
|
break;
|
|
8091
8180
|
}
|
|
8092
|
-
|
|
8181
|
+
_context37.next = 23;
|
|
8093
8182
|
return this.updateTranscodedMediaConnection();
|
|
8094
8183
|
case 23:
|
|
8095
8184
|
if (!floorRequestNeeded) {
|
|
8096
|
-
|
|
8185
|
+
_context37.next = 29;
|
|
8097
8186
|
break;
|
|
8098
8187
|
}
|
|
8099
8188
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -8117,13 +8206,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8117
8206
|
// we're sending the http request to Locus to request the screen share floor
|
|
8118
8207
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
8119
8208
|
// and also if sharing from the start, we need confluence to have been created
|
|
8120
|
-
|
|
8209
|
+
_context37.next = 29;
|
|
8121
8210
|
return this.enqueueScreenShareFloorRequest();
|
|
8122
8211
|
case 29:
|
|
8123
8212
|
case "end":
|
|
8124
|
-
return
|
|
8213
|
+
return _context37.stop();
|
|
8125
8214
|
}
|
|
8126
|
-
},
|
|
8215
|
+
}, _callee37, this);
|
|
8127
8216
|
}));
|
|
8128
8217
|
function publishStreams(_x38) {
|
|
8129
8218
|
return _publishStreams.apply(this, arguments);
|
|
@@ -8140,10 +8229,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8140
8229
|
}, {
|
|
8141
8230
|
key: "unpublishStreams",
|
|
8142
8231
|
value: (function () {
|
|
8143
|
-
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8232
|
+
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee38(streams) {
|
|
8144
8233
|
var promises, _iterator, _step, stream;
|
|
8145
|
-
return _regenerator.default.wrap(function
|
|
8146
|
-
while (1) switch (
|
|
8234
|
+
return _regenerator.default.wrap(function _callee38$(_context38) {
|
|
8235
|
+
while (1) switch (_context38.prev = _context38.next) {
|
|
8147
8236
|
case 0:
|
|
8148
8237
|
this.checkMediaConnection();
|
|
8149
8238
|
promises = [];
|
|
@@ -8174,7 +8263,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8174
8263
|
if (!this.isMultistream) {
|
|
8175
8264
|
promises.push(this.updateTranscodedMediaConnection());
|
|
8176
8265
|
}
|
|
8177
|
-
|
|
8266
|
+
_context38.next = 7;
|
|
8178
8267
|
return _promise.default.all(promises);
|
|
8179
8268
|
case 7:
|
|
8180
8269
|
// we're allowing for the SDK to support just audio share as well
|
|
@@ -8195,9 +8284,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8195
8284
|
}
|
|
8196
8285
|
case 8:
|
|
8197
8286
|
case "end":
|
|
8198
|
-
return
|
|
8287
|
+
return _context38.stop();
|
|
8199
8288
|
}
|
|
8200
|
-
},
|
|
8289
|
+
}, _callee38, this);
|
|
8201
8290
|
}));
|
|
8202
8291
|
function unpublishStreams(_x39) {
|
|
8203
8292
|
return _unpublishStreams.apply(this, arguments);
|
|
@@ -8259,27 +8348,27 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8259
8348
|
}], [{
|
|
8260
8349
|
key: "handleDeviceLogging",
|
|
8261
8350
|
value: (function () {
|
|
8262
|
-
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8351
|
+
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39() {
|
|
8263
8352
|
var devices;
|
|
8264
|
-
return _regenerator.default.wrap(function
|
|
8265
|
-
while (1) switch (
|
|
8353
|
+
return _regenerator.default.wrap(function _callee39$(_context39) {
|
|
8354
|
+
while (1) switch (_context39.prev = _context39.next) {
|
|
8266
8355
|
case 0:
|
|
8267
|
-
|
|
8268
|
-
|
|
8356
|
+
_context39.prev = 0;
|
|
8357
|
+
_context39.next = 3;
|
|
8269
8358
|
return (0, _mediaHelpers.getDevices)();
|
|
8270
8359
|
case 3:
|
|
8271
|
-
devices =
|
|
8360
|
+
devices = _context39.sent;
|
|
8272
8361
|
_util2.default.handleDeviceLogging(devices);
|
|
8273
|
-
|
|
8362
|
+
_context39.next = 9;
|
|
8274
8363
|
break;
|
|
8275
8364
|
case 7:
|
|
8276
|
-
|
|
8277
|
-
|
|
8365
|
+
_context39.prev = 7;
|
|
8366
|
+
_context39.t0 = _context39["catch"](0);
|
|
8278
8367
|
case 9:
|
|
8279
8368
|
case "end":
|
|
8280
|
-
return
|
|
8369
|
+
return _context39.stop();
|
|
8281
8370
|
}
|
|
8282
|
-
},
|
|
8371
|
+
}, _callee39, null, [[0, 7]]);
|
|
8283
8372
|
}));
|
|
8284
8373
|
function handleDeviceLogging() {
|
|
8285
8374
|
return _handleDeviceLogging.apply(this, arguments);
|