@webex/plugin-meetings 3.0.0 → 3.1.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/config.d.ts +1 -0
- package/dist/config.js +2 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +5 -4
- package/dist/constants.js +8 -4
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/interpretation/index.js +16 -2
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/mediaSharesUtils.js +15 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/selfUtils.js +5 -0
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/MediaConnectionAwaiter.d.ts +61 -0
- package/dist/media/MediaConnectionAwaiter.js +163 -0
- package/dist/media/MediaConnectionAwaiter.js.map +1 -0
- package/dist/media/index.js +4 -1
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +4 -24
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/index.d.ts +26 -7
- package/dist/meeting/index.js +893 -677
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.d.ts +2 -8
- package/dist/meeting/muteState.js +37 -25
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +3 -0
- package/dist/meeting/request.js +32 -23
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +1 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +4 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/index.d.ts +8 -0
- package/dist/meetings/index.js +20 -0
- package/dist/meetings/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.d.ts +2 -1
- package/dist/multistream/mediaRequestManager.js +1 -1
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.d.ts +2 -0
- package/dist/multistream/remoteMediaGroup.js +16 -2
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.d.ts +15 -0
- package/dist/multistream/remoteMediaManager.js +179 -65
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.d.ts +9 -1
- package/dist/multistream/sendSlotManager.js +22 -0
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/reachability/clusterReachability.d.ts +1 -0
- package/dist/reachability/clusterReachability.js +29 -15
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.d.ts +4 -0
- package/dist/reachability/index.js +18 -2
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +12 -10
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.d.ts +7 -0
- package/dist/reachability/util.js +19 -0
- package/dist/reachability/util.js.map +1 -1
- package/dist/reconnection-manager/index.js +2 -1
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/roap/index.d.ts +10 -2
- package/dist/roap/index.js +15 -0
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +3 -3
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.d.ts +64 -17
- package/dist/roap/turnDiscovery.js +307 -126
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/index.js +53 -30
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +22 -22
- package/src/config.ts +1 -0
- package/src/constants.ts +7 -3
- package/src/index.ts +1 -0
- package/src/interpretation/index.ts +18 -1
- package/src/locus-info/mediaSharesUtils.ts +16 -0
- package/src/locus-info/selfUtils.ts +5 -0
- package/src/media/MediaConnectionAwaiter.ts +174 -0
- package/src/media/index.ts +3 -1
- package/src/media/properties.ts +6 -31
- package/src/meeting/index.ts +321 -106
- package/src/meeting/muteState.ts +34 -20
- package/src/meeting/request.ts +18 -2
- package/src/meeting/util.ts +1 -0
- package/src/meeting-info/utilv2.ts +2 -1
- package/src/meetings/index.ts +18 -0
- package/src/multistream/mediaRequestManager.ts +4 -1
- package/src/multistream/remoteMediaGroup.ts +19 -0
- package/src/multistream/remoteMediaManager.ts +101 -16
- package/src/multistream/sendSlotManager.ts +28 -0
- package/src/reachability/clusterReachability.ts +20 -5
- package/src/reachability/index.ts +24 -1
- package/src/reachability/request.ts +15 -11
- package/src/reachability/util.ts +21 -0
- package/src/reconnection-manager/index.ts +1 -1
- package/src/roap/index.ts +25 -3
- package/src/roap/request.ts +3 -3
- package/src/roap/turnDiscovery.ts +244 -78
- package/src/statsAnalyzer/index.ts +63 -27
- package/test/integration/spec/journey.js +14 -14
- package/test/integration/spec/space-meeting.js +1 -1
- package/test/unit/spec/interpretation/index.ts +39 -3
- package/test/unit/spec/locus-info/index.js +28 -19
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +9 -0
- package/test/unit/spec/locus-info/selfUtils.js +42 -12
- package/test/unit/spec/media/MediaConnectionAwaiter.ts +344 -0
- package/test/unit/spec/media/index.ts +89 -78
- package/test/unit/spec/media/properties.ts +16 -70
- package/test/unit/spec/meeting/index.js +638 -139
- package/test/unit/spec/meeting/muteState.js +219 -67
- package/test/unit/spec/meeting/request.js +21 -0
- package/test/unit/spec/meeting/utils.js +6 -1
- package/test/unit/spec/meeting-info/utilv2.js +6 -0
- package/test/unit/spec/meetings/index.js +40 -20
- package/test/unit/spec/multistream/mediaRequestManager.ts +20 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +79 -1
- package/test/unit/spec/multistream/remoteMediaManager.ts +199 -1
- package/test/unit/spec/multistream/sendSlotManager.ts +50 -18
- package/test/unit/spec/reachability/clusterReachability.ts +86 -22
- package/test/unit/spec/reachability/index.ts +197 -60
- package/test/unit/spec/reachability/request.js +15 -7
- package/test/unit/spec/reachability/util.ts +32 -2
- package/test/unit/spec/reconnection-manager/index.js +28 -0
- package/test/unit/spec/roap/index.ts +61 -6
- package/test/unit/spec/roap/turnDiscovery.ts +298 -16
- package/test/unit/spec/stats-analyzer/index.js +179 -0
- package/dist/member/member.types.d.ts +0 -11
- package/dist/member/member.types.js +0 -17
- package/dist/member/member.types.js.map +0 -1
- package/src/member/member.types.ts +0 -13
- /package/test/unit/spec/locus-info/{lib/selfConstant.js → selfConstant.js} +0 -0
package/dist/meeting/index.js
CHANGED
|
@@ -44,6 +44,7 @@ var _webexErrors = require("../common/errors/webex-errors");
|
|
|
44
44
|
var _statsAnalyzer = require("../statsAnalyzer");
|
|
45
45
|
var _networkQualityMonitor = _interopRequireDefault(require("../networkQualityMonitor"));
|
|
46
46
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
47
|
+
var _util = _interopRequireDefault(require("../common/events/util"));
|
|
47
48
|
var _triggerProxy = _interopRequireDefault(require("../common/events/trigger-proxy"));
|
|
48
49
|
var _index = _interopRequireDefault(require("../roap/index"));
|
|
49
50
|
var _media = _interopRequireDefault(require("../media"));
|
|
@@ -55,11 +56,11 @@ var _metrics = _interopRequireDefault(require("../metrics"));
|
|
|
55
56
|
var _reconnectionManager = _interopRequireDefault(require("../reconnection-manager"));
|
|
56
57
|
var _request = _interopRequireDefault(require("./request"));
|
|
57
58
|
var _index2 = _interopRequireDefault(require("../members/index"));
|
|
58
|
-
var
|
|
59
|
-
var
|
|
60
|
-
var
|
|
61
|
-
var
|
|
62
|
-
var
|
|
59
|
+
var _util2 = _interopRequireDefault(require("./util"));
|
|
60
|
+
var _util3 = _interopRequireDefault(require("../meetings/util"));
|
|
61
|
+
var _util4 = _interopRequireDefault(require("../recording-controller/util"));
|
|
62
|
+
var _util5 = _interopRequireDefault(require("../controls-options-manager/util"));
|
|
63
|
+
var _util6 = _interopRequireDefault(require("../media/util"));
|
|
63
64
|
var _reactions = require("../reactions/reactions");
|
|
64
65
|
var _passwordError = _interopRequireDefault(require("../common/errors/password-error"));
|
|
65
66
|
var _captchaError = _interopRequireDefault(require("../common/errors/captcha-error"));
|
|
@@ -69,7 +70,6 @@ var _constants = require("../constants");
|
|
|
69
70
|
var _constants2 = _interopRequireDefault(require("../metrics/constants"));
|
|
70
71
|
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
71
72
|
var _meetingInfoV = require("../meeting-info/meeting-info-v2");
|
|
72
|
-
var _browserDetection = _interopRequireDefault(require("../common/browser-detection"));
|
|
73
73
|
var _receiveSlotManager = require("../multistream/receiveSlotManager");
|
|
74
74
|
var _sendSlotManager = _interopRequireDefault(require("../multistream/sendSlotManager"));
|
|
75
75
|
var _mediaRequestManager = require("../multistream/mediaRequestManager");
|
|
@@ -92,8 +92,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
92
92
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
93
93
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } // @ts-ignore - Fix this
|
|
94
94
|
// @ts-ignore - Types not available for @webex/common
|
|
95
|
-
var _BrowserDetection = (0, _browserDetection.default)(),
|
|
96
|
-
isBrowser = _BrowserDetection.isBrowser;
|
|
97
95
|
var logRequest = function logRequest(request, _ref) {
|
|
98
96
|
var _ref$logText = _ref.logText,
|
|
99
97
|
logText = _ref$logText === void 0 ? '' : _ref$logText;
|
|
@@ -495,10 +493,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
495
493
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "areVoiceaEventsSetup", false);
|
|
496
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) {
|
|
497
495
|
_this.transcription.languageOptions = payload;
|
|
498
|
-
|
|
496
|
+
_loggerProxy.default.logger.debug("".concat(_util.default.getScopeLog({
|
|
499
497
|
file: 'meeting/index',
|
|
500
498
|
function: 'setUpVoiceaListeners'
|
|
501
|
-
}, _constants.EVENT_TRIGGERS.MEETING_STARTED_RECEIVING_TRANSCRIPTION
|
|
499
|
+
}), "event#").concat(_constants.EVENT_TRIGGERS.MEETING_STARTED_RECEIVING_TRANSCRIPTION));
|
|
500
|
+
|
|
501
|
+
// @ts-ignore
|
|
502
|
+
_this.trigger(_constants.EVENT_TRIGGERS.MEETING_STARTED_RECEIVING_TRANSCRIPTION, payload);
|
|
502
503
|
}), _internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON, function () {
|
|
503
504
|
_this.transcription.status = _internalPluginVoicea.TURN_ON_CAPTION_STATUS.ENABLED;
|
|
504
505
|
}), _internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND, function (payload) {
|
|
@@ -511,10 +512,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
511
512
|
data: data,
|
|
512
513
|
meeting: (0, _assertThisInitialized2.default)(_this)
|
|
513
514
|
});
|
|
514
|
-
|
|
515
|
+
_loggerProxy.default.logger.debug("".concat(_util.default.getScopeLog({
|
|
515
516
|
file: 'meeting/index',
|
|
516
517
|
function: 'setUpVoiceaListeners'
|
|
517
|
-
}, _constants.EVENT_TRIGGERS.MEETING_CAPTION_RECEIVED
|
|
518
|
+
}), "event#").concat(_constants.EVENT_TRIGGERS.MEETING_CAPTION_RECEIVED));
|
|
519
|
+
|
|
520
|
+
// @ts-ignore
|
|
521
|
+
_this.trigger(_constants.EVENT_TRIGGERS.MEETING_CAPTION_RECEIVED, {
|
|
518
522
|
captions: _this.transcription.captions,
|
|
519
523
|
interimCaptions: _this.transcription.interimCaptions
|
|
520
524
|
});
|
|
@@ -629,7 +633,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
629
633
|
* @returns {undefined}
|
|
630
634
|
*/
|
|
631
635
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "roapMessageReceived", function (roapMessage) {
|
|
632
|
-
var mediaServer =
|
|
636
|
+
var mediaServer = _util3.default.getMediaServer(roapMessage.sdp);
|
|
633
637
|
_this.mediaProperties.webrtcMediaConnection.roapMessageReceived(roapMessage);
|
|
634
638
|
if (mediaServer) {
|
|
635
639
|
_this.mediaProperties.webrtcMediaConnection.mediaServer = mediaServer;
|
|
@@ -724,7 +728,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
724
728
|
}), {
|
|
725
729
|
logText: "".concat(LOG_HEADER, " Roap Offer")
|
|
726
730
|
}).catch(function () {
|
|
727
|
-
_this.deferSDPAnswer.reject();
|
|
731
|
+
_this.deferSDPAnswer.reject(new Error('failed to send ROAP SDP offer'));
|
|
728
732
|
clearTimeout(_this.sdpResponseTimer);
|
|
729
733
|
_this.sdpResponseTimer = undefined;
|
|
730
734
|
});
|
|
@@ -779,7 +783,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
779
783
|
_loggerProxy.default.logger.log("Meeting:index#setupMediaConnectionListeners --> REMOTE_TRACK_ADDED event received for webrtcMediaConnection: ".concat((0, _stringify.default)(event)));
|
|
780
784
|
if (event.track) {
|
|
781
785
|
var mediaTrack = event.track;
|
|
782
|
-
var remoteStream = new _mediaHelpers.RemoteStream(
|
|
786
|
+
var remoteStream = new _mediaHelpers.RemoteStream(_util6.default.createMediaStream([mediaTrack]));
|
|
783
787
|
|
|
784
788
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
785
789
|
var eventType;
|
|
@@ -1001,6 +1005,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1001
1005
|
meetingId: _this.id
|
|
1002
1006
|
}
|
|
1003
1007
|
});
|
|
1008
|
+
if (data.type === 'share') {
|
|
1009
|
+
// @ts-ignore
|
|
1010
|
+
_this.webex.internal.newMetrics.submitClientEvent({
|
|
1011
|
+
name: 'client.media.render.start',
|
|
1012
|
+
payload: {
|
|
1013
|
+
mediaType: 'share',
|
|
1014
|
+
shareInstanceId: _this.remoteShareInstanceId
|
|
1015
|
+
},
|
|
1016
|
+
options: {
|
|
1017
|
+
meetingId: _this.id
|
|
1018
|
+
}
|
|
1019
|
+
});
|
|
1020
|
+
}
|
|
1004
1021
|
});
|
|
1005
1022
|
_this.statsAnalyzer.on(_statsAnalyzer.EVENTS.REMOTE_MEDIA_STOPPED, function (data) {
|
|
1006
1023
|
// @ts-ignore
|
|
@@ -1014,6 +1031,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1014
1031
|
meetingId: _this.id
|
|
1015
1032
|
}
|
|
1016
1033
|
});
|
|
1034
|
+
if (data.type === 'share') {
|
|
1035
|
+
// @ts-ignore
|
|
1036
|
+
_this.webex.internal.newMetrics.submitClientEvent({
|
|
1037
|
+
name: 'client.media.render.stop',
|
|
1038
|
+
payload: {
|
|
1039
|
+
mediaType: 'share',
|
|
1040
|
+
shareInstanceId: _this.remoteShareInstanceId
|
|
1041
|
+
},
|
|
1042
|
+
options: {
|
|
1043
|
+
meetingId: _this.id
|
|
1044
|
+
}
|
|
1045
|
+
});
|
|
1046
|
+
}
|
|
1017
1047
|
});
|
|
1018
1048
|
});
|
|
1019
1049
|
/**
|
|
@@ -1941,11 +1971,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1941
1971
|
* helper class for managing remote streams
|
|
1942
1972
|
*/
|
|
1943
1973
|
_this.remoteMediaManager = null;
|
|
1944
|
-
_this.localAudioStreamMuteStateHandler = function (
|
|
1945
|
-
_this.audio.handleLocalStreamMuteStateChange((0, _assertThisInitialized2.default)(_this)
|
|
1974
|
+
_this.localAudioStreamMuteStateHandler = function () {
|
|
1975
|
+
_this.audio.handleLocalStreamMuteStateChange((0, _assertThisInitialized2.default)(_this));
|
|
1946
1976
|
};
|
|
1947
|
-
_this.localVideoStreamMuteStateHandler = function (
|
|
1948
|
-
_this.video.handleLocalStreamMuteStateChange((0, _assertThisInitialized2.default)(_this)
|
|
1977
|
+
_this.localVideoStreamMuteStateHandler = function () {
|
|
1978
|
+
_this.video.handleLocalStreamMuteStateChange((0, _assertThisInitialized2.default)(_this));
|
|
1949
1979
|
};
|
|
1950
1980
|
|
|
1951
1981
|
// The handling of output track changes should be done inside
|
|
@@ -3012,7 +3042,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3012
3042
|
function: 'triggerAnnotationInfoEvent'
|
|
3013
3043
|
}, _constants.EVENT_TRIGGERS.MEETING_UPDATE_ANNOTATION_INFO, {
|
|
3014
3044
|
annotationInfo: contentShare === null || contentShare === void 0 ? void 0 : contentShare.annotation,
|
|
3015
|
-
meetingId: this.id
|
|
3045
|
+
meetingId: this.id,
|
|
3046
|
+
resourceType: contentShare === null || contentShare === void 0 ? void 0 : contentShare.resourceType
|
|
3016
3047
|
});
|
|
3017
3048
|
}
|
|
3018
3049
|
}
|
|
@@ -3041,7 +3072,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3041
3072
|
previousContentShare = (_payload$previous = payload.previous) === null || _payload$previous === void 0 ? void 0 : _payload$previous.content;
|
|
3042
3073
|
previousWhiteboardShare = (_payload$previous2 = payload.previous) === null || _payload$previous2 === void 0 ? void 0 : _payload$previous2.whiteboard;
|
|
3043
3074
|
_this14.triggerAnnotationInfoEvent(contentShare, previousContentShare);
|
|
3044
|
-
if (!(contentShare.beneficiaryId === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.beneficiaryId) && contentShare.disposition === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.disposition) && contentShare.deviceUrlSharing === previousContentShare.deviceUrlSharing && whiteboardShare.beneficiaryId === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.beneficiaryId) && whiteboardShare.disposition === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.disposition) && whiteboardShare.resourceUrl === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.resourceUrl))) {
|
|
3075
|
+
if (!(contentShare.beneficiaryId === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.beneficiaryId) && contentShare.disposition === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.disposition) && contentShare.deviceUrlSharing === previousContentShare.deviceUrlSharing && whiteboardShare.beneficiaryId === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.beneficiaryId) && whiteboardShare.disposition === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.disposition) && whiteboardShare.resourceUrl === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.resourceUrl) && contentShare.resourceType === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.resourceType))) {
|
|
3045
3076
|
_context8.next = 6;
|
|
3046
3077
|
break;
|
|
3047
3078
|
}
|
|
@@ -3122,7 +3153,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3122
3153
|
memberId: contentShare.beneficiaryId,
|
|
3123
3154
|
url: contentShare.url,
|
|
3124
3155
|
shareInstanceId: _this14.remoteShareInstanceId,
|
|
3125
|
-
annotationInfo: contentShare.annotation
|
|
3156
|
+
annotationInfo: contentShare.annotation,
|
|
3157
|
+
resourceType: contentShare.resourceType
|
|
3126
3158
|
});
|
|
3127
3159
|
};
|
|
3128
3160
|
_context8.prev = 26;
|
|
@@ -3194,7 +3226,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3194
3226
|
memberId: contentShare.beneficiaryId,
|
|
3195
3227
|
url: contentShare.url,
|
|
3196
3228
|
shareInstanceId: _this14.remoteShareInstanceId,
|
|
3197
|
-
annotationInfo: contentShare.annotation
|
|
3229
|
+
annotationInfo: contentShare.annotation,
|
|
3230
|
+
resourceType: contentShare.resourceType
|
|
3198
3231
|
});
|
|
3199
3232
|
_this14.members.locusMediaSharesUpdate(payload);
|
|
3200
3233
|
} else if (newShareStatus === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE) {
|
|
@@ -3473,7 +3506,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3473
3506
|
}
|
|
3474
3507
|
});
|
|
3475
3508
|
}
|
|
3476
|
-
|
|
3509
|
+
_this19.updateLLMConnection();
|
|
3510
|
+
case 3:
|
|
3477
3511
|
case "end":
|
|
3478
3512
|
return _context9.stop();
|
|
3479
3513
|
}
|
|
@@ -3529,11 +3563,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3529
3563
|
}, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
|
|
3530
3564
|
});
|
|
3531
3565
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, function (payload) {
|
|
3532
|
-
_this19.simultaneousInterpretation.updateSelfInterpretation(payload);
|
|
3566
|
+
var targetChanged = _this19.simultaneousInterpretation.updateSelfInterpretation(payload);
|
|
3533
3567
|
_triggerProxy.default.trigger(_this19, {
|
|
3534
3568
|
file: 'meeting/index',
|
|
3535
3569
|
function: 'setUpLocusInfoSelfListener'
|
|
3536
3570
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE);
|
|
3571
|
+
if (targetChanged && _this19.mediaProperties.audioStream) {
|
|
3572
|
+
_this19.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
3573
|
+
}
|
|
3537
3574
|
});
|
|
3538
3575
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ROLES_CHANGED, function (payload) {
|
|
3539
3576
|
var _payload$newRoles, _payload$newRoles2, _payload$newRoles3, _payload$newRoles4;
|
|
@@ -3627,7 +3664,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3627
3664
|
break;
|
|
3628
3665
|
case 19:
|
|
3629
3666
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
|
|
3630
|
-
|
|
3667
|
+
_util2.default.cleanUp(_this20);
|
|
3631
3668
|
_triggerProxy.default.trigger(_this20, {
|
|
3632
3669
|
file: 'meeting/index',
|
|
3633
3670
|
function: 'setUpLocusInfoMeetingListener'
|
|
@@ -3837,12 +3874,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3837
3874
|
}
|
|
3838
3875
|
this.owner = ((_locusMeetingObject6 = locusMeetingObject) === null || _locusMeetingObject6 === void 0 ? void 0 : _locusMeetingObject6.info.owner) || (meetingInfo === null || meetingInfo === void 0 ? void 0 : meetingInfo.owner) || (meetingInfo === null || meetingInfo === void 0 ? void 0 : meetingInfo.hostId) || this.owner;
|
|
3839
3876
|
this.permissionToken = meetingInfo === null || meetingInfo === void 0 ? void 0 : meetingInfo.permissionToken;
|
|
3840
|
-
this.
|
|
3841
|
-
|
|
3877
|
+
if (this.permissionToken) {
|
|
3878
|
+
this.setPermissionTokenPayload(meetingInfo === null || meetingInfo === void 0 ? void 0 : meetingInfo.permissionToken);
|
|
3879
|
+
this.setSelfUserPolicies();
|
|
3880
|
+
}
|
|
3842
3881
|
// Need to populate environment when sending CA event
|
|
3843
3882
|
this.environment = ((_locusMeetingObject7 = locusMeetingObject) === null || _locusMeetingObject7 === void 0 ? void 0 : _locusMeetingObject7.info.channel) || (meetingInfo === null || meetingInfo === void 0 ? void 0 : meetingInfo.channel);
|
|
3844
3883
|
}
|
|
3845
|
-
|
|
3884
|
+
_util2.default.parseInterpretationInfo(this, meetingInfo);
|
|
3846
3885
|
}
|
|
3847
3886
|
|
|
3848
3887
|
/**
|
|
@@ -3877,175 +3916,175 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3877
3916
|
var _this$meetingInfo2, _this$meetingInfo3, _this$meetingInfo4, _this$meetingInfo4$vi, _this$meetingInfo5, _this$meetingInfo5$vi;
|
|
3878
3917
|
var changed = false;
|
|
3879
3918
|
changed = this.inMeetingActions.set({
|
|
3880
|
-
canUseVoip: ((_this$meetingInfo2 = this.meetingInfo) === null || _this$meetingInfo2 === void 0 ? void 0 : _this$meetingInfo2.supportVoIP) === true &&
|
|
3919
|
+
canUseVoip: ((_this$meetingInfo2 = this.meetingInfo) === null || _this$meetingInfo2 === void 0 ? void 0 : _this$meetingInfo2.supportVoIP) === true && _util5.default.hasPolicies({
|
|
3881
3920
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_VOIP],
|
|
3882
3921
|
policies: this.selfUserPolicies
|
|
3883
3922
|
}) || !this.arePolicyRestrictionsSupported(),
|
|
3884
|
-
canDoVideo:
|
|
3923
|
+
canDoVideo: _util5.default.hasPolicies({
|
|
3885
3924
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_VIDEO],
|
|
3886
3925
|
policies: this.selfUserPolicies
|
|
3887
3926
|
}) && !!((_this$meetingInfo3 = this.meetingInfo) !== null && _this$meetingInfo3 !== void 0 && _this$meetingInfo3.video) || !this.arePolicyRestrictionsSupported(),
|
|
3888
|
-
supportHDV:
|
|
3927
|
+
supportHDV: _util5.default.hasPolicies({
|
|
3889
3928
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_HDV],
|
|
3890
3929
|
policies: this.selfUserPolicies
|
|
3891
3930
|
}) && ((_this$meetingInfo4 = this.meetingInfo) === null || _this$meetingInfo4 === void 0 ? void 0 : (_this$meetingInfo4$vi = _this$meetingInfo4.video) === null || _this$meetingInfo4$vi === void 0 ? void 0 : _this$meetingInfo4$vi.supportHDV) || !this.arePolicyRestrictionsSupported(),
|
|
3892
|
-
enforceVirtualBackground:
|
|
3931
|
+
enforceVirtualBackground: _util5.default.hasPolicies({
|
|
3893
3932
|
requiredPolicies: [_constants.SELF_POLICY.ENFORCE_VIRTUAL_BACKGROUND],
|
|
3894
3933
|
policies: this.selfUserPolicies
|
|
3895
3934
|
}) && this.arePolicyRestrictionsSupported(),
|
|
3896
|
-
supportHQV:
|
|
3935
|
+
supportHQV: _util5.default.hasPolicies({
|
|
3897
3936
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_HQV],
|
|
3898
3937
|
policies: this.selfUserPolicies
|
|
3899
3938
|
}) && ((_this$meetingInfo5 = this.meetingInfo) === null || _this$meetingInfo5 === void 0 ? void 0 : (_this$meetingInfo5$vi = _this$meetingInfo5.video) === null || _this$meetingInfo5$vi === void 0 ? void 0 : _this$meetingInfo5$vi.supportHQV) || !this.arePolicyRestrictionsSupported()
|
|
3900
3939
|
});
|
|
3901
3940
|
if (this.userDisplayHints !== undefined) {
|
|
3902
3941
|
changed = this.inMeetingActions.set({
|
|
3903
|
-
canInviteNewParticipants:
|
|
3904
|
-
canAdmitParticipant:
|
|
3905
|
-
canLock:
|
|
3906
|
-
canUnlock:
|
|
3907
|
-
canShareWhiteBoard:
|
|
3908
|
-
canSetDisallowUnmute:
|
|
3909
|
-
canUnsetDisallowUnmute:
|
|
3910
|
-
canSetMuteOnEntry:
|
|
3911
|
-
canUnsetMuteOnEntry:
|
|
3912
|
-
canSetMuted:
|
|
3913
|
-
canUnsetMuted:
|
|
3914
|
-
canStartRecording:
|
|
3915
|
-
canStopRecording:
|
|
3916
|
-
canPauseRecording:
|
|
3917
|
-
canResumeRecording:
|
|
3918
|
-
canRaiseHand:
|
|
3919
|
-
canLowerAllHands:
|
|
3920
|
-
canLowerSomeoneElsesHand:
|
|
3921
|
-
bothLeaveAndEndMeetingAvailable:
|
|
3922
|
-
canEnableClosedCaption:
|
|
3923
|
-
canStartTranscribing:
|
|
3924
|
-
canStopTranscribing:
|
|
3925
|
-
isClosedCaptionActive:
|
|
3926
|
-
isSaveTranscriptsEnabled:
|
|
3927
|
-
isWebexAssistantActive:
|
|
3928
|
-
canViewCaptionPanel:
|
|
3929
|
-
isRealTimeTranslationEnabled:
|
|
3930
|
-
canSelectSpokenLanguages:
|
|
3931
|
-
waitingForOthersToJoin:
|
|
3932
|
-
canSendReactions:
|
|
3933
|
-
canManageBreakout:
|
|
3934
|
-
canBroadcastMessageToBreakout:
|
|
3935
|
-
canAdmitLobbyToBreakout:
|
|
3936
|
-
isBreakoutPreassignmentsEnabled:
|
|
3937
|
-
canUserAskForHelp:
|
|
3938
|
-
canUserRenameSelfAndObserved:
|
|
3939
|
-
canUserRenameOthers:
|
|
3940
|
-
canMuteAll:
|
|
3942
|
+
canInviteNewParticipants: _util2.default.canInviteNewParticipants(this.userDisplayHints),
|
|
3943
|
+
canAdmitParticipant: _util2.default.canAdmitParticipant(this.userDisplayHints),
|
|
3944
|
+
canLock: _util2.default.canUserLock(this.userDisplayHints),
|
|
3945
|
+
canUnlock: _util2.default.canUserUnlock(this.userDisplayHints),
|
|
3946
|
+
canShareWhiteBoard: _util2.default.canShareWhiteBoard(this.userDisplayHints),
|
|
3947
|
+
canSetDisallowUnmute: _util5.default.canSetDisallowUnmute(this.userDisplayHints),
|
|
3948
|
+
canUnsetDisallowUnmute: _util5.default.canUnsetDisallowUnmute(this.userDisplayHints),
|
|
3949
|
+
canSetMuteOnEntry: _util5.default.canSetMuteOnEntry(this.userDisplayHints),
|
|
3950
|
+
canUnsetMuteOnEntry: _util5.default.canUnsetMuteOnEntry(this.userDisplayHints),
|
|
3951
|
+
canSetMuted: _util5.default.canSetMuted(this.userDisplayHints),
|
|
3952
|
+
canUnsetMuted: _util5.default.canUnsetMuted(this.userDisplayHints),
|
|
3953
|
+
canStartRecording: _util4.default.canUserStart(this.userDisplayHints, this.selfUserPolicies),
|
|
3954
|
+
canStopRecording: _util4.default.canUserStop(this.userDisplayHints, this.selfUserPolicies),
|
|
3955
|
+
canPauseRecording: _util4.default.canUserPause(this.userDisplayHints, this.selfUserPolicies),
|
|
3956
|
+
canResumeRecording: _util4.default.canUserResume(this.userDisplayHints, this.selfUserPolicies),
|
|
3957
|
+
canRaiseHand: _util2.default.canUserRaiseHand(this.userDisplayHints),
|
|
3958
|
+
canLowerAllHands: _util2.default.canUserLowerAllHands(this.userDisplayHints),
|
|
3959
|
+
canLowerSomeoneElsesHand: _util2.default.canUserLowerSomeoneElsesHand(this.userDisplayHints),
|
|
3960
|
+
bothLeaveAndEndMeetingAvailable: _util2.default.bothLeaveAndEndMeetingAvailable(this.userDisplayHints),
|
|
3961
|
+
canEnableClosedCaption: _util2.default.canEnableClosedCaption(this.userDisplayHints),
|
|
3962
|
+
canStartTranscribing: _util2.default.canStartTranscribing(this.userDisplayHints),
|
|
3963
|
+
canStopTranscribing: _util2.default.canStopTranscribing(this.userDisplayHints),
|
|
3964
|
+
isClosedCaptionActive: _util2.default.isClosedCaptionActive(this.userDisplayHints),
|
|
3965
|
+
isSaveTranscriptsEnabled: _util2.default.isSaveTranscriptsEnabled(this.userDisplayHints),
|
|
3966
|
+
isWebexAssistantActive: _util2.default.isWebexAssistantActive(this.userDisplayHints),
|
|
3967
|
+
canViewCaptionPanel: _util2.default.canViewCaptionPanel(this.userDisplayHints),
|
|
3968
|
+
isRealTimeTranslationEnabled: _util2.default.isRealTimeTranslationEnabled(this.userDisplayHints),
|
|
3969
|
+
canSelectSpokenLanguages: _util2.default.canSelectSpokenLanguages(this.userDisplayHints),
|
|
3970
|
+
waitingForOthersToJoin: _util2.default.waitingForOthersToJoin(this.userDisplayHints),
|
|
3971
|
+
canSendReactions: _util2.default.canSendReactions(this.inMeetingActions.canSendReactions, this.userDisplayHints),
|
|
3972
|
+
canManageBreakout: _util2.default.canManageBreakout(this.userDisplayHints),
|
|
3973
|
+
canBroadcastMessageToBreakout: _util2.default.canBroadcastMessageToBreakout(this.userDisplayHints, this.selfUserPolicies),
|
|
3974
|
+
canAdmitLobbyToBreakout: _util2.default.canAdmitLobbyToBreakout(this.userDisplayHints),
|
|
3975
|
+
isBreakoutPreassignmentsEnabled: _util2.default.isBreakoutPreassignmentsEnabled(this.userDisplayHints),
|
|
3976
|
+
canUserAskForHelp: _util2.default.canUserAskForHelp(this.userDisplayHints),
|
|
3977
|
+
canUserRenameSelfAndObserved: _util2.default.canUserRenameSelfAndObserved(this.userDisplayHints),
|
|
3978
|
+
canUserRenameOthers: _util2.default.canUserRenameOthers(this.userDisplayHints),
|
|
3979
|
+
canMuteAll: _util5.default.hasHints({
|
|
3941
3980
|
requiredHints: [_constants.DISPLAY_HINTS.MUTE_ALL],
|
|
3942
3981
|
displayHints: this.userDisplayHints
|
|
3943
3982
|
}),
|
|
3944
|
-
canUnmuteAll:
|
|
3983
|
+
canUnmuteAll: _util5.default.hasHints({
|
|
3945
3984
|
requiredHints: [_constants.DISPLAY_HINTS.UNMUTE_ALL],
|
|
3946
3985
|
displayHints: this.userDisplayHints
|
|
3947
3986
|
}),
|
|
3948
|
-
canEnableHardMute:
|
|
3987
|
+
canEnableHardMute: _util5.default.hasHints({
|
|
3949
3988
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_HARD_MUTE],
|
|
3950
3989
|
displayHints: this.userDisplayHints
|
|
3951
3990
|
}),
|
|
3952
|
-
canDisableHardMute:
|
|
3991
|
+
canDisableHardMute: _util5.default.hasHints({
|
|
3953
3992
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_HARD_MUTE],
|
|
3954
3993
|
displayHints: this.userDisplayHints
|
|
3955
3994
|
}),
|
|
3956
|
-
canEnableMuteOnEntry:
|
|
3995
|
+
canEnableMuteOnEntry: _util5.default.hasHints({
|
|
3957
3996
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_MUTE_ON_ENTRY],
|
|
3958
3997
|
displayHints: this.userDisplayHints
|
|
3959
3998
|
}),
|
|
3960
|
-
canDisableMuteOnEntry:
|
|
3999
|
+
canDisableMuteOnEntry: _util5.default.hasHints({
|
|
3961
4000
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_MUTE_ON_ENTRY],
|
|
3962
4001
|
displayHints: this.userDisplayHints
|
|
3963
4002
|
}),
|
|
3964
|
-
canEnableReactions:
|
|
4003
|
+
canEnableReactions: _util5.default.hasHints({
|
|
3965
4004
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_REACTIONS],
|
|
3966
4005
|
displayHints: this.userDisplayHints
|
|
3967
4006
|
}),
|
|
3968
|
-
canDisableReactions:
|
|
4007
|
+
canDisableReactions: _util5.default.hasHints({
|
|
3969
4008
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_REACTIONS],
|
|
3970
4009
|
displayHints: this.userDisplayHints
|
|
3971
4010
|
}),
|
|
3972
|
-
canEnableReactionDisplayNames:
|
|
4011
|
+
canEnableReactionDisplayNames: _util5.default.hasHints({
|
|
3973
4012
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_SHOW_DISPLAY_NAME],
|
|
3974
4013
|
displayHints: this.userDisplayHints
|
|
3975
4014
|
}),
|
|
3976
|
-
canDisableReactionDisplayNames:
|
|
4015
|
+
canDisableReactionDisplayNames: _util5.default.hasHints({
|
|
3977
4016
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_SHOW_DISPLAY_NAME],
|
|
3978
4017
|
displayHints: this.userDisplayHints
|
|
3979
4018
|
}),
|
|
3980
|
-
canUpdateShareControl:
|
|
4019
|
+
canUpdateShareControl: _util5.default.hasHints({
|
|
3981
4020
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_CONTROL],
|
|
3982
4021
|
displayHints: this.userDisplayHints
|
|
3983
4022
|
}),
|
|
3984
|
-
canEnableViewTheParticipantsList:
|
|
4023
|
+
canEnableViewTheParticipantsList: _util5.default.hasHints({
|
|
3985
4024
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_VIEW_THE_PARTICIPANT_LIST],
|
|
3986
4025
|
displayHints: this.userDisplayHints
|
|
3987
4026
|
}),
|
|
3988
|
-
canDisableViewTheParticipantsList:
|
|
4027
|
+
canDisableViewTheParticipantsList: _util5.default.hasHints({
|
|
3989
4028
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIEW_THE_PARTICIPANT_LIST],
|
|
3990
4029
|
displayHints: this.userDisplayHints
|
|
3991
4030
|
}),
|
|
3992
|
-
canEnableRaiseHand:
|
|
4031
|
+
canEnableRaiseHand: _util5.default.hasHints({
|
|
3993
4032
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_RAISE_HAND],
|
|
3994
4033
|
displayHints: this.userDisplayHints
|
|
3995
4034
|
}),
|
|
3996
|
-
canDisableRaiseHand:
|
|
4035
|
+
canDisableRaiseHand: _util5.default.hasHints({
|
|
3997
4036
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_RAISE_HAND],
|
|
3998
4037
|
displayHints: this.userDisplayHints
|
|
3999
4038
|
}),
|
|
4000
|
-
canEnableVideo:
|
|
4039
|
+
canEnableVideo: _util5.default.hasHints({
|
|
4001
4040
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_VIDEO],
|
|
4002
4041
|
displayHints: this.userDisplayHints
|
|
4003
4042
|
}),
|
|
4004
|
-
canDisableVideo:
|
|
4043
|
+
canDisableVideo: _util5.default.hasHints({
|
|
4005
4044
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIDEO],
|
|
4006
4045
|
displayHints: this.userDisplayHints
|
|
4007
4046
|
}),
|
|
4008
|
-
canShareFile:
|
|
4047
|
+
canShareFile: _util5.default.hasHints({
|
|
4009
4048
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_FILE],
|
|
4010
4049
|
displayHints: this.userDisplayHints
|
|
4011
|
-
}) &&
|
|
4050
|
+
}) && _util5.default.hasPolicies({
|
|
4012
4051
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_FILE_SHARE],
|
|
4013
4052
|
policies: this.selfUserPolicies
|
|
4014
4053
|
}) || !this.arePolicyRestrictionsSupported,
|
|
4015
|
-
canTransferFile:
|
|
4054
|
+
canTransferFile: _util5.default.hasPolicies({
|
|
4016
4055
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_FILE_TRANSFER],
|
|
4017
4056
|
policies: this.selfUserPolicies
|
|
4018
4057
|
}),
|
|
4019
|
-
canChat:
|
|
4058
|
+
canChat: _util5.default.hasPolicies({
|
|
4020
4059
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_CHAT],
|
|
4021
4060
|
policies: this.selfUserPolicies
|
|
4022
4061
|
}),
|
|
4023
|
-
canShareApplication:
|
|
4062
|
+
canShareApplication: _util5.default.hasHints({
|
|
4024
4063
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_APPLICATION],
|
|
4025
4064
|
displayHints: this.userDisplayHints
|
|
4026
|
-
}) &&
|
|
4065
|
+
}) && _util5.default.hasPolicies({
|
|
4027
4066
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_APP_SHARE],
|
|
4028
4067
|
policies: this.selfUserPolicies
|
|
4029
4068
|
}) || !this.arePolicyRestrictionsSupported(),
|
|
4030
|
-
canShareCamera:
|
|
4069
|
+
canShareCamera: _util5.default.hasHints({
|
|
4031
4070
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_CAMERA],
|
|
4032
4071
|
displayHints: this.userDisplayHints
|
|
4033
|
-
}) &&
|
|
4072
|
+
}) && _util5.default.hasPolicies({
|
|
4034
4073
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_CAMERA_SHARE],
|
|
4035
4074
|
policies: this.selfUserPolicies
|
|
4036
4075
|
}),
|
|
4037
|
-
canShareDesktop:
|
|
4076
|
+
canShareDesktop: _util5.default.hasHints({
|
|
4038
4077
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_DESKTOP],
|
|
4039
4078
|
displayHints: this.userDisplayHints
|
|
4040
|
-
}) &&
|
|
4079
|
+
}) && _util5.default.hasPolicies({
|
|
4041
4080
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_DESKTOP_SHARE],
|
|
4042
4081
|
policies: this.selfUserPolicies
|
|
4043
4082
|
}) || !this.arePolicyRestrictionsSupported(),
|
|
4044
|
-
canShareContent:
|
|
4083
|
+
canShareContent: _util5.default.hasHints({
|
|
4045
4084
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_CONTENT],
|
|
4046
4085
|
displayHints: this.userDisplayHints
|
|
4047
4086
|
}) || !this.arePolicyRestrictionsSupported(),
|
|
4048
|
-
canAnnotate:
|
|
4087
|
+
canAnnotate: _util5.default.hasPolicies({
|
|
4049
4088
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_ANNOTATION],
|
|
4050
4089
|
policies: this.selfUserPolicies
|
|
4051
4090
|
})
|
|
@@ -4233,24 +4272,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4233
4272
|
while (1) switch (_context11.prev = _context11.next) {
|
|
4234
4273
|
case 0:
|
|
4235
4274
|
oldStream = this.mediaProperties.audioStream;
|
|
4236
|
-
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.
|
|
4275
|
+
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
4276
|
+
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
4237
4277
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4238
4278
|
|
|
4239
4279
|
// we don't update this.mediaProperties.mediaDirection.sendAudio, because we always keep it as true to avoid extra SDP exchanges
|
|
4240
4280
|
this.mediaProperties.setLocalAudioStream(localStream);
|
|
4241
4281
|
this.audio.handleLocalStreamChange(this);
|
|
4242
|
-
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.
|
|
4282
|
+
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
4283
|
+
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
4243
4284
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4244
4285
|
if (!(!this.isMultistream || !localStream)) {
|
|
4245
|
-
_context11.next =
|
|
4286
|
+
_context11.next = 12;
|
|
4246
4287
|
break;
|
|
4247
4288
|
}
|
|
4248
|
-
_context11.next = 10;
|
|
4249
|
-
return this.unpublishStream(_internalMediaCore.MediaType.AudioMain, oldStream);
|
|
4250
|
-
case 10:
|
|
4251
4289
|
_context11.next = 12;
|
|
4252
|
-
return this.
|
|
4290
|
+
return this.unpublishStream(_internalMediaCore.MediaType.AudioMain, oldStream);
|
|
4253
4291
|
case 12:
|
|
4292
|
+
_context11.next = 14;
|
|
4293
|
+
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
4294
|
+
case 14:
|
|
4254
4295
|
case "end":
|
|
4255
4296
|
return _context11.stop();
|
|
4256
4297
|
}
|
|
@@ -4278,24 +4319,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4278
4319
|
while (1) switch (_context12.prev = _context12.next) {
|
|
4279
4320
|
case 0:
|
|
4280
4321
|
oldStream = this.mediaProperties.videoStream;
|
|
4281
|
-
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.
|
|
4322
|
+
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
4323
|
+
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
4282
4324
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4283
4325
|
|
|
4284
4326
|
// we don't update this.mediaProperties.mediaDirection.sendVideo, because we always keep it as true to avoid extra SDP exchanges
|
|
4285
4327
|
this.mediaProperties.setLocalVideoStream(localStream);
|
|
4286
4328
|
this.video.handleLocalStreamChange(this);
|
|
4287
|
-
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.
|
|
4329
|
+
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
4330
|
+
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
4288
4331
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4289
4332
|
if (!(!this.isMultistream || !localStream)) {
|
|
4290
|
-
_context12.next =
|
|
4333
|
+
_context12.next = 12;
|
|
4291
4334
|
break;
|
|
4292
4335
|
}
|
|
4293
|
-
_context12.next = 10;
|
|
4294
|
-
return this.unpublishStream(_internalMediaCore.MediaType.VideoMain, oldStream);
|
|
4295
|
-
case 10:
|
|
4296
4336
|
_context12.next = 12;
|
|
4297
|
-
return this.
|
|
4337
|
+
return this.unpublishStream(_internalMediaCore.MediaType.VideoMain, oldStream);
|
|
4298
4338
|
case 12:
|
|
4339
|
+
_context12.next = 14;
|
|
4340
|
+
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
4341
|
+
case 14:
|
|
4299
4342
|
case "end":
|
|
4300
4343
|
return _context12.stop();
|
|
4301
4344
|
}
|
|
@@ -4324,11 +4367,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4324
4367
|
while (1) switch (_context13.prev = _context13.next) {
|
|
4325
4368
|
case 0:
|
|
4326
4369
|
oldStream = this.mediaProperties.shareVideoStream;
|
|
4327
|
-
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.
|
|
4370
|
+
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
|
|
4328
4371
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareVideoStreamEnded);
|
|
4329
4372
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4330
4373
|
this.mediaProperties.setLocalShareVideoStream(localDisplayStream);
|
|
4331
|
-
localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.
|
|
4374
|
+
localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
|
|
4332
4375
|
localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.StreamEventNames.Ended, this.handleShareVideoStreamEnded);
|
|
4333
4376
|
localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4334
4377
|
this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
|
|
@@ -4434,13 +4477,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4434
4477
|
videoStream = _this$mediaProperties5.videoStream,
|
|
4435
4478
|
shareAudioStream = _this$mediaProperties5.shareAudioStream,
|
|
4436
4479
|
shareVideoStream = _this$mediaProperties5.shareVideoStream;
|
|
4437
|
-
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.
|
|
4480
|
+
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
4481
|
+
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
4438
4482
|
audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4439
|
-
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.
|
|
4483
|
+
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
4484
|
+
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
4440
4485
|
videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4441
4486
|
shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
|
|
4442
4487
|
shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4443
|
-
shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.off(_mediaHelpers.
|
|
4488
|
+
shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
|
|
4444
4489
|
shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareVideoStreamEnded);
|
|
4445
4490
|
shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4446
4491
|
this.mediaProperties.setLocalAudioStream(undefined);
|
|
@@ -4631,7 +4676,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4631
4676
|
key: "muteAudio",
|
|
4632
4677
|
value: function muteAudio() {
|
|
4633
4678
|
var _this24 = this;
|
|
4634
|
-
if (!
|
|
4679
|
+
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4635
4680
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4636
4681
|
}
|
|
4637
4682
|
|
|
@@ -4646,7 +4691,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4646
4691
|
|
|
4647
4692
|
// First, stop sending the local audio media
|
|
4648
4693
|
return logRequest(this.audio.handleClientRequest(this, true).then(function () {
|
|
4649
|
-
|
|
4694
|
+
_util2.default.handleAudioLogging(_this24.mediaProperties.audioStream);
|
|
4650
4695
|
// @ts-ignore
|
|
4651
4696
|
_this24.webex.internal.newMetrics.submitClientEvent({
|
|
4652
4697
|
name: 'client.muted',
|
|
@@ -4681,7 +4726,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4681
4726
|
key: "unmuteAudio",
|
|
4682
4727
|
value: function unmuteAudio() {
|
|
4683
4728
|
var _this25 = this;
|
|
4684
|
-
if (!
|
|
4729
|
+
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4685
4730
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4686
4731
|
}
|
|
4687
4732
|
|
|
@@ -4696,7 +4741,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4696
4741
|
|
|
4697
4742
|
// First, send the control to unmute the participant on the server
|
|
4698
4743
|
return logRequest(this.audio.handleClientRequest(this, false).then(function () {
|
|
4699
|
-
|
|
4744
|
+
_util2.default.handleAudioLogging(_this25.mediaProperties.audioStream);
|
|
4700
4745
|
// @ts-ignore
|
|
4701
4746
|
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4702
4747
|
name: 'client.unmuted',
|
|
@@ -4731,7 +4776,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4731
4776
|
key: "muteVideo",
|
|
4732
4777
|
value: function muteVideo() {
|
|
4733
4778
|
var _this26 = this;
|
|
4734
|
-
if (!
|
|
4779
|
+
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4735
4780
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4736
4781
|
}
|
|
4737
4782
|
|
|
@@ -4744,7 +4789,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4744
4789
|
return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
|
|
4745
4790
|
}
|
|
4746
4791
|
return logRequest(this.video.handleClientRequest(this, true).then(function () {
|
|
4747
|
-
|
|
4792
|
+
_util2.default.handleVideoLogging(_this26.mediaProperties.videoStream);
|
|
4748
4793
|
// @ts-ignore
|
|
4749
4794
|
_this26.webex.internal.newMetrics.submitClientEvent({
|
|
4750
4795
|
name: 'client.muted',
|
|
@@ -4779,7 +4824,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4779
4824
|
key: "unmuteVideo",
|
|
4780
4825
|
value: function unmuteVideo() {
|
|
4781
4826
|
var _this27 = this;
|
|
4782
|
-
if (!
|
|
4827
|
+
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4783
4828
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4784
4829
|
}
|
|
4785
4830
|
|
|
@@ -4792,7 +4837,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4792
4837
|
return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
|
|
4793
4838
|
}
|
|
4794
4839
|
return logRequest(this.video.handleClientRequest(this, false).then(function () {
|
|
4795
|
-
|
|
4840
|
+
_util2.default.handleVideoLogging(_this27.mediaProperties.videoStream);
|
|
4796
4841
|
// @ts-ignore
|
|
4797
4842
|
_this27.webex.internal.newMetrics.submitClientEvent({
|
|
4798
4843
|
name: 'client.unmuted',
|
|
@@ -4835,36 +4880,123 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4835
4880
|
*/
|
|
4836
4881
|
}, {
|
|
4837
4882
|
key: "joinWithMedia",
|
|
4838
|
-
value: function
|
|
4839
|
-
var
|
|
4840
|
-
|
|
4841
|
-
|
|
4842
|
-
|
|
4843
|
-
|
|
4844
|
-
|
|
4883
|
+
value: (function () {
|
|
4884
|
+
var _joinWithMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
4885
|
+
var options,
|
|
4886
|
+
mediaOptions,
|
|
4887
|
+
_options$joinOptions,
|
|
4888
|
+
joinOptions,
|
|
4889
|
+
joined,
|
|
4890
|
+
turnServerInfo,
|
|
4891
|
+
turnDiscoverySkippedReason,
|
|
4892
|
+
turnDiscoveryRequest,
|
|
4893
|
+
joinResponse,
|
|
4894
|
+
_yield$this$roap$hand,
|
|
4895
|
+
mediaResponse,
|
|
4896
|
+
_this$locusUrl,
|
|
4897
|
+
_leaveError,
|
|
4898
|
+
leaveError,
|
|
4899
|
+
_args15 = arguments;
|
|
4900
|
+
return _regenerator.default.wrap(function _callee15$(_context15) {
|
|
4901
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
4902
|
+
case 0:
|
|
4903
|
+
options = _args15.length > 0 && _args15[0] !== undefined ? _args15[0] : {};
|
|
4904
|
+
mediaOptions = options.mediaOptions, _options$joinOptions = options.joinOptions, joinOptions = _options$joinOptions === void 0 ? {} : _options$joinOptions;
|
|
4905
|
+
if (mediaOptions !== null && mediaOptions !== void 0 && mediaOptions.allowMediaInLobby) {
|
|
4906
|
+
_context15.next = 4;
|
|
4907
|
+
break;
|
|
4908
|
+
}
|
|
4909
|
+
return _context15.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
|
|
4910
|
+
case 4:
|
|
4911
|
+
this.allowMediaInLobby = true;
|
|
4912
|
+
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia called');
|
|
4913
|
+
joined = false;
|
|
4914
|
+
_context15.prev = 7;
|
|
4915
|
+
_context15.next = 10;
|
|
4916
|
+
return this.webex.meetings.reachability.getReachabilityResults();
|
|
4917
|
+
case 10:
|
|
4918
|
+
joinOptions.reachability = _context15.sent;
|
|
4919
|
+
_context15.next = 13;
|
|
4920
|
+
return this.roap.generateTurnDiscoveryRequestMessage(this, true);
|
|
4921
|
+
case 13:
|
|
4922
|
+
turnDiscoveryRequest = _context15.sent;
|
|
4923
|
+
turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
|
|
4924
|
+
joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
|
|
4925
|
+
_context15.next = 18;
|
|
4926
|
+
return this.join(joinOptions);
|
|
4927
|
+
case 18:
|
|
4928
|
+
joinResponse = _context15.sent;
|
|
4929
|
+
joined = true;
|
|
4930
|
+
if (!joinOptions.roapMessage) {
|
|
4931
|
+
_context15.next = 29;
|
|
4932
|
+
break;
|
|
4933
|
+
}
|
|
4934
|
+
_context15.next = 23;
|
|
4935
|
+
return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
|
|
4936
|
+
case 23:
|
|
4937
|
+
_yield$this$roap$hand = _context15.sent;
|
|
4938
|
+
turnServerInfo = _yield$this$roap$hand.turnServerInfo;
|
|
4939
|
+
turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
|
|
4940
|
+
this.turnDiscoverySkippedReason = turnDiscoverySkippedReason;
|
|
4941
|
+
this.turnServerUsed = !!turnServerInfo;
|
|
4942
|
+
if (turnServerInfo === undefined) {
|
|
4943
|
+
this.roap.abortTurnDiscovery();
|
|
4944
|
+
}
|
|
4945
|
+
case 29:
|
|
4946
|
+
_context15.next = 31;
|
|
4947
|
+
return this.addMedia(mediaOptions, turnServerInfo);
|
|
4948
|
+
case 31:
|
|
4949
|
+
mediaResponse = _context15.sent;
|
|
4950
|
+
return _context15.abrupt("return", {
|
|
4951
|
+
join: joinResponse,
|
|
4952
|
+
media: mediaResponse
|
|
4953
|
+
});
|
|
4954
|
+
case 35:
|
|
4955
|
+
_context15.prev = 35;
|
|
4956
|
+
_context15.t0 = _context15["catch"](7);
|
|
4957
|
+
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _context15.t0);
|
|
4958
|
+
this.roap.abortTurnDiscovery();
|
|
4959
|
+
if (!joined) {
|
|
4960
|
+
_context15.next = 49;
|
|
4961
|
+
break;
|
|
4962
|
+
}
|
|
4963
|
+
_context15.prev = 40;
|
|
4964
|
+
_context15.next = 43;
|
|
4965
|
+
return this.leave({
|
|
4966
|
+
resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
|
|
4967
|
+
reason: 'joinWithMedia failure'
|
|
4968
|
+
});
|
|
4969
|
+
case 43:
|
|
4970
|
+
_context15.next = 49;
|
|
4971
|
+
break;
|
|
4972
|
+
case 45:
|
|
4973
|
+
_context15.prev = 45;
|
|
4974
|
+
_context15.t1 = _context15["catch"](40);
|
|
4975
|
+
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _context15.t1);
|
|
4976
|
+
leaveError = _context15.t1;
|
|
4977
|
+
case 49:
|
|
4978
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
4979
|
+
correlation_id: this.correlationId,
|
|
4980
|
+
locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
|
|
4981
|
+
// if join fails, we may end up with no locusUrl
|
|
4982
|
+
reason: _context15.t0.message,
|
|
4983
|
+
stack: _context15.t0.stack,
|
|
4984
|
+
leaveErrorReason: (_leaveError = leaveError) === null || _leaveError === void 0 ? void 0 : _leaveError.message
|
|
4985
|
+
}, {
|
|
4986
|
+
type: _context15.t0.name
|
|
4987
|
+
});
|
|
4988
|
+
throw _context15.t0;
|
|
4989
|
+
case 51:
|
|
4990
|
+
case "end":
|
|
4991
|
+
return _context15.stop();
|
|
4992
|
+
}
|
|
4993
|
+
}, _callee15, this, [[7, 35], [40, 45]]);
|
|
4994
|
+
}));
|
|
4995
|
+
function joinWithMedia() {
|
|
4996
|
+
return _joinWithMedia.apply(this, arguments);
|
|
4845
4997
|
}
|
|
4846
|
-
|
|
4847
|
-
|
|
4848
|
-
return _this28.addMedia(mediaOptions).then(function (mediaResponse) {
|
|
4849
|
-
return {
|
|
4850
|
-
join: joinResponse,
|
|
4851
|
-
media: mediaResponse
|
|
4852
|
-
};
|
|
4853
|
-
});
|
|
4854
|
-
}).catch(function (error) {
|
|
4855
|
-
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', error);
|
|
4856
|
-
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
4857
|
-
correlation_id: _this28.correlationId,
|
|
4858
|
-
locus_id: _this28.locusUrl.split('/').pop(),
|
|
4859
|
-
reason: error.message,
|
|
4860
|
-
stack: error.stack
|
|
4861
|
-
}, {
|
|
4862
|
-
type: error.name
|
|
4863
|
-
});
|
|
4864
|
-
return _promise.default.reject(error);
|
|
4865
|
-
});
|
|
4866
|
-
}
|
|
4867
|
-
|
|
4998
|
+
return joinWithMedia;
|
|
4999
|
+
}()
|
|
4868
5000
|
/**
|
|
4869
5001
|
* Initiates the reconnection of the media in the meeting
|
|
4870
5002
|
*
|
|
@@ -4873,17 +5005,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4873
5005
|
* @public
|
|
4874
5006
|
* @memberof Meeting
|
|
4875
5007
|
*/
|
|
5008
|
+
)
|
|
4876
5009
|
}, {
|
|
4877
5010
|
key: "reconnect",
|
|
4878
5011
|
value: function reconnect(options) {
|
|
4879
|
-
var
|
|
5012
|
+
var _this28 = this;
|
|
4880
5013
|
_loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
|
|
4881
5014
|
if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
|
|
4882
5015
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
|
|
4883
5016
|
}
|
|
4884
5017
|
|
|
4885
5018
|
// @ts-ignore - currentMediaStatus coming from SelfUtil
|
|
4886
|
-
if (!
|
|
5019
|
+
if (!_util2.default.isMediaEstablished(this.currentMediaStatus)) {
|
|
4887
5020
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
|
|
4888
5021
|
}
|
|
4889
5022
|
try {
|
|
@@ -4904,29 +5037,29 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4904
5037
|
function: 'reconnect'
|
|
4905
5038
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_STARTING);
|
|
4906
5039
|
return this.reconnectionManager.reconnect(options).then(function () {
|
|
4907
|
-
return
|
|
5040
|
+
return _this28.waitForRemoteSDPAnswer();
|
|
4908
5041
|
}).then(function () {
|
|
4909
|
-
return
|
|
5042
|
+
return _this28.waitForMediaConnectionConnected();
|
|
4910
5043
|
}).then(function () {
|
|
4911
|
-
_triggerProxy.default.trigger(
|
|
5044
|
+
_triggerProxy.default.trigger(_this28, {
|
|
4912
5045
|
file: 'meeting/index',
|
|
4913
5046
|
function: 'reconnect'
|
|
4914
5047
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_SUCCESS);
|
|
4915
5048
|
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
|
|
4916
5049
|
|
|
4917
5050
|
// @ts-ignore
|
|
4918
|
-
|
|
5051
|
+
_this28.webex.internal.newMetrics.submitClientEvent({
|
|
4919
5052
|
name: 'client.media.recovered',
|
|
4920
5053
|
payload: {
|
|
4921
5054
|
recoveredBy: 'new'
|
|
4922
5055
|
},
|
|
4923
5056
|
options: {
|
|
4924
|
-
meetingId:
|
|
5057
|
+
meetingId: _this28.id
|
|
4925
5058
|
}
|
|
4926
5059
|
});
|
|
4927
|
-
|
|
5060
|
+
_this28.reconnectionManager.setStatus(_constants.RECONNECTION.STATE.COMPLETE);
|
|
4928
5061
|
}).catch(function (error) {
|
|
4929
|
-
_triggerProxy.default.trigger(
|
|
5062
|
+
_triggerProxy.default.trigger(_this28, {
|
|
4930
5063
|
file: 'meeting/index',
|
|
4931
5064
|
function: 'reconnect'
|
|
4932
5065
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_FAILURE, {
|
|
@@ -4934,18 +5067,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4934
5067
|
});
|
|
4935
5068
|
_loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
|
|
4936
5069
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_RECONNECT_FAILURE, {
|
|
4937
|
-
correlation_id:
|
|
4938
|
-
locus_id:
|
|
5070
|
+
correlation_id: _this28.correlationId,
|
|
5071
|
+
locus_id: _this28.locusUrl.split('/').pop(),
|
|
4939
5072
|
reason: error.message,
|
|
4940
5073
|
stack: error.stack
|
|
4941
5074
|
});
|
|
4942
|
-
|
|
5075
|
+
_this28.uploadLogs({
|
|
4943
5076
|
file: 'meeting/index',
|
|
4944
5077
|
function: 'reconnect'
|
|
4945
5078
|
});
|
|
4946
5079
|
return _promise.default.reject(new _reconnection.default('Reconnection failure event', error));
|
|
4947
5080
|
}).finally(function () {
|
|
4948
|
-
|
|
5081
|
+
_this28.reconnectionManager.reset();
|
|
4949
5082
|
});
|
|
4950
5083
|
}
|
|
4951
5084
|
|
|
@@ -4988,19 +5121,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4988
5121
|
}, {
|
|
4989
5122
|
key: "setCaptionLanguage",
|
|
4990
5123
|
value: function setCaptionLanguage(language) {
|
|
4991
|
-
var
|
|
5124
|
+
var _this29 = this;
|
|
4992
5125
|
return new _promise.default(function (resolve, reject) {
|
|
4993
|
-
if (!
|
|
5126
|
+
if (!_this29.isTranscriptionSupported()) {
|
|
4994
5127
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
4995
5128
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
4996
5129
|
}
|
|
4997
5130
|
try {
|
|
4998
5131
|
var voiceaListenerCaptionUpdate = function voiceaListenerCaptionUpdate(payload) {
|
|
4999
5132
|
// @ts-ignore
|
|
5000
|
-
|
|
5133
|
+
_this29.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5001
5134
|
var statusCode = payload.statusCode;
|
|
5002
5135
|
if (statusCode === 200) {
|
|
5003
|
-
|
|
5136
|
+
_this29.transcription.languageOptions = _objectSpread(_objectSpread({}, _this29.transcription.languageOptions), {}, {
|
|
5004
5137
|
currentCaptionLanguage: language
|
|
5005
5138
|
});
|
|
5006
5139
|
resolve(language);
|
|
@@ -5009,9 +5142,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5009
5142
|
}
|
|
5010
5143
|
};
|
|
5011
5144
|
// @ts-ignore
|
|
5012
|
-
|
|
5145
|
+
_this29.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5013
5146
|
// @ts-ignore
|
|
5014
|
-
|
|
5147
|
+
_this29.webex.internal.voicea.requestLanguage(language);
|
|
5015
5148
|
} catch (error) {
|
|
5016
5149
|
_loggerProxy.default.logger.error("Meeting:index#setCaptionLanguage --> ".concat(error));
|
|
5017
5150
|
reject(error);
|
|
@@ -5027,19 +5160,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5027
5160
|
}, {
|
|
5028
5161
|
key: "setSpokenLanguage",
|
|
5029
5162
|
value: function setSpokenLanguage(language) {
|
|
5030
|
-
var
|
|
5163
|
+
var _this30 = this;
|
|
5031
5164
|
return new _promise.default(function (resolve, reject) {
|
|
5032
|
-
if (!
|
|
5165
|
+
if (!_this30.isTranscriptionSupported()) {
|
|
5033
5166
|
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5034
5167
|
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5035
5168
|
}
|
|
5036
5169
|
try {
|
|
5037
5170
|
var voiceaListenerLanguageUpdate = function voiceaListenerLanguageUpdate(payload) {
|
|
5038
5171
|
// @ts-ignore
|
|
5039
|
-
|
|
5172
|
+
_this30.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5040
5173
|
var languageCode = payload.languageCode;
|
|
5041
5174
|
if (languageCode) {
|
|
5042
|
-
|
|
5175
|
+
_this30.transcription.languageOptions = _objectSpread(_objectSpread({}, _this30.transcription.languageOptions), {}, {
|
|
5043
5176
|
currentSpokenLanguage: languageCode
|
|
5044
5177
|
});
|
|
5045
5178
|
resolve(languageCode);
|
|
@@ -5049,10 +5182,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5049
5182
|
};
|
|
5050
5183
|
|
|
5051
5184
|
// @ts-ignore
|
|
5052
|
-
|
|
5185
|
+
_this30.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5053
5186
|
|
|
5054
5187
|
// @ts-ignore
|
|
5055
|
-
|
|
5188
|
+
_this30.webex.internal.voicea.setSpokenLanguage(language);
|
|
5056
5189
|
} catch (error) {
|
|
5057
5190
|
_loggerProxy.default.logger.error("Meeting:index#setSpokenLanguage --> ".concat(error));
|
|
5058
5191
|
reject(error);
|
|
@@ -5069,48 +5202,48 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5069
5202
|
}, {
|
|
5070
5203
|
key: "startTranscription",
|
|
5071
5204
|
value: (function () {
|
|
5072
|
-
var _startTranscription = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5073
|
-
return _regenerator.default.wrap(function
|
|
5074
|
-
while (1) switch (
|
|
5205
|
+
var _startTranscription = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16(options) {
|
|
5206
|
+
return _regenerator.default.wrap(function _callee16$(_context16) {
|
|
5207
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
5075
5208
|
case 0:
|
|
5076
5209
|
if (!this.isJoined()) {
|
|
5077
|
-
|
|
5210
|
+
_context16.next = 15;
|
|
5078
5211
|
break;
|
|
5079
5212
|
}
|
|
5080
5213
|
_loggerProxy.default.logger.info('Meeting:index#startTranscription --> Attempting to enable transcription!');
|
|
5081
|
-
|
|
5214
|
+
_context16.prev = 2;
|
|
5082
5215
|
if (!this.areVoiceaEventsSetup) {
|
|
5083
5216
|
this.setUpVoiceaListeners();
|
|
5084
5217
|
}
|
|
5085
5218
|
if (!(this.getCurUserType() === 'host')) {
|
|
5086
|
-
|
|
5219
|
+
_context16.next = 7;
|
|
5087
5220
|
break;
|
|
5088
5221
|
}
|
|
5089
|
-
|
|
5222
|
+
_context16.next = 7;
|
|
5090
5223
|
return this.webex.internal.voicea.toggleTranscribing(true, options === null || options === void 0 ? void 0 : options.spokenLanguage);
|
|
5091
5224
|
case 7:
|
|
5092
|
-
|
|
5225
|
+
_context16.next = 13;
|
|
5093
5226
|
break;
|
|
5094
5227
|
case 9:
|
|
5095
|
-
|
|
5096
|
-
|
|
5097
|
-
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(
|
|
5228
|
+
_context16.prev = 9;
|
|
5229
|
+
_context16.t0 = _context16["catch"](2);
|
|
5230
|
+
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(_context16.t0));
|
|
5098
5231
|
_metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
|
|
5099
5232
|
correlation_id: this.correlationId,
|
|
5100
|
-
reason:
|
|
5101
|
-
stack:
|
|
5233
|
+
reason: _context16.t0.message,
|
|
5234
|
+
stack: _context16.t0.stack
|
|
5102
5235
|
});
|
|
5103
5236
|
case 13:
|
|
5104
|
-
|
|
5237
|
+
_context16.next = 17;
|
|
5105
5238
|
break;
|
|
5106
5239
|
case 15:
|
|
5107
5240
|
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> meeting joined : ".concat(this.isJoined()));
|
|
5108
5241
|
throw new Error('Meeting is not joined');
|
|
5109
5242
|
case 17:
|
|
5110
5243
|
case "end":
|
|
5111
|
-
return
|
|
5244
|
+
return _context16.stop();
|
|
5112
5245
|
}
|
|
5113
|
-
},
|
|
5246
|
+
}, _callee16, this, [[2, 9]]);
|
|
5114
5247
|
}));
|
|
5115
5248
|
function startTranscription(_x15) {
|
|
5116
5249
|
return _startTranscription.apply(this, arguments);
|
|
@@ -5173,8 +5306,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5173
5306
|
}, {
|
|
5174
5307
|
key: "join",
|
|
5175
5308
|
value: (function () {
|
|
5176
|
-
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5177
|
-
var
|
|
5309
|
+
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17() {
|
|
5310
|
+
var _this31 = this;
|
|
5178
5311
|
var options,
|
|
5179
5312
|
errorMessage,
|
|
5180
5313
|
error,
|
|
@@ -5184,25 +5317,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5184
5317
|
_error,
|
|
5185
5318
|
_errorMessage2,
|
|
5186
5319
|
_error2,
|
|
5187
|
-
|
|
5188
|
-
return _regenerator.default.wrap(function
|
|
5189
|
-
while (1) switch (
|
|
5320
|
+
_args17 = arguments;
|
|
5321
|
+
return _regenerator.default.wrap(function _callee17$(_context17) {
|
|
5322
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
5190
5323
|
case 0:
|
|
5191
|
-
options =
|
|
5324
|
+
options = _args17.length > 0 && _args17[0] !== undefined ? _args17[0] : {};
|
|
5192
5325
|
if (this.webex.meetings.registered) {
|
|
5193
|
-
|
|
5326
|
+
_context17.next = 6;
|
|
5194
5327
|
break;
|
|
5195
5328
|
}
|
|
5196
5329
|
errorMessage = 'Meeting:index#join --> Device not registered';
|
|
5197
5330
|
error = new Error(errorMessage);
|
|
5198
5331
|
_loggerProxy.default.logger.error(errorMessage);
|
|
5199
|
-
return
|
|
5332
|
+
return _context17.abrupt("return", _promise.default.reject(error));
|
|
5200
5333
|
case 6:
|
|
5201
5334
|
if (!this.deferJoin) {
|
|
5202
|
-
|
|
5335
|
+
_context17.next = 8;
|
|
5203
5336
|
break;
|
|
5204
5337
|
}
|
|
5205
|
-
return
|
|
5338
|
+
return _context17.abrupt("return", this.deferJoin);
|
|
5206
5339
|
case 8:
|
|
5207
5340
|
// Create a deferred promise for a consistent resolve value from utils.
|
|
5208
5341
|
// This also prevents redundant API calls.
|
|
@@ -5251,15 +5384,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5251
5384
|
this.wirelessShare = true;
|
|
5252
5385
|
}
|
|
5253
5386
|
if (!options.meetingQuality) {
|
|
5254
|
-
|
|
5387
|
+
_context17.next = 36;
|
|
5255
5388
|
break;
|
|
5256
5389
|
}
|
|
5257
5390
|
if (!(typeof options.meetingQuality === 'string')) {
|
|
5258
|
-
|
|
5391
|
+
_context17.next = 27;
|
|
5259
5392
|
break;
|
|
5260
5393
|
}
|
|
5261
5394
|
if (_constants.QUALITY_LEVELS[options.meetingQuality]) {
|
|
5262
|
-
|
|
5395
|
+
_context17.next = 26;
|
|
5263
5396
|
break;
|
|
5264
5397
|
}
|
|
5265
5398
|
_errorMessage = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
|
|
@@ -5267,16 +5400,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5267
5400
|
_loggerProxy.default.logger.error(_errorMessage);
|
|
5268
5401
|
joinFailed(_error);
|
|
5269
5402
|
this.deferJoin = undefined;
|
|
5270
|
-
return
|
|
5403
|
+
return _context17.abrupt("return", _promise.default.reject(_error));
|
|
5271
5404
|
case 26:
|
|
5272
5405
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality);
|
|
5273
5406
|
case 27:
|
|
5274
5407
|
if (!((0, _typeof2.default)(options.meetingQuality) === 'object')) {
|
|
5275
|
-
|
|
5408
|
+
_context17.next = 36;
|
|
5276
5409
|
break;
|
|
5277
5410
|
}
|
|
5278
5411
|
if (_constants.QUALITY_LEVELS[options.meetingQuality.remote]) {
|
|
5279
|
-
|
|
5412
|
+
_context17.next = 35;
|
|
5280
5413
|
break;
|
|
5281
5414
|
}
|
|
5282
5415
|
_errorMessage2 = "Meeting:index#join --> ".concat(options.meetingQuality.remote, " not defined");
|
|
@@ -5284,97 +5417,97 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5284
5417
|
_error2 = new Error(_errorMessage2);
|
|
5285
5418
|
joinFailed(_error2);
|
|
5286
5419
|
this.deferJoin = undefined;
|
|
5287
|
-
return
|
|
5420
|
+
return _context17.abrupt("return", _promise.default.reject(new Error(_errorMessage2)));
|
|
5288
5421
|
case 35:
|
|
5289
5422
|
if (options.meetingQuality.remote) {
|
|
5290
5423
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality.remote);
|
|
5291
5424
|
}
|
|
5292
5425
|
case 36:
|
|
5293
5426
|
this.isMultistream = !!options.enableMultistream;
|
|
5294
|
-
|
|
5295
|
-
|
|
5427
|
+
_context17.prev = 37;
|
|
5428
|
+
_context17.next = 40;
|
|
5296
5429
|
return this.checkAndRefreshPermissionToken(_constants.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC, _constants.MEETING_PERMISSION_TOKEN_REFRESH_REASON);
|
|
5297
5430
|
case 40:
|
|
5298
|
-
|
|
5431
|
+
_context17.next = 51;
|
|
5299
5432
|
break;
|
|
5300
5433
|
case 42:
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:',
|
|
5304
|
-
if (!(
|
|
5305
|
-
|
|
5434
|
+
_context17.prev = 42;
|
|
5435
|
+
_context17.t0 = _context17["catch"](37);
|
|
5436
|
+
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:', _context17.t0);
|
|
5437
|
+
if (!(_context17.t0 instanceof _captchaError.default || _context17.t0 instanceof _passwordError.default || _context17.t0 instanceof _permission.default)) {
|
|
5438
|
+
_context17.next = 51;
|
|
5306
5439
|
break;
|
|
5307
5440
|
}
|
|
5308
|
-
this.meetingFiniteStateMachine.fail(
|
|
5441
|
+
this.meetingFiniteStateMachine.fail(_context17.t0);
|
|
5309
5442
|
|
|
5310
5443
|
// Upload logs on refreshpermissionToken refresh Failure
|
|
5311
5444
|
_triggerProxy.default.trigger(this, {
|
|
5312
5445
|
file: 'meeting/index',
|
|
5313
5446
|
function: 'join'
|
|
5314
5447
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
5315
|
-
joinFailed(
|
|
5448
|
+
joinFailed(_context17.t0);
|
|
5316
5449
|
this.deferJoin = undefined;
|
|
5317
5450
|
|
|
5318
5451
|
// if refresh permission token requires captcha, password or permission, we are throwing the errors
|
|
5319
5452
|
// and bubble it up to client
|
|
5320
|
-
return
|
|
5453
|
+
return _context17.abrupt("return", _promise.default.reject(_context17.t0));
|
|
5321
5454
|
case 51:
|
|
5322
|
-
return
|
|
5323
|
-
|
|
5455
|
+
return _context17.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
5456
|
+
_this31.meetingFiniteStateMachine.join();
|
|
5324
5457
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
5325
5458
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
5326
|
-
correlation_id:
|
|
5459
|
+
correlation_id: _this31.correlationId
|
|
5327
5460
|
});
|
|
5328
5461
|
joinSuccess(join);
|
|
5329
|
-
|
|
5462
|
+
_this31.deferJoin = undefined;
|
|
5330
5463
|
return join;
|
|
5331
5464
|
}).catch(function (error) {
|
|
5332
|
-
var
|
|
5333
|
-
|
|
5465
|
+
var _this31$meetingInfo, _error$error;
|
|
5466
|
+
_this31.meetingFiniteStateMachine.fail(error);
|
|
5334
5467
|
_loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
|
|
5335
5468
|
|
|
5336
5469
|
// @ts-ignore
|
|
5337
|
-
|
|
5470
|
+
_this31.webex.internal.newMetrics.submitClientEvent({
|
|
5338
5471
|
name: 'client.locus.join.response',
|
|
5339
5472
|
payload: {
|
|
5340
5473
|
identifiers: {
|
|
5341
|
-
meetingLookupUrl: (
|
|
5474
|
+
meetingLookupUrl: (_this31$meetingInfo = _this31.meetingInfo) === null || _this31$meetingInfo === void 0 ? void 0 : _this31$meetingInfo.meetingLookupUrl
|
|
5342
5475
|
}
|
|
5343
5476
|
},
|
|
5344
5477
|
options: {
|
|
5345
|
-
meetingId:
|
|
5478
|
+
meetingId: _this31.id,
|
|
5346
5479
|
rawError: error
|
|
5347
5480
|
}
|
|
5348
5481
|
});
|
|
5349
5482
|
|
|
5350
5483
|
// TODO: change this to error codes and pre defined dictionary
|
|
5351
5484
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
|
|
5352
|
-
correlation_id:
|
|
5485
|
+
correlation_id: _this31.correlationId,
|
|
5353
5486
|
reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
|
|
5354
5487
|
stack: error.stack
|
|
5355
5488
|
});
|
|
5356
5489
|
|
|
5357
5490
|
// Upload logs on join Failure
|
|
5358
|
-
_triggerProxy.default.trigger(
|
|
5491
|
+
_triggerProxy.default.trigger(_this31, {
|
|
5359
5492
|
file: 'meeting/index',
|
|
5360
5493
|
function: 'join'
|
|
5361
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5494
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this31);
|
|
5362
5495
|
joinFailed(error);
|
|
5363
|
-
|
|
5496
|
+
_this31.deferJoin = undefined;
|
|
5364
5497
|
return _promise.default.reject(error);
|
|
5365
5498
|
}).then(function (join) {
|
|
5366
5499
|
// @ts-ignore - config coming from registerPlugin
|
|
5367
|
-
if (
|
|
5368
|
-
|
|
5500
|
+
if (_this31.config.enableAutomaticLLM) {
|
|
5501
|
+
_this31.updateLLMConnection().catch(function (error) {
|
|
5369
5502
|
_loggerProxy.default.logger.error('Meeting:index#join --> Transcription Socket Connection Failed', error);
|
|
5370
5503
|
_metrics.default.sendBehavioralMetric(_constants2.default.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
|
|
5371
|
-
correlation_id:
|
|
5504
|
+
correlation_id: _this31.correlationId,
|
|
5372
5505
|
reason: error === null || error === void 0 ? void 0 : error.message,
|
|
5373
5506
|
stack: error.stack
|
|
5374
5507
|
});
|
|
5375
5508
|
}).then(function () {
|
|
5376
5509
|
_loggerProxy.default.logger.info('Meeting:index#join --> Transcription Socket Connection Success');
|
|
5377
|
-
_triggerProxy.default.trigger(
|
|
5510
|
+
_triggerProxy.default.trigger(_this31, {
|
|
5378
5511
|
file: 'meeting/index',
|
|
5379
5512
|
function: 'join'
|
|
5380
5513
|
}, _constants.EVENT_TRIGGERS.MEETING_TRANSCRIPTION_CONNECTED, undefined);
|
|
@@ -5384,9 +5517,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5384
5517
|
}));
|
|
5385
5518
|
case 52:
|
|
5386
5519
|
case "end":
|
|
5387
|
-
return
|
|
5520
|
+
return _context17.stop();
|
|
5388
5521
|
}
|
|
5389
|
-
},
|
|
5522
|
+
}, _callee17, this, [[37, 42]]);
|
|
5390
5523
|
}));
|
|
5391
5524
|
function join() {
|
|
5392
5525
|
return _join.apply(this, arguments);
|
|
@@ -5403,50 +5536,50 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5403
5536
|
}, {
|
|
5404
5537
|
key: "updateLLMConnection",
|
|
5405
5538
|
value: (function () {
|
|
5406
|
-
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5407
|
-
var
|
|
5539
|
+
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
5540
|
+
var _this32 = this;
|
|
5408
5541
|
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
|
|
5409
|
-
return _regenerator.default.wrap(function
|
|
5410
|
-
while (1) switch (
|
|
5542
|
+
return _regenerator.default.wrap(function _callee18$(_context18) {
|
|
5543
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
5411
5544
|
case 0:
|
|
5412
5545
|
// @ts-ignore - Fix type
|
|
5413
5546
|
_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;
|
|
5414
5547
|
isJoined = this.isJoined(); // @ts-ignore - Fix type
|
|
5415
5548
|
if (!this.webex.internal.llm.isConnected()) {
|
|
5416
|
-
|
|
5549
|
+
_context18.next = 8;
|
|
5417
5550
|
break;
|
|
5418
5551
|
}
|
|
5419
5552
|
if (!(url === this.webex.internal.llm.getLocusUrl() && isJoined)) {
|
|
5420
|
-
|
|
5553
|
+
_context18.next = 5;
|
|
5421
5554
|
break;
|
|
5422
5555
|
}
|
|
5423
|
-
return
|
|
5556
|
+
return _context18.abrupt("return", undefined);
|
|
5424
5557
|
case 5:
|
|
5425
|
-
|
|
5558
|
+
_context18.next = 7;
|
|
5426
5559
|
return this.webex.internal.llm.disconnectLLM();
|
|
5427
5560
|
case 7:
|
|
5428
5561
|
// @ts-ignore - Fix type
|
|
5429
5562
|
this.webex.internal.llm.off('event:relay.event', this.processRelayEvent);
|
|
5430
5563
|
case 8:
|
|
5431
5564
|
if (isJoined) {
|
|
5432
|
-
|
|
5565
|
+
_context18.next = 10;
|
|
5433
5566
|
break;
|
|
5434
5567
|
}
|
|
5435
|
-
return
|
|
5568
|
+
return _context18.abrupt("return", undefined);
|
|
5436
5569
|
case 10:
|
|
5437
|
-
return
|
|
5570
|
+
return _context18.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
|
|
5438
5571
|
// @ts-ignore - Fix type
|
|
5439
|
-
|
|
5572
|
+
_this32.webex.internal.llm.off('event:relay.event', _this32.processRelayEvent);
|
|
5440
5573
|
// @ts-ignore - Fix type
|
|
5441
|
-
|
|
5574
|
+
_this32.webex.internal.llm.on('event:relay.event', _this32.processRelayEvent);
|
|
5442
5575
|
_loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
|
|
5443
5576
|
return _promise.default.resolve(registerAndConnectResult);
|
|
5444
5577
|
}));
|
|
5445
5578
|
case 11:
|
|
5446
5579
|
case "end":
|
|
5447
|
-
return
|
|
5580
|
+
return _context18.stop();
|
|
5448
5581
|
}
|
|
5449
|
-
},
|
|
5582
|
+
}, _callee18, this);
|
|
5450
5583
|
}));
|
|
5451
5584
|
function updateLLMConnection() {
|
|
5452
5585
|
return _updateLLMConnection.apply(this, arguments);
|
|
@@ -5492,7 +5625,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5492
5625
|
}, {
|
|
5493
5626
|
key: "dialInPstn",
|
|
5494
5627
|
value: function dialInPstn() {
|
|
5495
|
-
var
|
|
5628
|
+
var _this33 = this;
|
|
5496
5629
|
if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
|
|
5497
5630
|
|
|
5498
5631
|
var correlationId = this.correlationId,
|
|
@@ -5508,10 +5641,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5508
5641
|
}).catch(function (error) {
|
|
5509
5642
|
var _error$error2;
|
|
5510
5643
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
|
|
5511
|
-
correlation_id:
|
|
5512
|
-
dial_in_url:
|
|
5644
|
+
correlation_id: _this33.correlationId,
|
|
5645
|
+
dial_in_url: _this33.dialInUrl,
|
|
5513
5646
|
locus_id: locusUrl.split('/').pop(),
|
|
5514
|
-
client_url:
|
|
5647
|
+
client_url: _this33.deviceUrl,
|
|
5515
5648
|
reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
|
|
5516
5649
|
stack: error.stack
|
|
5517
5650
|
});
|
|
@@ -5529,7 +5662,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5529
5662
|
}, {
|
|
5530
5663
|
key: "dialOutPstn",
|
|
5531
5664
|
value: function dialOutPstn(phoneNumber) {
|
|
5532
|
-
var
|
|
5665
|
+
var _this34 = this;
|
|
5533
5666
|
if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
|
|
5534
5667
|
|
|
5535
5668
|
var correlationId = this.correlationId,
|
|
@@ -5546,10 +5679,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5546
5679
|
}).catch(function (error) {
|
|
5547
5680
|
var _error$error3;
|
|
5548
5681
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
|
|
5549
|
-
correlation_id:
|
|
5550
|
-
dial_out_url:
|
|
5682
|
+
correlation_id: _this34.correlationId,
|
|
5683
|
+
dial_out_url: _this34.dialOutUrl,
|
|
5551
5684
|
locus_id: locusUrl.split('/').pop(),
|
|
5552
|
-
client_url:
|
|
5685
|
+
client_url: _this34.deviceUrl,
|
|
5553
5686
|
reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
|
|
5554
5687
|
stack: error.stack
|
|
5555
5688
|
});
|
|
@@ -5567,7 +5700,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5567
5700
|
}, {
|
|
5568
5701
|
key: "disconnectPhoneAudio",
|
|
5569
5702
|
value: function disconnectPhoneAudio() {
|
|
5570
|
-
return _promise.default.all([this.isPhoneProvisioned(this.dialInDeviceStatus) ?
|
|
5703
|
+
return _promise.default.all([this.isPhoneProvisioned(this.dialInDeviceStatus) ? _util2.default.disconnectPhoneAudio(this, this.dialInUrl) : _promise.default.resolve(), this.isPhoneProvisioned(this.dialOutDeviceStatus) ? _util2.default.disconnectPhoneAudio(this, this.dialOutUrl) : _promise.default.resolve()]);
|
|
5571
5704
|
}
|
|
5572
5705
|
|
|
5573
5706
|
/**
|
|
@@ -5580,7 +5713,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5580
5713
|
}, {
|
|
5581
5714
|
key: "moveTo",
|
|
5582
5715
|
value: function moveTo(resourceId) {
|
|
5583
|
-
var
|
|
5716
|
+
var _this35 = this;
|
|
5584
5717
|
if (!resourceId) {
|
|
5585
5718
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
5586
5719
|
}
|
|
@@ -5618,18 +5751,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5618
5751
|
meetingId: this.id
|
|
5619
5752
|
}
|
|
5620
5753
|
});
|
|
5621
|
-
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5754
|
+
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
5622
5755
|
var mediaSettings;
|
|
5623
|
-
return _regenerator.default.wrap(function
|
|
5624
|
-
while (1) switch (
|
|
5756
|
+
return _regenerator.default.wrap(function _callee19$(_context19) {
|
|
5757
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
5625
5758
|
case 0:
|
|
5626
|
-
|
|
5627
|
-
if (!(
|
|
5628
|
-
|
|
5759
|
+
_context19.prev = 0;
|
|
5760
|
+
if (!(_this35.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
5761
|
+
_context19.next = 4;
|
|
5629
5762
|
break;
|
|
5630
5763
|
}
|
|
5631
|
-
|
|
5632
|
-
return
|
|
5764
|
+
_context19.next = 4;
|
|
5765
|
+
return _this35.releaseScreenShareFloor();
|
|
5633
5766
|
case 4:
|
|
5634
5767
|
mediaSettings = {
|
|
5635
5768
|
mediaDirection: {
|
|
@@ -5641,47 +5774,47 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5641
5774
|
receiveShare: true
|
|
5642
5775
|
}
|
|
5643
5776
|
};
|
|
5644
|
-
|
|
5645
|
-
|
|
5646
|
-
|
|
5777
|
+
_this35.cleanupLocalStreams();
|
|
5778
|
+
_this35.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
|
5779
|
+
_this35.mediaProperties.unsetRemoteMedia();
|
|
5647
5780
|
|
|
5648
5781
|
// when a move to is intiated by the client , Locus delets the existing media node from the server as soon the DX answers the meeting
|
|
5649
5782
|
// once the DX answers we establish connection back the media server with only receiveShare enabled
|
|
5650
5783
|
// @ts-ignore - reconnectMedia does not accept any argument
|
|
5651
|
-
|
|
5652
|
-
return
|
|
5784
|
+
_context19.next = 10;
|
|
5785
|
+
return _this35.reconnectionManager.reconnectMedia(mediaSettings).then(function () {
|
|
5653
5786
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
5654
5787
|
});
|
|
5655
5788
|
case 10:
|
|
5656
|
-
|
|
5789
|
+
_context19.next = 16;
|
|
5657
5790
|
break;
|
|
5658
5791
|
case 12:
|
|
5659
|
-
|
|
5660
|
-
|
|
5661
|
-
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId',
|
|
5792
|
+
_context19.prev = 12;
|
|
5793
|
+
_context19.t0 = _context19["catch"](0);
|
|
5794
|
+
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context19.t0);
|
|
5662
5795
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
5663
|
-
correlation_id:
|
|
5664
|
-
locus_id:
|
|
5665
|
-
reason:
|
|
5666
|
-
stack:
|
|
5796
|
+
correlation_id: _this35.correlationId,
|
|
5797
|
+
locus_id: _this35.locusUrl.split('/').pop(),
|
|
5798
|
+
reason: _context19.t0.message,
|
|
5799
|
+
stack: _context19.t0.stack
|
|
5667
5800
|
});
|
|
5668
5801
|
case 16:
|
|
5669
5802
|
case "end":
|
|
5670
|
-
return
|
|
5803
|
+
return _context19.stop();
|
|
5671
5804
|
}
|
|
5672
|
-
},
|
|
5805
|
+
}, _callee19, null, [[0, 12]]);
|
|
5673
5806
|
})));
|
|
5674
5807
|
_loggerProxy.default.logger.info('Meeting:index#moveTo --> Initated moved to using resourceId', resourceId);
|
|
5675
|
-
return
|
|
5808
|
+
return _util2.default.joinMeetingOptions(this, {
|
|
5676
5809
|
resourceId: resourceId,
|
|
5677
5810
|
moveToResource: true
|
|
5678
5811
|
}).then(function () {
|
|
5679
|
-
|
|
5812
|
+
_this35.meetingFiniteStateMachine.join();
|
|
5680
5813
|
}).catch(function (error) {
|
|
5681
|
-
|
|
5814
|
+
_this35.meetingFiniteStateMachine.fail(error);
|
|
5682
5815
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
5683
|
-
correlation_id:
|
|
5684
|
-
locus_id:
|
|
5816
|
+
correlation_id: _this35.correlationId,
|
|
5817
|
+
locus_id: _this35.locusUrl.split('/').pop(),
|
|
5685
5818
|
reason: error.message,
|
|
5686
5819
|
stack: error.stack
|
|
5687
5820
|
});
|
|
@@ -5700,7 +5833,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5700
5833
|
}, {
|
|
5701
5834
|
key: "moveFrom",
|
|
5702
5835
|
value: function moveFrom(resourceId) {
|
|
5703
|
-
var
|
|
5836
|
+
var _this36 = this;
|
|
5704
5837
|
// On moveFrom ask the developer to re capture it moveFrom then updateMedia
|
|
5705
5838
|
if (!resourceId) {
|
|
5706
5839
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
@@ -5714,20 +5847,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5714
5847
|
meetingId: this.id
|
|
5715
5848
|
}
|
|
5716
5849
|
});
|
|
5717
|
-
return
|
|
5718
|
-
return
|
|
5850
|
+
return _util2.default.joinMeetingOptions(this).then(function () {
|
|
5851
|
+
return _util2.default.leaveMeeting(_this36, {
|
|
5719
5852
|
resourceId: resourceId,
|
|
5720
5853
|
correlationId: oldCorrelationId,
|
|
5721
5854
|
moveMeeting: true
|
|
5722
5855
|
}).then(function () {
|
|
5723
|
-
|
|
5856
|
+
_this36.resourceId = '';
|
|
5724
5857
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
|
|
5725
5858
|
});
|
|
5726
5859
|
}).catch(function (error) {
|
|
5727
|
-
|
|
5860
|
+
_this36.meetingFiniteStateMachine.fail(error);
|
|
5728
5861
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
|
|
5729
|
-
correlation_id:
|
|
5730
|
-
locus_id:
|
|
5862
|
+
correlation_id: _this36.correlationId,
|
|
5863
|
+
locus_id: _this36.locusUrl.split('/').pop(),
|
|
5731
5864
|
reason: error.message,
|
|
5732
5865
|
stack: error.stack
|
|
5733
5866
|
});
|
|
@@ -5752,10 +5885,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5752
5885
|
}, {
|
|
5753
5886
|
key: "createMediaConnection",
|
|
5754
5887
|
value: (function () {
|
|
5755
|
-
var _createMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5888
|
+
var _createMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20(turnServerInfo, bundlePolicy) {
|
|
5756
5889
|
var mc, audioEnabled, videoEnabled, shareEnabled;
|
|
5757
|
-
return _regenerator.default.wrap(function
|
|
5758
|
-
while (1) switch (
|
|
5890
|
+
return _regenerator.default.wrap(function _callee20$(_context20) {
|
|
5891
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
5759
5892
|
case 0:
|
|
5760
5893
|
mc = _media.default.createMediaConnection(this.isMultistream, this.getMediaConnectionDebugId(),
|
|
5761
5894
|
// @ts-ignore
|
|
@@ -5781,39 +5914,40 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5781
5914
|
|
|
5782
5915
|
// publish the streams
|
|
5783
5916
|
if (!this.mediaProperties.audioStream) {
|
|
5784
|
-
|
|
5917
|
+
_context20.next = 8;
|
|
5785
5918
|
break;
|
|
5786
5919
|
}
|
|
5787
|
-
|
|
5920
|
+
this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
5921
|
+
_context20.next = 8;
|
|
5788
5922
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
5789
|
-
case
|
|
5923
|
+
case 8:
|
|
5790
5924
|
if (!this.mediaProperties.videoStream) {
|
|
5791
|
-
|
|
5925
|
+
_context20.next = 11;
|
|
5792
5926
|
break;
|
|
5793
5927
|
}
|
|
5794
|
-
|
|
5928
|
+
_context20.next = 11;
|
|
5795
5929
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
5796
|
-
case
|
|
5930
|
+
case 11:
|
|
5797
5931
|
if (!this.mediaProperties.shareVideoStream) {
|
|
5798
|
-
|
|
5932
|
+
_context20.next = 14;
|
|
5799
5933
|
break;
|
|
5800
5934
|
}
|
|
5801
|
-
|
|
5935
|
+
_context20.next = 14;
|
|
5802
5936
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
5803
|
-
case
|
|
5937
|
+
case 14:
|
|
5804
5938
|
if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
|
|
5805
|
-
|
|
5939
|
+
_context20.next = 17;
|
|
5806
5940
|
break;
|
|
5807
5941
|
}
|
|
5808
|
-
|
|
5942
|
+
_context20.next = 17;
|
|
5809
5943
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
5810
|
-
case 16:
|
|
5811
|
-
return _context19.abrupt("return", mc);
|
|
5812
5944
|
case 17:
|
|
5945
|
+
return _context20.abrupt("return", mc);
|
|
5946
|
+
case 18:
|
|
5813
5947
|
case "end":
|
|
5814
|
-
return
|
|
5948
|
+
return _context20.stop();
|
|
5815
5949
|
}
|
|
5816
|
-
},
|
|
5950
|
+
}, _callee20, this);
|
|
5817
5951
|
}));
|
|
5818
5952
|
function createMediaConnection(_x16, _x17) {
|
|
5819
5953
|
return _createMediaConnection.apply(this, arguments);
|
|
@@ -5833,9 +5967,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5833
5967
|
}, {
|
|
5834
5968
|
key: "forwardEvent",
|
|
5835
5969
|
value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
|
|
5836
|
-
var
|
|
5970
|
+
var _this37 = this;
|
|
5837
5971
|
eventEmitter.on(eventTypeToForward, function (data) {
|
|
5838
|
-
return _triggerProxy.default.trigger(
|
|
5972
|
+
return _triggerProxy.default.trigger(_this37, {
|
|
5839
5973
|
file: 'meetings',
|
|
5840
5974
|
function: 'addMedia'
|
|
5841
5975
|
}, meetingEventType, data);
|
|
@@ -5853,41 +5987,41 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5853
5987
|
}, {
|
|
5854
5988
|
key: "setUpLocalStreamReferences",
|
|
5855
5989
|
value: (function () {
|
|
5856
|
-
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5857
|
-
var _localStreams$screenS, _localStreams$screenS2;
|
|
5990
|
+
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21(localStreams) {
|
|
5991
|
+
var _localStreams$microph, _localStreams$camera, _localStreams$screenS, _localStreams$screenS2, _localStreams$screenS3, _localStreams$screenS4, _localStreams$screenS5, _localStreams$screenS6;
|
|
5858
5992
|
var setUpStreamPromises;
|
|
5859
|
-
return _regenerator.default.wrap(function
|
|
5860
|
-
while (1) switch (
|
|
5993
|
+
return _regenerator.default.wrap(function _callee21$(_context21) {
|
|
5994
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
5861
5995
|
case 0:
|
|
5862
5996
|
setUpStreamPromises = [];
|
|
5863
|
-
if (localStreams !== null && localStreams !== void 0 && localStreams.microphone) {
|
|
5997
|
+
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') {
|
|
5864
5998
|
setUpStreamPromises.push(this.setLocalAudioStream(localStreams.microphone));
|
|
5865
5999
|
}
|
|
5866
|
-
if (localStreams !== null && localStreams !== void 0 && localStreams.camera) {
|
|
6000
|
+
if (localStreams !== null && localStreams !== void 0 && localStreams.camera && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$camera = localStreams.camera) === null || _localStreams$camera === void 0 ? void 0 : _localStreams$camera.readyState) !== 'ended') {
|
|
5867
6001
|
setUpStreamPromises.push(this.setLocalVideoStream(localStreams.camera));
|
|
5868
6002
|
}
|
|
5869
|
-
if (localStreams !== null && localStreams !== void 0 && (_localStreams$screenS = localStreams.screenShare) !== null && _localStreams$screenS !== void 0 && _localStreams$screenS.video) {
|
|
6003
|
+
if (localStreams !== null && localStreams !== void 0 && (_localStreams$screenS = localStreams.screenShare) !== null && _localStreams$screenS !== void 0 && _localStreams$screenS.video && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$screenS2 = localStreams.screenShare) === null || _localStreams$screenS2 === void 0 ? void 0 : (_localStreams$screenS3 = _localStreams$screenS2.video) === null || _localStreams$screenS3 === void 0 ? void 0 : _localStreams$screenS3.readyState) !== 'ended') {
|
|
5870
6004
|
setUpStreamPromises.push(this.setLocalShareVideoStream(localStreams.screenShare.video));
|
|
5871
6005
|
}
|
|
5872
|
-
if (localStreams !== null && localStreams !== void 0 && (_localStreams$
|
|
6006
|
+
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') {
|
|
5873
6007
|
setUpStreamPromises.push(this.setLocalShareAudioStream(localStreams.screenShare.audio));
|
|
5874
6008
|
}
|
|
5875
|
-
|
|
5876
|
-
|
|
6009
|
+
_context21.prev = 5;
|
|
6010
|
+
_context21.next = 8;
|
|
5877
6011
|
return _promise.default.all(setUpStreamPromises);
|
|
5878
6012
|
case 8:
|
|
5879
|
-
|
|
6013
|
+
_context21.next = 14;
|
|
5880
6014
|
break;
|
|
5881
6015
|
case 10:
|
|
5882
|
-
|
|
5883
|
-
|
|
5884
|
-
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ",
|
|
5885
|
-
throw
|
|
6016
|
+
_context21.prev = 10;
|
|
6017
|
+
_context21.t0 = _context21["catch"](5);
|
|
6018
|
+
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _context21.t0);
|
|
6019
|
+
throw _context21.t0;
|
|
5886
6020
|
case 14:
|
|
5887
6021
|
case "end":
|
|
5888
|
-
return
|
|
6022
|
+
return _context21.stop();
|
|
5889
6023
|
}
|
|
5890
|
-
},
|
|
6024
|
+
}, _callee21, this, [[5, 10]]);
|
|
5891
6025
|
}));
|
|
5892
6026
|
function setUpLocalStreamReferences(_x18) {
|
|
5893
6027
|
return _setUpLocalStreamReferences.apply(this, arguments);
|
|
@@ -5904,20 +6038,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5904
6038
|
}, {
|
|
5905
6039
|
key: "waitForMediaConnectionConnected",
|
|
5906
6040
|
value: (function () {
|
|
5907
|
-
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6041
|
+
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee22() {
|
|
5908
6042
|
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;
|
|
5909
|
-
return _regenerator.default.wrap(function
|
|
5910
|
-
while (1) switch (
|
|
6043
|
+
return _regenerator.default.wrap(function _callee22$(_context22) {
|
|
6044
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
5911
6045
|
case 0:
|
|
5912
|
-
|
|
5913
|
-
|
|
6046
|
+
_context22.prev = 0;
|
|
6047
|
+
_context22.next = 3;
|
|
5914
6048
|
return this.mediaProperties.waitForMediaConnectionConnected();
|
|
5915
6049
|
case 3:
|
|
5916
|
-
|
|
6050
|
+
_context22.next = 9;
|
|
5917
6051
|
break;
|
|
5918
6052
|
case 5:
|
|
5919
|
-
|
|
5920
|
-
|
|
6053
|
+
_context22.prev = 5;
|
|
6054
|
+
_context22.t0 = _context22["catch"](0);
|
|
5921
6055
|
if (!this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
5922
6056
|
// Only send CA event for join flow if we haven't successfully connected media yet
|
|
5923
6057
|
// @ts-ignore
|
|
@@ -5945,9 +6079,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5945
6079
|
throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(this.correlationId));
|
|
5946
6080
|
case 9:
|
|
5947
6081
|
case "end":
|
|
5948
|
-
return
|
|
6082
|
+
return _context22.stop();
|
|
5949
6083
|
}
|
|
5950
|
-
},
|
|
6084
|
+
}, _callee22, this, [[0, 5]]);
|
|
5951
6085
|
}));
|
|
5952
6086
|
function waitForMediaConnectionConnected() {
|
|
5953
6087
|
return _waitForMediaConnectionConnected.apply(this, arguments);
|
|
@@ -5964,7 +6098,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5964
6098
|
}, {
|
|
5965
6099
|
key: "createStatsAnalyzer",
|
|
5966
6100
|
value: function createStatsAnalyzer() {
|
|
5967
|
-
var
|
|
6101
|
+
var _this38 = this;
|
|
5968
6102
|
// @ts-ignore - config coming from registerPlugin
|
|
5969
6103
|
if (this.config.stats.enableStatsAnalyzer) {
|
|
5970
6104
|
// @ts-ignore - config coming from registerPlugin
|
|
@@ -5972,7 +6106,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5972
6106
|
this.statsAnalyzer = new _statsAnalyzer.StatsAnalyzer(
|
|
5973
6107
|
// @ts-ignore - config coming from registerPlugin
|
|
5974
6108
|
this.config.stats, function (ssrc) {
|
|
5975
|
-
return
|
|
6109
|
+
return _this38.receiveSlotManager.findReceiveSlotBySsrc(ssrc);
|
|
5976
6110
|
}, this.networkQualityMonitor);
|
|
5977
6111
|
this.setupStatsAnalyzerEventHandlers();
|
|
5978
6112
|
this.networkQualityMonitor.on(_constants.EVENT_TRIGGERS.NETWORK_QUALITY, this.sendNetworkQualityEvent.bind(this));
|
|
@@ -5997,18 +6131,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5997
6131
|
* @returns {Promise<void>}
|
|
5998
6132
|
*/
|
|
5999
6133
|
function () {
|
|
6000
|
-
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6134
|
+
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23() {
|
|
6001
6135
|
var LOG_HEADER, deferSDPAnswer;
|
|
6002
|
-
return _regenerator.default.wrap(function
|
|
6003
|
-
while (1) switch (
|
|
6136
|
+
return _regenerator.default.wrap(function _callee23$(_context23) {
|
|
6137
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
6004
6138
|
case 0:
|
|
6005
6139
|
LOG_HEADER = 'Meeting:index#addMedia():waitForRemoteSDPAnswer -->';
|
|
6006
6140
|
if (this.deferSDPAnswer) {
|
|
6007
|
-
|
|
6141
|
+
_context23.next = 4;
|
|
6008
6142
|
break;
|
|
6009
6143
|
}
|
|
6010
6144
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " offer not created yet"));
|
|
6011
|
-
return
|
|
6145
|
+
return _context23.abrupt("return", _promise.default.reject(new Error('waitForRemoteSDPAnswer() called before local sdp offer created')));
|
|
6012
6146
|
case 4:
|
|
6013
6147
|
deferSDPAnswer = this.deferSDPAnswer;
|
|
6014
6148
|
this.sdpResponseTimer = setTimeout(function () {
|
|
@@ -6016,12 +6150,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6016
6150
|
deferSDPAnswer.reject(new Error('Timed out waiting for REMOTE SDP ANSWER'));
|
|
6017
6151
|
}, _constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT);
|
|
6018
6152
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " waiting for REMOTE SDP ANSWER..."));
|
|
6019
|
-
return
|
|
6153
|
+
return _context23.abrupt("return", deferSDPAnswer.promise);
|
|
6020
6154
|
case 8:
|
|
6021
6155
|
case "end":
|
|
6022
|
-
return
|
|
6156
|
+
return _context23.stop();
|
|
6023
6157
|
}
|
|
6024
|
-
},
|
|
6158
|
+
}, _callee23, this);
|
|
6025
6159
|
}));
|
|
6026
6160
|
function waitForRemoteSDPAnswer() {
|
|
6027
6161
|
return _waitForRemoteSDPAnswer.apply(this, arguments);
|
|
@@ -6040,28 +6174,28 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6040
6174
|
}, {
|
|
6041
6175
|
key: "retryEstablishMediaConnectionWithForcedTurnDiscovery",
|
|
6042
6176
|
value: (function () {
|
|
6043
|
-
var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6177
|
+
var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24(remoteMediaManagerConfig, bundlePolicy) {
|
|
6044
6178
|
var LOG_HEADER;
|
|
6045
|
-
return _regenerator.default.wrap(function
|
|
6046
|
-
while (1) switch (
|
|
6179
|
+
return _regenerator.default.wrap(function _callee24$(_context24) {
|
|
6180
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
6047
6181
|
case 0:
|
|
6048
6182
|
LOG_HEADER = 'Meeting:index#addMedia():retryEstablishMediaConnectionWithForcedTurnDiscovery -->';
|
|
6049
|
-
|
|
6050
|
-
|
|
6183
|
+
_context24.prev = 1;
|
|
6184
|
+
_context24.next = 4;
|
|
6051
6185
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true);
|
|
6052
6186
|
case 4:
|
|
6053
|
-
|
|
6187
|
+
_context24.next = 10;
|
|
6054
6188
|
break;
|
|
6055
6189
|
case 6:
|
|
6056
|
-
|
|
6057
|
-
|
|
6058
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "),
|
|
6059
|
-
throw
|
|
6190
|
+
_context24.prev = 6;
|
|
6191
|
+
_context24.t0 = _context24["catch"](1);
|
|
6192
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "), _context24.t0);
|
|
6193
|
+
throw _context24.t0;
|
|
6060
6194
|
case 10:
|
|
6061
6195
|
case "end":
|
|
6062
|
-
return
|
|
6196
|
+
return _context24.stop();
|
|
6063
6197
|
}
|
|
6064
|
-
},
|
|
6198
|
+
}, _callee24, this, [[1, 6]]);
|
|
6065
6199
|
}));
|
|
6066
6200
|
function retryEstablishMediaConnectionWithForcedTurnDiscovery(_x19, _x20) {
|
|
6067
6201
|
return _retryEstablishMediaConnectionWithForcedTurnDiscovery.apply(this, arguments);
|
|
@@ -6081,14 +6215,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6081
6215
|
}, {
|
|
6082
6216
|
key: "retryWithForcedTurnDiscovery",
|
|
6083
6217
|
value: (function () {
|
|
6084
|
-
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6218
|
+
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee25(remoteMediaManagerConfig, bundlePolicy) {
|
|
6085
6219
|
var LOG_HEADER;
|
|
6086
|
-
return _regenerator.default.wrap(function
|
|
6087
|
-
while (1) switch (
|
|
6220
|
+
return _regenerator.default.wrap(function _callee25$(_context25) {
|
|
6221
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
6088
6222
|
case 0:
|
|
6089
6223
|
this.retriedWithTurnServer = true;
|
|
6090
6224
|
LOG_HEADER = 'Meeting:index#addMedia():retryWithForcedTurnDiscovery -->';
|
|
6091
|
-
|
|
6225
|
+
_context25.next = 4;
|
|
6092
6226
|
return this.cleanUpBeforeRetryWithTurnServer();
|
|
6093
6227
|
case 4:
|
|
6094
6228
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_RETRY, {
|
|
@@ -6098,22 +6232,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6098
6232
|
reason: 'forcingTurnTls'
|
|
6099
6233
|
});
|
|
6100
6234
|
if (!(this.state === _constants.MEETING_STATE.STATES.LEFT)) {
|
|
6101
|
-
|
|
6235
|
+
_context25.next = 9;
|
|
6102
6236
|
break;
|
|
6103
6237
|
}
|
|
6104
6238
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " meeting state was LEFT after first attempt to establish media connection. Attempting to rejoin. "));
|
|
6105
|
-
|
|
6239
|
+
_context25.next = 9;
|
|
6106
6240
|
return this.join({
|
|
6107
6241
|
rejoin: true
|
|
6108
6242
|
});
|
|
6109
6243
|
case 9:
|
|
6110
|
-
|
|
6244
|
+
_context25.next = 11;
|
|
6111
6245
|
return this.retryEstablishMediaConnectionWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
6112
6246
|
case 11:
|
|
6113
6247
|
case "end":
|
|
6114
|
-
return
|
|
6248
|
+
return _context25.stop();
|
|
6115
6249
|
}
|
|
6116
|
-
},
|
|
6250
|
+
}, _callee25, this);
|
|
6117
6251
|
}));
|
|
6118
6252
|
function retryWithForcedTurnDiscovery(_x21, _x22) {
|
|
6119
6253
|
return _retryWithForcedTurnDiscovery.apply(this, arguments);
|
|
@@ -6135,30 +6269,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6135
6269
|
}, {
|
|
6136
6270
|
key: "handleWaitForMediaConnectionConnectedError",
|
|
6137
6271
|
value: (function () {
|
|
6138
|
-
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6272
|
+
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee26(error, remoteMediaManagerConfig, bundlePolicy) {
|
|
6139
6273
|
var LOG_HEADER;
|
|
6140
|
-
return _regenerator.default.wrap(function
|
|
6141
|
-
while (1) switch (
|
|
6274
|
+
return _regenerator.default.wrap(function _callee26$(_context26) {
|
|
6275
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
6142
6276
|
case 0:
|
|
6143
6277
|
LOG_HEADER = 'Meeting:index#addMedia():handleWaitForMediaConnectionConnectedError -->'; // @ts-ignore - config coming from registerPlugin
|
|
6144
6278
|
if (this.turnServerUsed) {
|
|
6145
|
-
|
|
6279
|
+
_context26.next = 7;
|
|
6146
6280
|
break;
|
|
6147
6281
|
}
|
|
6148
6282
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " error waiting for media to connect on UDP, TCP, retrying using TURN-TLS, "), error);
|
|
6149
|
-
|
|
6283
|
+
_context26.next = 5;
|
|
6150
6284
|
return this.retryWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
6151
6285
|
case 5:
|
|
6152
|
-
|
|
6286
|
+
_context26.next = 9;
|
|
6153
6287
|
break;
|
|
6154
6288
|
case 7:
|
|
6155
6289
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error waiting for media to connect using UDP, TCP and TURN-TLS"), error);
|
|
6156
6290
|
throw new _webexErrors.AddMediaFailed();
|
|
6157
6291
|
case 9:
|
|
6158
6292
|
case "end":
|
|
6159
|
-
return
|
|
6293
|
+
return _context26.stop();
|
|
6160
6294
|
}
|
|
6161
|
-
},
|
|
6295
|
+
}, _callee26, this);
|
|
6162
6296
|
}));
|
|
6163
6297
|
function handleWaitForMediaConnectionConnectedError(_x23, _x24, _x25) {
|
|
6164
6298
|
return _handleWaitForMediaConnectionConnectedError.apply(this, arguments);
|
|
@@ -6166,44 +6300,38 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6166
6300
|
return handleWaitForMediaConnectionConnectedError;
|
|
6167
6301
|
}()
|
|
6168
6302
|
/**
|
|
6169
|
-
*
|
|
6303
|
+
* Performs TURN discovery as a separate call to the Locus /media API
|
|
6170
6304
|
*
|
|
6171
|
-
* @
|
|
6172
|
-
* @param {
|
|
6173
|
-
* @
|
|
6174
|
-
* @param {boolean} [isForced] - let isForced be true to do turn discovery regardless of reachability results
|
|
6175
|
-
* @returns {Promise<void>}
|
|
6305
|
+
* @param {boolean} isRetry
|
|
6306
|
+
* @param {boolean} isForced
|
|
6307
|
+
* @returns {Promise}
|
|
6176
6308
|
*/
|
|
6177
6309
|
)
|
|
6178
6310
|
}, {
|
|
6179
|
-
key: "
|
|
6311
|
+
key: "doTurnDiscovery",
|
|
6180
6312
|
value: (function () {
|
|
6181
|
-
var
|
|
6182
|
-
var
|
|
6183
|
-
return _regenerator.default.wrap(function
|
|
6184
|
-
while (1) switch (
|
|
6313
|
+
var _doTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee27(isRetry, isForced) {
|
|
6314
|
+
var cdl, turnDiscoveryResult;
|
|
6315
|
+
return _regenerator.default.wrap(function _callee27$(_context27) {
|
|
6316
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
6185
6317
|
case 0:
|
|
6186
|
-
LOG_HEADER = 'Meeting:index#addMedia():establishMediaConnection -->'; // @ts-ignore
|
|
6187
|
-
cdl = this.webex.internal.newMetrics.callDiagnosticLatencies;
|
|
6188
|
-
isRetry = this.retriedWithTurnServer;
|
|
6189
|
-
_context26.prev = 3;
|
|
6190
6318
|
// @ts-ignore
|
|
6319
|
+
cdl = this.webex.internal.newMetrics.callDiagnosticLatencies; // @ts-ignore
|
|
6191
6320
|
this.webex.internal.newMetrics.submitInternalEvent({
|
|
6192
6321
|
name: 'internal.client.add-media.turn-discovery.start'
|
|
6193
6322
|
});
|
|
6194
|
-
|
|
6323
|
+
_context27.next = 4;
|
|
6195
6324
|
return this.roap.doTurnDiscovery(this, isRetry, isForced);
|
|
6196
|
-
case
|
|
6197
|
-
|
|
6198
|
-
this.turnDiscoverySkippedReason =
|
|
6325
|
+
case 4:
|
|
6326
|
+
turnDiscoveryResult = _context27.sent;
|
|
6327
|
+
this.turnDiscoverySkippedReason = turnDiscoveryResult === null || turnDiscoveryResult === void 0 ? void 0 : turnDiscoveryResult.turnDiscoverySkippedReason;
|
|
6199
6328
|
this.turnServerUsed = !this.turnDiscoverySkippedReason;
|
|
6200
6329
|
|
|
6201
6330
|
// @ts-ignore
|
|
6202
6331
|
this.webex.internal.newMetrics.submitInternalEvent({
|
|
6203
6332
|
name: 'internal.client.add-media.turn-discovery.end'
|
|
6204
6333
|
});
|
|
6205
|
-
|
|
6206
|
-
if (this.turnServerUsed && turnServerInfo) {
|
|
6334
|
+
if (this.turnServerUsed && turnDiscoveryResult.turnServerInfo) {
|
|
6207
6335
|
_metrics.default.sendBehavioralMetric(_constants2.default.TURN_DISCOVERY_LATENCY, {
|
|
6208
6336
|
correlation_id: this.correlationId,
|
|
6209
6337
|
latency: cdl.getTurnDiscoveryTime(),
|
|
@@ -6211,55 +6339,100 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6211
6339
|
retriedWithTurnServer: this.retriedWithTurnServer
|
|
6212
6340
|
});
|
|
6213
6341
|
}
|
|
6214
|
-
|
|
6342
|
+
return _context27.abrupt("return", turnDiscoveryResult);
|
|
6343
|
+
case 10:
|
|
6344
|
+
case "end":
|
|
6345
|
+
return _context27.stop();
|
|
6346
|
+
}
|
|
6347
|
+
}, _callee27, this);
|
|
6348
|
+
}));
|
|
6349
|
+
function doTurnDiscovery(_x26, _x27) {
|
|
6350
|
+
return _doTurnDiscovery.apply(this, arguments);
|
|
6351
|
+
}
|
|
6352
|
+
return doTurnDiscovery;
|
|
6353
|
+
}()
|
|
6354
|
+
/**
|
|
6355
|
+
* Does TURN discovery, SDP offer/answer exhange, establishes ICE connection and DTLS handshake.
|
|
6356
|
+
*
|
|
6357
|
+
* @private
|
|
6358
|
+
* @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
|
|
6359
|
+
* @param {BundlePolicy} [bundlePolicy]
|
|
6360
|
+
* @param {boolean} [isForced] - let isForced be true to do turn discovery regardless of reachability results
|
|
6361
|
+
* @param {TurnServerInfo} [turnServerInfo]
|
|
6362
|
+
* @returns {Promise<void>}
|
|
6363
|
+
*/
|
|
6364
|
+
)
|
|
6365
|
+
}, {
|
|
6366
|
+
key: "establishMediaConnection",
|
|
6367
|
+
value: (function () {
|
|
6368
|
+
var _establishMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee28(remoteMediaManagerConfig, bundlePolicy, isForced, turnServerInfo) {
|
|
6369
|
+
var LOG_HEADER, isRetry, _yield$this$doTurnDis, mc;
|
|
6370
|
+
return _regenerator.default.wrap(function _callee28$(_context28) {
|
|
6371
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
6372
|
+
case 0:
|
|
6373
|
+
LOG_HEADER = 'Meeting:index#addMedia():establishMediaConnection -->';
|
|
6374
|
+
isRetry = this.retriedWithTurnServer;
|
|
6375
|
+
_context28.prev = 2;
|
|
6376
|
+
if (turnServerInfo) {
|
|
6377
|
+
_context28.next = 8;
|
|
6378
|
+
break;
|
|
6379
|
+
}
|
|
6380
|
+
_context28.next = 6;
|
|
6381
|
+
return this.doTurnDiscovery(isRetry, isForced);
|
|
6382
|
+
case 6:
|
|
6383
|
+
_yield$this$doTurnDis = _context28.sent;
|
|
6384
|
+
turnServerInfo = _yield$this$doTurnDis.turnServerInfo;
|
|
6385
|
+
case 8:
|
|
6386
|
+
_context28.next = 10;
|
|
6215
6387
|
return this.createMediaConnection(turnServerInfo, bundlePolicy);
|
|
6216
|
-
case
|
|
6217
|
-
mc =
|
|
6388
|
+
case 10:
|
|
6389
|
+
mc = _context28.sent;
|
|
6218
6390
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created"));
|
|
6219
6391
|
if (!this.isMultistream) {
|
|
6220
|
-
|
|
6392
|
+
_context28.next = 20;
|
|
6221
6393
|
break;
|
|
6222
6394
|
}
|
|
6223
6395
|
this.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(this.receiveSlotManager, this.mediaRequestManagers, remoteMediaManagerConfig);
|
|
6224
6396
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.AudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_AUDIO_CREATED);
|
|
6397
|
+
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.InterpretationAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_INTERPRETATION_AUDIO_CREATED);
|
|
6225
6398
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
|
|
6226
6399
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
|
|
6227
|
-
|
|
6400
|
+
_context28.next = 20;
|
|
6228
6401
|
return this.remoteMediaManager.start();
|
|
6229
|
-
case
|
|
6230
|
-
|
|
6402
|
+
case 20:
|
|
6403
|
+
_context28.next = 22;
|
|
6231
6404
|
return mc.initiateOffer();
|
|
6232
|
-
case
|
|
6233
|
-
|
|
6405
|
+
case 22:
|
|
6406
|
+
_context28.next = 24;
|
|
6234
6407
|
return this.waitForRemoteSDPAnswer();
|
|
6235
|
-
case
|
|
6408
|
+
case 24:
|
|
6236
6409
|
this.handleMediaLogging(this.mediaProperties);
|
|
6237
|
-
|
|
6410
|
+
_context28.next = 31;
|
|
6238
6411
|
break;
|
|
6412
|
+
case 27:
|
|
6413
|
+
_context28.prev = 27;
|
|
6414
|
+
_context28.t0 = _context28["catch"](2);
|
|
6415
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _context28.t0);
|
|
6416
|
+
throw _context28.t0;
|
|
6239
6417
|
case 31:
|
|
6240
|
-
|
|
6241
|
-
|
|
6242
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _context26.t0);
|
|
6243
|
-
throw _context26.t0;
|
|
6244
|
-
case 35:
|
|
6245
|
-
_context26.prev = 35;
|
|
6246
|
-
_context26.next = 38;
|
|
6418
|
+
_context28.prev = 31;
|
|
6419
|
+
_context28.next = 34;
|
|
6247
6420
|
return this.waitForMediaConnectionConnected();
|
|
6248
|
-
case
|
|
6249
|
-
|
|
6421
|
+
case 34:
|
|
6422
|
+
_context28.next = 40;
|
|
6250
6423
|
break;
|
|
6424
|
+
case 36:
|
|
6425
|
+
_context28.prev = 36;
|
|
6426
|
+
_context28.t1 = _context28["catch"](31);
|
|
6427
|
+
_context28.next = 40;
|
|
6428
|
+
return this.handleWaitForMediaConnectionConnectedError(_context28.t1, remoteMediaManagerConfig, bundlePolicy);
|
|
6251
6429
|
case 40:
|
|
6252
|
-
_context26.prev = 40;
|
|
6253
|
-
_context26.t1 = _context26["catch"](35);
|
|
6254
|
-
_context26.next = 44;
|
|
6255
|
-
return this.handleWaitForMediaConnectionConnectedError(_context26.t1, remoteMediaManagerConfig, bundlePolicy);
|
|
6256
|
-
case 44:
|
|
6257
6430
|
case "end":
|
|
6258
|
-
return
|
|
6431
|
+
return _context28.stop();
|
|
6259
6432
|
}
|
|
6260
|
-
},
|
|
6433
|
+
}, _callee28, this, [[2, 27], [31, 36]]);
|
|
6261
6434
|
}));
|
|
6262
|
-
function establishMediaConnection(
|
|
6435
|
+
function establishMediaConnection(_x28, _x29, _x30, _x31) {
|
|
6263
6436
|
return _establishMediaConnection.apply(this, arguments);
|
|
6264
6437
|
}
|
|
6265
6438
|
return establishMediaConnection;
|
|
@@ -6274,22 +6447,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6274
6447
|
}, {
|
|
6275
6448
|
key: "cleanUpOnAddMediaFailure",
|
|
6276
6449
|
value: (function () {
|
|
6277
|
-
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6278
|
-
return _regenerator.default.wrap(function
|
|
6279
|
-
while (1) switch (
|
|
6450
|
+
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee29() {
|
|
6451
|
+
return _regenerator.default.wrap(function _callee29$(_context29) {
|
|
6452
|
+
while (1) switch (_context29.prev = _context29.next) {
|
|
6280
6453
|
case 0:
|
|
6281
6454
|
if (!this.statsAnalyzer) {
|
|
6282
|
-
|
|
6455
|
+
_context29.next = 3;
|
|
6283
6456
|
break;
|
|
6284
6457
|
}
|
|
6285
|
-
|
|
6458
|
+
_context29.next = 3;
|
|
6286
6459
|
return this.statsAnalyzer.stopAnalyzer();
|
|
6287
6460
|
case 3:
|
|
6288
6461
|
this.statsAnalyzer = null;
|
|
6289
6462
|
|
|
6290
6463
|
// when media fails, we want to upload a webrtc dump to see whats going on
|
|
6291
6464
|
// this function is async, but returns once the stats have been gathered
|
|
6292
|
-
|
|
6465
|
+
_context29.next = 6;
|
|
6293
6466
|
return this.forceSendStatsReport({
|
|
6294
6467
|
callFrom: 'addMedia'
|
|
6295
6468
|
});
|
|
@@ -6300,9 +6473,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6300
6473
|
}
|
|
6301
6474
|
case 7:
|
|
6302
6475
|
case "end":
|
|
6303
|
-
return
|
|
6476
|
+
return _context29.stop();
|
|
6304
6477
|
}
|
|
6305
|
-
},
|
|
6478
|
+
}, _callee29, this);
|
|
6306
6479
|
}));
|
|
6307
6480
|
function cleanUpOnAddMediaFailure() {
|
|
6308
6481
|
return _cleanUpOnAddMediaFailure.apply(this, arguments);
|
|
@@ -6320,11 +6493,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6320
6493
|
}, {
|
|
6321
6494
|
key: "cleanUpBeforeRetryWithTurnServer",
|
|
6322
6495
|
value: (function () {
|
|
6323
|
-
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6324
|
-
return _regenerator.default.wrap(function
|
|
6325
|
-
while (1) switch (
|
|
6496
|
+
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee30() {
|
|
6497
|
+
return _regenerator.default.wrap(function _callee30$(_context30) {
|
|
6498
|
+
while (1) switch (_context30.prev = _context30.next) {
|
|
6326
6499
|
case 0:
|
|
6327
|
-
|
|
6500
|
+
_context30.next = 2;
|
|
6328
6501
|
return this.forceSendStatsReport({
|
|
6329
6502
|
callFrom: 'cleanUpBeforeRetryWithTurnServer'
|
|
6330
6503
|
});
|
|
@@ -6344,9 +6517,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6344
6517
|
}
|
|
6345
6518
|
case 3:
|
|
6346
6519
|
case "end":
|
|
6347
|
-
return
|
|
6520
|
+
return _context30.stop();
|
|
6348
6521
|
}
|
|
6349
|
-
},
|
|
6522
|
+
}, _callee30, this);
|
|
6350
6523
|
}));
|
|
6351
6524
|
function cleanUpBeforeRetryWithTurnServer() {
|
|
6352
6525
|
return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
|
|
@@ -6357,6 +6530,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6357
6530
|
* Creates a media connection to the server. Media connection is required for sending or receiving any audio/video.
|
|
6358
6531
|
*
|
|
6359
6532
|
* @param {AddMediaOptions} options
|
|
6533
|
+
* @param {TurnServerInfo} turnServerInfo - TURN server information (used only internally by the SDK)
|
|
6360
6534
|
* @returns {Promise<void>}
|
|
6361
6535
|
* @public
|
|
6362
6536
|
* @memberof Meeting
|
|
@@ -6365,9 +6539,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6365
6539
|
}, {
|
|
6366
6540
|
key: "addMedia",
|
|
6367
6541
|
value: (function () {
|
|
6368
|
-
var _addMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6542
|
+
var _addMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee31() {
|
|
6369
6543
|
var _this$webex$meetings$2, _this$webex$meetings$3;
|
|
6370
6544
|
var options,
|
|
6545
|
+
turnServerInfo,
|
|
6371
6546
|
LOG_HEADER,
|
|
6372
6547
|
localStreams,
|
|
6373
6548
|
_options$audioEnabled,
|
|
@@ -6380,7 +6555,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6380
6555
|
shareVideoEnabled,
|
|
6381
6556
|
remoteMediaManagerConfig,
|
|
6382
6557
|
bundlePolicy,
|
|
6383
|
-
allowMediaInLobby,
|
|
6384
6558
|
_this$remoteMediaMana,
|
|
6385
6559
|
connectionType,
|
|
6386
6560
|
reachabilityStats,
|
|
@@ -6406,38 +6580,39 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6406
6580
|
_this$mediaProperties39,
|
|
6407
6581
|
_this$mediaProperties40,
|
|
6408
6582
|
reachabilityMetrics,
|
|
6409
|
-
|
|
6410
|
-
return _regenerator.default.wrap(function
|
|
6411
|
-
while (1) switch (
|
|
6583
|
+
_args31 = arguments;
|
|
6584
|
+
return _regenerator.default.wrap(function _callee31$(_context31) {
|
|
6585
|
+
while (1) switch (_context31.prev = _context31.next) {
|
|
6412
6586
|
case 0:
|
|
6413
|
-
options =
|
|
6587
|
+
options = _args31.length > 0 && _args31[0] !== undefined ? _args31[0] : {};
|
|
6588
|
+
turnServerInfo = _args31.length > 1 && _args31[1] !== undefined ? _args31[1] : undefined;
|
|
6414
6589
|
this.retriedWithTurnServer = false;
|
|
6415
6590
|
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
6416
6591
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
6417
|
-
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: ").concat((0, _stringify.default)(options)));
|
|
6592
|
+
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: ").concat((0, _stringify.default)(options), ", ").concat((0, _stringify.default)(turnServerInfo)));
|
|
6418
6593
|
if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
6419
|
-
|
|
6594
|
+
_context31.next = 8;
|
|
6420
6595
|
break;
|
|
6421
6596
|
}
|
|
6422
6597
|
throw new _webexErrors.MeetingNotActiveError();
|
|
6423
|
-
case
|
|
6424
|
-
if (!
|
|
6425
|
-
|
|
6598
|
+
case 8:
|
|
6599
|
+
if (!_util2.default.isUserInLeftState(this.locusInfo)) {
|
|
6600
|
+
_context31.next = 10;
|
|
6426
6601
|
break;
|
|
6427
6602
|
}
|
|
6428
6603
|
throw new _webexErrors.UserNotJoinedError();
|
|
6429
|
-
case
|
|
6430
|
-
localStreams = options.localStreams, _options$audioEnabled = options.audioEnabled, audioEnabled = _options$audioEnabled === void 0 ? true : _options$audioEnabled, _options$videoEnabled = options.videoEnabled, videoEnabled = _options$videoEnabled === void 0 ? true : _options$videoEnabled, _options$shareAudioEn = options.shareAudioEnabled, shareAudioEnabled = _options$shareAudioEn === void 0 ? true : _options$shareAudioEn, _options$shareVideoEn = options.shareVideoEnabled, shareVideoEnabled = _options$shareVideoEn === void 0 ? true : _options$shareVideoEn, remoteMediaManagerConfig = options.remoteMediaManagerConfig, bundlePolicy = options.bundlePolicy
|
|
6604
|
+
case 10:
|
|
6605
|
+
localStreams = options.localStreams, _options$audioEnabled = options.audioEnabled, audioEnabled = _options$audioEnabled === void 0 ? true : _options$audioEnabled, _options$videoEnabled = options.videoEnabled, videoEnabled = _options$videoEnabled === void 0 ? true : _options$videoEnabled, _options$shareAudioEn = options.shareAudioEnabled, shareAudioEnabled = _options$shareAudioEn === void 0 ? true : _options$shareAudioEn, _options$shareVideoEn = options.shareVideoEnabled, shareVideoEnabled = _options$shareVideoEn === void 0 ? true : _options$shareVideoEn, remoteMediaManagerConfig = options.remoteMediaManagerConfig, bundlePolicy = options.bundlePolicy;
|
|
6431
6606
|
this.allowMediaInLobby = options === null || options === void 0 ? void 0 : options.allowMediaInLobby;
|
|
6432
6607
|
|
|
6433
6608
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
6434
6609
|
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
6435
|
-
if (!(this.isUserUnadmitted && !this.wirelessShare && !allowMediaInLobby)) {
|
|
6436
|
-
|
|
6610
|
+
if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
|
|
6611
|
+
_context31.next = 14;
|
|
6437
6612
|
break;
|
|
6438
6613
|
}
|
|
6439
6614
|
throw new _webexErrors.UserInLobbyError();
|
|
6440
|
-
case
|
|
6615
|
+
case 14:
|
|
6441
6616
|
// @ts-ignore
|
|
6442
6617
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
6443
6618
|
name: 'client.media.capabilities',
|
|
@@ -6492,33 +6667,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6492
6667
|
});
|
|
6493
6668
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
6494
6669
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
6495
|
-
|
|
6496
|
-
|
|
6670
|
+
_context31.prev = 19;
|
|
6671
|
+
_context31.next = 22;
|
|
6497
6672
|
return this.setUpLocalStreamReferences(localStreams);
|
|
6498
|
-
case
|
|
6673
|
+
case 22:
|
|
6499
6674
|
this.setMercuryListener();
|
|
6500
6675
|
this.createStatsAnalyzer();
|
|
6501
|
-
|
|
6502
|
-
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, false);
|
|
6503
|
-
case
|
|
6504
|
-
|
|
6676
|
+
_context31.next = 26;
|
|
6677
|
+
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, false, turnServerInfo);
|
|
6678
|
+
case 26:
|
|
6679
|
+
if (!(audioEnabled || videoEnabled)) {
|
|
6680
|
+
_context31.next = 31;
|
|
6681
|
+
break;
|
|
6682
|
+
}
|
|
6683
|
+
_context31.next = 29;
|
|
6505
6684
|
return Meeting.handleDeviceLogging();
|
|
6506
|
-
case
|
|
6685
|
+
case 29:
|
|
6686
|
+
_context31.next = 32;
|
|
6687
|
+
break;
|
|
6688
|
+
case 31:
|
|
6689
|
+
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " device logging not required"));
|
|
6690
|
+
case 32:
|
|
6507
6691
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
6508
|
-
|
|
6692
|
+
_context31.next = 35;
|
|
6509
6693
|
break;
|
|
6510
6694
|
}
|
|
6511
|
-
|
|
6695
|
+
_context31.next = 35;
|
|
6512
6696
|
return this.enqueueScreenShareFloorRequest();
|
|
6513
|
-
case
|
|
6514
|
-
|
|
6697
|
+
case 35:
|
|
6698
|
+
_context31.next = 37;
|
|
6515
6699
|
return this.mediaProperties.getCurrentConnectionType();
|
|
6516
|
-
case
|
|
6517
|
-
connectionType =
|
|
6518
|
-
|
|
6700
|
+
case 37:
|
|
6701
|
+
connectionType = _context31.sent;
|
|
6702
|
+
_context31.next = 40;
|
|
6519
6703
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6520
|
-
case
|
|
6521
|
-
reachabilityStats =
|
|
6704
|
+
case 40:
|
|
6705
|
+
reachabilityStats = _context31.sent;
|
|
6522
6706
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread({
|
|
6523
6707
|
correlation_id: this.correlationId,
|
|
6524
6708
|
locus_id: this.locusUrl.split('/').pop(),
|
|
@@ -6537,24 +6721,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6537
6721
|
|
|
6538
6722
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
6539
6723
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
6540
|
-
|
|
6724
|
+
_context31.next = 59;
|
|
6541
6725
|
break;
|
|
6542
|
-
case
|
|
6543
|
-
|
|
6544
|
-
|
|
6545
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "),
|
|
6726
|
+
case 47:
|
|
6727
|
+
_context31.prev = 47;
|
|
6728
|
+
_context31.t0 = _context31["catch"](19);
|
|
6729
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context31.t0);
|
|
6546
6730
|
|
|
6547
6731
|
// @ts-ignore
|
|
6548
|
-
|
|
6732
|
+
_context31.next = 52;
|
|
6549
6733
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6550
|
-
case
|
|
6551
|
-
reachabilityMetrics =
|
|
6734
|
+
case 52:
|
|
6735
|
+
reachabilityMetrics = _context31.sent;
|
|
6552
6736
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread({
|
|
6553
6737
|
correlation_id: this.correlationId,
|
|
6554
6738
|
locus_id: this.locusUrl.split('/').pop(),
|
|
6555
|
-
reason:
|
|
6556
|
-
stack:
|
|
6557
|
-
code:
|
|
6739
|
+
reason: _context31.t0.message,
|
|
6740
|
+
stack: _context31.t0.stack,
|
|
6741
|
+
code: _context31.t0.code,
|
|
6558
6742
|
turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
|
|
6559
6743
|
turnServerUsed: this.turnServerUsed,
|
|
6560
6744
|
retriedWithTurnServer: this.retriedWithTurnServer,
|
|
@@ -6563,25 +6747,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6563
6747
|
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',
|
|
6564
6748
|
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'
|
|
6565
6749
|
}, reachabilityMetrics));
|
|
6566
|
-
|
|
6750
|
+
_context31.next = 56;
|
|
6567
6751
|
return this.cleanUpOnAddMediaFailure();
|
|
6568
|
-
case
|
|
6752
|
+
case 56:
|
|
6569
6753
|
// Upload logs on error while adding media
|
|
6570
6754
|
_triggerProxy.default.trigger(this, {
|
|
6571
6755
|
file: 'meeting/index',
|
|
6572
6756
|
function: 'addMedia'
|
|
6573
6757
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
6574
|
-
if (
|
|
6758
|
+
if (_context31.t0 instanceof _internalMediaCore.Errors.SdpError) {
|
|
6575
6759
|
this.leave({
|
|
6576
6760
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
6577
6761
|
});
|
|
6578
6762
|
}
|
|
6579
|
-
throw
|
|
6580
|
-
case
|
|
6763
|
+
throw _context31.t0;
|
|
6764
|
+
case 59:
|
|
6581
6765
|
case "end":
|
|
6582
|
-
return
|
|
6766
|
+
return _context31.stop();
|
|
6583
6767
|
}
|
|
6584
|
-
},
|
|
6768
|
+
}, _callee31, this, [[19, 47]]);
|
|
6585
6769
|
}));
|
|
6586
6770
|
function addMedia() {
|
|
6587
6771
|
return _addMedia.apply(this, arguments);
|
|
@@ -6613,7 +6797,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6613
6797
|
* @memberof Meeting
|
|
6614
6798
|
*/
|
|
6615
6799
|
function enqueueMediaUpdate(mediaUpdateType) {
|
|
6616
|
-
var
|
|
6800
|
+
var _this39 = this;
|
|
6617
6801
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
6618
6802
|
var canUpdateMediaNow = this.canUpdateMedia();
|
|
6619
6803
|
return new _promise.default(function (resolve, reject) {
|
|
@@ -6624,9 +6808,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6624
6808
|
options: options
|
|
6625
6809
|
};
|
|
6626
6810
|
_loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
|
|
6627
|
-
|
|
6811
|
+
_this39.queuedMediaUpdates.push(queueItem);
|
|
6628
6812
|
if (canUpdateMediaNow) {
|
|
6629
|
-
|
|
6813
|
+
_this39.processNextQueuedMediaUpdate();
|
|
6630
6814
|
}
|
|
6631
6815
|
});
|
|
6632
6816
|
}
|
|
@@ -6649,35 +6833,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6649
6833
|
* @memberof Meeting
|
|
6650
6834
|
*/
|
|
6651
6835
|
function () {
|
|
6652
|
-
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6836
|
+
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee32(options) {
|
|
6653
6837
|
var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled;
|
|
6654
|
-
return _regenerator.default.wrap(function
|
|
6655
|
-
while (1) switch (
|
|
6838
|
+
return _regenerator.default.wrap(function _callee32$(_context32) {
|
|
6839
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
6656
6840
|
case 0:
|
|
6657
6841
|
this.checkMediaConnection();
|
|
6658
6842
|
audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
|
|
6659
6843
|
_loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
|
|
6660
6844
|
if (this.canUpdateMedia()) {
|
|
6661
|
-
|
|
6845
|
+
_context32.next = 5;
|
|
6662
6846
|
break;
|
|
6663
6847
|
}
|
|
6664
|
-
return
|
|
6848
|
+
return _context32.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
|
|
6665
6849
|
case 5:
|
|
6666
6850
|
if (!this.isMultistream) {
|
|
6667
|
-
|
|
6851
|
+
_context32.next = 10;
|
|
6668
6852
|
break;
|
|
6669
6853
|
}
|
|
6670
6854
|
if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
|
|
6671
|
-
|
|
6855
|
+
_context32.next = 8;
|
|
6672
6856
|
break;
|
|
6673
6857
|
}
|
|
6674
6858
|
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');
|
|
6675
6859
|
case 8:
|
|
6676
|
-
|
|
6860
|
+
_context32.next = 12;
|
|
6677
6861
|
break;
|
|
6678
6862
|
case 10:
|
|
6679
6863
|
if (!(shareAudioEnabled !== undefined)) {
|
|
6680
|
-
|
|
6864
|
+
_context32.next = 12;
|
|
6681
6865
|
break;
|
|
6682
6866
|
}
|
|
6683
6867
|
throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
|
|
@@ -6702,20 +6886,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6702
6886
|
this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
|
|
6703
6887
|
}
|
|
6704
6888
|
if (this.isMultistream) {
|
|
6705
|
-
|
|
6889
|
+
_context32.next = 18;
|
|
6706
6890
|
break;
|
|
6707
6891
|
}
|
|
6708
|
-
|
|
6892
|
+
_context32.next = 18;
|
|
6709
6893
|
return this.updateTranscodedMediaConnection();
|
|
6710
6894
|
case 18:
|
|
6711
|
-
return
|
|
6895
|
+
return _context32.abrupt("return", undefined);
|
|
6712
6896
|
case 19:
|
|
6713
6897
|
case "end":
|
|
6714
|
-
return
|
|
6898
|
+
return _context32.stop();
|
|
6715
6899
|
}
|
|
6716
|
-
},
|
|
6900
|
+
}, _callee32, this);
|
|
6717
6901
|
}));
|
|
6718
|
-
function updateMedia(
|
|
6902
|
+
function updateMedia(_x32) {
|
|
6719
6903
|
return _updateMedia.apply(this, arguments);
|
|
6720
6904
|
}
|
|
6721
6905
|
return updateMedia;
|
|
@@ -6731,7 +6915,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6731
6915
|
}, {
|
|
6732
6916
|
key: "acknowledge",
|
|
6733
6917
|
value: function acknowledge(type) {
|
|
6734
|
-
var
|
|
6918
|
+
var _this40 = this;
|
|
6735
6919
|
if (!type) {
|
|
6736
6920
|
return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
|
|
6737
6921
|
}
|
|
@@ -6743,12 +6927,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6743
6927
|
}).then(function (response) {
|
|
6744
6928
|
return _promise.default.resolve(response);
|
|
6745
6929
|
}).then(function (response) {
|
|
6746
|
-
|
|
6930
|
+
_this40.meetingFiniteStateMachine.ring(type);
|
|
6747
6931
|
// @ts-ignore
|
|
6748
|
-
|
|
6932
|
+
_this40.webex.internal.newMetrics.submitClientEvent({
|
|
6749
6933
|
name: 'client.alert.displayed',
|
|
6750
6934
|
options: {
|
|
6751
|
-
meetingId:
|
|
6935
|
+
meetingId: _this40.id
|
|
6752
6936
|
}
|
|
6753
6937
|
});
|
|
6754
6938
|
return _promise.default.resolve({
|
|
@@ -6773,12 +6957,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6773
6957
|
}, {
|
|
6774
6958
|
key: "decline",
|
|
6775
6959
|
value: function decline(reason) {
|
|
6776
|
-
var
|
|
6777
|
-
return
|
|
6778
|
-
|
|
6960
|
+
var _this41 = this;
|
|
6961
|
+
return _util2.default.declineMeeting(this, reason).then(function (decline) {
|
|
6962
|
+
_this41.meetingFiniteStateMachine.decline();
|
|
6779
6963
|
return _promise.default.resolve(decline);
|
|
6780
6964
|
}).catch(function (error) {
|
|
6781
|
-
|
|
6965
|
+
_this41.meetingFiniteStateMachine.fail(error);
|
|
6782
6966
|
return _promise.default.reject(error);
|
|
6783
6967
|
});
|
|
6784
6968
|
}
|
|
@@ -6808,7 +6992,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6808
6992
|
key: "buildLeaveFetchRequestOptions",
|
|
6809
6993
|
value: function buildLeaveFetchRequestOptions() {
|
|
6810
6994
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6811
|
-
var requestOptions =
|
|
6995
|
+
var requestOptions = _util2.default.buildLeaveFetchRequestOptions(this, options);
|
|
6812
6996
|
|
|
6813
6997
|
// @ts-ignore
|
|
6814
6998
|
return this.webex.prepareFetchOptions(requestOptions);
|
|
@@ -6829,7 +7013,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6829
7013
|
}, {
|
|
6830
7014
|
key: "leave",
|
|
6831
7015
|
value: function leave() {
|
|
6832
|
-
var
|
|
7016
|
+
var _this42 = this;
|
|
6833
7017
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6834
7018
|
var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
|
|
6835
7019
|
|
|
@@ -6841,7 +7025,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6841
7025
|
var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6842
7026
|
return (
|
|
6843
7027
|
// @ts-ignore
|
|
6844
|
-
|
|
7028
|
+
_this42.webex.internal.newMetrics.submitClientEvent({
|
|
6845
7029
|
name: 'client.call.leave',
|
|
6846
7030
|
payload: _objectSpread({
|
|
6847
7031
|
trigger: 'user-interaction',
|
|
@@ -6849,33 +7033,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6849
7033
|
leaveReason: options.clientEventLeaveReason
|
|
6850
7034
|
}, payload),
|
|
6851
7035
|
options: {
|
|
6852
|
-
meetingId:
|
|
7036
|
+
meetingId: _this42.id
|
|
6853
7037
|
}
|
|
6854
7038
|
})
|
|
6855
7039
|
);
|
|
6856
7040
|
};
|
|
6857
7041
|
_loggerProxy.default.logger.log('Meeting:index#leave --> Leaving a meeting');
|
|
6858
|
-
return
|
|
7042
|
+
return _util2.default.leaveMeeting(this, options).then(function (leave) {
|
|
6859
7043
|
// CA team recommends submitting this *after* locus /leave
|
|
6860
7044
|
submitLeaveMetric();
|
|
6861
|
-
|
|
6862
|
-
|
|
7045
|
+
_this42.meetingFiniteStateMachine.leave();
|
|
7046
|
+
_this42.clearMeetingData();
|
|
6863
7047
|
|
|
6864
7048
|
// upload logs on leave irrespective of meeting delete
|
|
6865
|
-
_triggerProxy.default.trigger(
|
|
7049
|
+
_triggerProxy.default.trigger(_this42, {
|
|
6866
7050
|
file: 'meeting/index',
|
|
6867
7051
|
function: 'leave'
|
|
6868
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7052
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this42);
|
|
6869
7053
|
|
|
6870
7054
|
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
6871
|
-
if (
|
|
7055
|
+
if (_this42.wirelessShare || _this42.guest) {
|
|
6872
7056
|
// If screen sharing clean the meeting object
|
|
6873
|
-
_triggerProxy.default.trigger(
|
|
7057
|
+
_triggerProxy.default.trigger(_this42, {
|
|
6874
7058
|
file: 'meeting/index',
|
|
6875
7059
|
function: 'leave'
|
|
6876
7060
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
6877
7061
|
reason: options.reason,
|
|
6878
|
-
meetingId:
|
|
7062
|
+
meetingId: _this42.id
|
|
6879
7063
|
});
|
|
6880
7064
|
}
|
|
6881
7065
|
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
@@ -6892,16 +7076,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6892
7076
|
shownToUser: false
|
|
6893
7077
|
}]
|
|
6894
7078
|
});
|
|
6895
|
-
|
|
7079
|
+
_this42.meetingFiniteStateMachine.fail(error);
|
|
6896
7080
|
_loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
|
|
6897
7081
|
// upload logs on leave irrespective of meeting delete
|
|
6898
|
-
_triggerProxy.default.trigger(
|
|
7082
|
+
_triggerProxy.default.trigger(_this42, {
|
|
6899
7083
|
file: 'meeting/index',
|
|
6900
7084
|
function: 'leave'
|
|
6901
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7085
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this42);
|
|
6902
7086
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
|
6903
|
-
correlation_id:
|
|
6904
|
-
locus_id:
|
|
7087
|
+
correlation_id: _this42.correlationId,
|
|
7088
|
+
locus_id: _this42.locusUrl.split('/').pop(),
|
|
6905
7089
|
reason: error.message,
|
|
6906
7090
|
stack: error.stack,
|
|
6907
7091
|
code: error.code
|
|
@@ -6921,7 +7105,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6921
7105
|
}, {
|
|
6922
7106
|
key: "startWhiteboardShare",
|
|
6923
7107
|
value: function startWhiteboardShare(channelUrl, resourceToken) {
|
|
6924
|
-
var
|
|
7108
|
+
var _this43 = this;
|
|
6925
7109
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
6926
7110
|
return element.name === 'whiteboard';
|
|
6927
7111
|
});
|
|
@@ -6950,13 +7134,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6950
7134
|
body.resourceToken = resourceToken;
|
|
6951
7135
|
}
|
|
6952
7136
|
return this.meetingRequest.changeMeetingFloor(body).then(function () {
|
|
6953
|
-
|
|
7137
|
+
_this43.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
6954
7138
|
return _promise.default.resolve();
|
|
6955
7139
|
}).catch(function (error) {
|
|
6956
7140
|
_loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
|
|
6957
7141
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
|
|
6958
|
-
correlation_id:
|
|
6959
|
-
locus_id:
|
|
7142
|
+
correlation_id: _this43.correlationId,
|
|
7143
|
+
locus_id: _this43.locusUrl.split('/').pop(),
|
|
6960
7144
|
reason: error.message,
|
|
6961
7145
|
stack: error.stack,
|
|
6962
7146
|
board: {
|
|
@@ -6979,7 +7163,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6979
7163
|
}, {
|
|
6980
7164
|
key: "stopWhiteboardShare",
|
|
6981
7165
|
value: function stopWhiteboardShare(channelUrl) {
|
|
6982
|
-
var
|
|
7166
|
+
var _this44 = this;
|
|
6983
7167
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
6984
7168
|
return element.name === 'whiteboard';
|
|
6985
7169
|
});
|
|
@@ -7002,8 +7186,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7002
7186
|
}).catch(function (error) {
|
|
7003
7187
|
_loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
|
|
7004
7188
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
7005
|
-
correlation_id:
|
|
7006
|
-
locus_id:
|
|
7189
|
+
correlation_id: _this44.correlationId,
|
|
7190
|
+
locus_id: _this44.locusUrl.split('/').pop(),
|
|
7007
7191
|
reason: error.message,
|
|
7008
7192
|
stack: error.stack,
|
|
7009
7193
|
board: {
|
|
@@ -7025,7 +7209,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7025
7209
|
}, {
|
|
7026
7210
|
key: "requestScreenShareFloor",
|
|
7027
7211
|
value: function requestScreenShareFloor() {
|
|
7028
|
-
var
|
|
7212
|
+
var _this45 = this;
|
|
7029
7213
|
if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
|
|
7030
7214
|
_loggerProxy.default.logger.log("Meeting:index#requestScreenShareFloor --> NOT requesting floor, because we don't have the share stream anymore (shareStream=".concat(this.mediaProperties.shareVideoStream ? 'yes' : 'no', ", sendShare=").concat(this.mediaProperties.mediaDirection.sendShare, ")"));
|
|
7031
7215
|
this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
@@ -7056,34 +7240,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7056
7240
|
resourceUrl: this.resourceUrl,
|
|
7057
7241
|
shareInstanceId: this.localShareInstanceId
|
|
7058
7242
|
}).then(function () {
|
|
7059
|
-
|
|
7243
|
+
_this45.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
|
7060
7244
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
|
|
7061
|
-
correlation_id:
|
|
7062
|
-
locus_id:
|
|
7245
|
+
correlation_id: _this45.correlationId,
|
|
7246
|
+
locus_id: _this45.locusUrl.split('/').pop()
|
|
7063
7247
|
});
|
|
7064
7248
|
return _promise.default.resolve();
|
|
7065
7249
|
}).catch(function (error) {
|
|
7066
7250
|
_loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
|
|
7067
7251
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
|
|
7068
|
-
correlation_id:
|
|
7069
|
-
locus_id:
|
|
7252
|
+
correlation_id: _this45.correlationId,
|
|
7253
|
+
locus_id: _this45.locusUrl.split('/').pop(),
|
|
7070
7254
|
reason: error.message,
|
|
7071
7255
|
stack: error.stack
|
|
7072
7256
|
});
|
|
7073
7257
|
|
|
7074
7258
|
// @ts-ignore
|
|
7075
|
-
|
|
7259
|
+
_this45.webex.internal.newMetrics.submitClientEvent({
|
|
7076
7260
|
name: 'client.share.floor-granted.local',
|
|
7077
7261
|
payload: {
|
|
7078
7262
|
mediaType: 'share',
|
|
7079
|
-
errors:
|
|
7080
|
-
shareInstanceId:
|
|
7263
|
+
errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
|
|
7264
|
+
shareInstanceId: _this45.localShareInstanceId
|
|
7081
7265
|
},
|
|
7082
7266
|
options: {
|
|
7083
|
-
meetingId:
|
|
7267
|
+
meetingId: _this45.id
|
|
7084
7268
|
}
|
|
7085
7269
|
});
|
|
7086
|
-
|
|
7270
|
+
_this45.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
7087
7271
|
return _promise.default.reject(error);
|
|
7088
7272
|
});
|
|
7089
7273
|
}
|
|
@@ -7106,10 +7290,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7106
7290
|
}, {
|
|
7107
7291
|
key: "requestScreenShareFloorIfPending",
|
|
7108
7292
|
value: function requestScreenShareFloorIfPending() {
|
|
7109
|
-
var
|
|
7293
|
+
var _this46 = this;
|
|
7110
7294
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
|
7111
7295
|
this.requestScreenShareFloor().then(function () {
|
|
7112
|
-
|
|
7296
|
+
_this46.floorGrantPending = false;
|
|
7113
7297
|
});
|
|
7114
7298
|
}
|
|
7115
7299
|
}
|
|
@@ -7123,7 +7307,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7123
7307
|
}, {
|
|
7124
7308
|
key: "releaseScreenShareFloor",
|
|
7125
7309
|
value: function releaseScreenShareFloor() {
|
|
7126
|
-
var
|
|
7310
|
+
var _this47 = this;
|
|
7127
7311
|
var content = this.locusInfo.mediaShares.find(function (element) {
|
|
7128
7312
|
return element.name === _constants.CONTENT;
|
|
7129
7313
|
});
|
|
@@ -7158,8 +7342,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7158
7342
|
}).catch(function (error) {
|
|
7159
7343
|
_loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
|
|
7160
7344
|
_metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
|
|
7161
|
-
correlation_id:
|
|
7162
|
-
locus_id:
|
|
7345
|
+
correlation_id: _this47.correlationId,
|
|
7346
|
+
locus_id: _this47.locusUrl.split('/').pop(),
|
|
7163
7347
|
reason: error.message,
|
|
7164
7348
|
stack: error.stack
|
|
7165
7349
|
});
|
|
@@ -7269,7 +7453,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7269
7453
|
}, {
|
|
7270
7454
|
key: "lockMeeting",
|
|
7271
7455
|
value: function lockMeeting() {
|
|
7272
|
-
return
|
|
7456
|
+
return _util2.default.lockMeeting(this.inMeetingActions, this.meetingRequest, this.locusUrl);
|
|
7273
7457
|
}
|
|
7274
7458
|
|
|
7275
7459
|
/**
|
|
@@ -7281,7 +7465,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7281
7465
|
}, {
|
|
7282
7466
|
key: "unlockMeeting",
|
|
7283
7467
|
value: function unlockMeeting() {
|
|
7284
|
-
return
|
|
7468
|
+
return _util2.default.unlockMeeting(this.inMeetingActions, this.meetingRequest, this.locusUrl);
|
|
7285
7469
|
}
|
|
7286
7470
|
|
|
7287
7471
|
/**
|
|
@@ -7338,7 +7522,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7338
7522
|
}, {
|
|
7339
7523
|
key: "changeVideoLayout",
|
|
7340
7524
|
value: function changeVideoLayout(layoutType) {
|
|
7341
|
-
var
|
|
7525
|
+
var _this48 = this;
|
|
7342
7526
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7343
7527
|
var main = renderInfo.main,
|
|
7344
7528
|
content = renderInfo.content;
|
|
@@ -7392,7 +7576,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7392
7576
|
}
|
|
7393
7577
|
this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
|
|
7394
7578
|
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
|
|
7395
|
-
_triggerProxy.default.trigger(
|
|
7579
|
+
_triggerProxy.default.trigger(_this48, {
|
|
7396
7580
|
file: 'meeting/index',
|
|
7397
7581
|
function: 'changeVideoLayout'
|
|
7398
7582
|
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
|
|
@@ -7470,13 +7654,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7470
7654
|
}, {
|
|
7471
7655
|
key: "handleMediaLogging",
|
|
7472
7656
|
value: function handleMediaLogging(mediaProperties) {
|
|
7473
|
-
|
|
7474
|
-
|
|
7657
|
+
_util2.default.handleVideoLogging(mediaProperties.videoStream);
|
|
7658
|
+
_util2.default.handleAudioLogging(mediaProperties.audioStream);
|
|
7475
7659
|
}
|
|
7476
7660
|
|
|
7477
7661
|
/**
|
|
7478
7662
|
*
|
|
7479
|
-
* @returns {string} one of 'attendee','host','cohost', returns the user type of the current user
|
|
7663
|
+
* @returns {string} one of 'panelist', 'attendee', 'host', 'cohost', returns the user type of the current user
|
|
7480
7664
|
*/
|
|
7481
7665
|
}, {
|
|
7482
7666
|
key: "getCurUserType",
|
|
@@ -7489,8 +7673,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7489
7673
|
if (roles.includes(_constants.SELF_ROLES.COHOST)) {
|
|
7490
7674
|
return 'cohost';
|
|
7491
7675
|
}
|
|
7492
|
-
if (roles.includes(_constants.SELF_ROLES.
|
|
7493
|
-
return '
|
|
7676
|
+
if (roles.includes(_constants.SELF_ROLES.PANELIST)) {
|
|
7677
|
+
return 'panelist';
|
|
7494
7678
|
}
|
|
7495
7679
|
if (roles.includes(_constants.SELF_ROLES.ATTENDEE)) {
|
|
7496
7680
|
return 'attendee';
|
|
@@ -7508,7 +7692,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7508
7692
|
}, {
|
|
7509
7693
|
key: "endMeetingForAll",
|
|
7510
7694
|
value: function endMeetingForAll() {
|
|
7511
|
-
var
|
|
7695
|
+
var _this49 = this;
|
|
7512
7696
|
// @ts-ignore
|
|
7513
7697
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
7514
7698
|
name: 'client.call.leave',
|
|
@@ -7525,26 +7709,26 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7525
7709
|
correlation_id: this.correlationId,
|
|
7526
7710
|
locus_id: this.locusId
|
|
7527
7711
|
});
|
|
7528
|
-
return
|
|
7529
|
-
|
|
7530
|
-
|
|
7712
|
+
return _util2.default.endMeetingForAll(this).then(function (end) {
|
|
7713
|
+
_this49.meetingFiniteStateMachine.end();
|
|
7714
|
+
_this49.clearMeetingData();
|
|
7531
7715
|
// upload logs on leave irrespective of meeting delete
|
|
7532
|
-
_triggerProxy.default.trigger(
|
|
7716
|
+
_triggerProxy.default.trigger(_this49, {
|
|
7533
7717
|
file: 'meeting/index',
|
|
7534
7718
|
function: 'endMeetingForAll'
|
|
7535
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7719
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this49);
|
|
7536
7720
|
return end;
|
|
7537
7721
|
}).catch(function (error) {
|
|
7538
|
-
|
|
7722
|
+
_this49.meetingFiniteStateMachine.fail(error);
|
|
7539
7723
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
7540
7724
|
// upload logs on leave irrespective of meeting delete
|
|
7541
|
-
_triggerProxy.default.trigger(
|
|
7725
|
+
_triggerProxy.default.trigger(_this49, {
|
|
7542
7726
|
file: 'meeting/index',
|
|
7543
7727
|
function: 'endMeetingForAll'
|
|
7544
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7728
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this49);
|
|
7545
7729
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
|
7546
|
-
correlation_id:
|
|
7547
|
-
locus_id:
|
|
7730
|
+
correlation_id: _this49.correlationId,
|
|
7731
|
+
locus_id: _this49.locusUrl.split('/').pop(),
|
|
7548
7732
|
reason: error.message,
|
|
7549
7733
|
stack: error.stack,
|
|
7550
7734
|
code: error.code
|
|
@@ -7633,39 +7817,39 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7633
7817
|
}, {
|
|
7634
7818
|
key: "enableMusicMode",
|
|
7635
7819
|
value: (function () {
|
|
7636
|
-
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7637
|
-
return _regenerator.default.wrap(function
|
|
7638
|
-
while (1) switch (
|
|
7820
|
+
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee33(shouldEnableMusicMode) {
|
|
7821
|
+
return _regenerator.default.wrap(function _callee33$(_context33) {
|
|
7822
|
+
while (1) switch (_context33.prev = _context33.next) {
|
|
7639
7823
|
case 0:
|
|
7640
7824
|
this.checkMediaConnection();
|
|
7641
7825
|
if (this.isMultistream) {
|
|
7642
|
-
|
|
7826
|
+
_context33.next = 3;
|
|
7643
7827
|
break;
|
|
7644
7828
|
}
|
|
7645
7829
|
throw new Error('enableMusicMode() only supported with multistream');
|
|
7646
7830
|
case 3:
|
|
7647
7831
|
if (!shouldEnableMusicMode) {
|
|
7648
|
-
|
|
7832
|
+
_context33.next = 8;
|
|
7649
7833
|
break;
|
|
7650
7834
|
}
|
|
7651
|
-
|
|
7835
|
+
_context33.next = 6;
|
|
7652
7836
|
return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
|
|
7653
7837
|
maxaveragebitrate: '64000',
|
|
7654
7838
|
maxplaybackrate: '48000'
|
|
7655
7839
|
});
|
|
7656
7840
|
case 6:
|
|
7657
|
-
|
|
7841
|
+
_context33.next = 10;
|
|
7658
7842
|
break;
|
|
7659
7843
|
case 8:
|
|
7660
|
-
|
|
7844
|
+
_context33.next = 10;
|
|
7661
7845
|
return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
|
|
7662
7846
|
case 10:
|
|
7663
7847
|
case "end":
|
|
7664
|
-
return
|
|
7848
|
+
return _context33.stop();
|
|
7665
7849
|
}
|
|
7666
|
-
},
|
|
7850
|
+
}, _callee33, this);
|
|
7667
7851
|
}));
|
|
7668
|
-
function enableMusicMode(
|
|
7852
|
+
function enableMusicMode(_x33) {
|
|
7669
7853
|
return _enableMusicMode.apply(this, arguments);
|
|
7670
7854
|
}
|
|
7671
7855
|
return enableMusicMode;
|
|
@@ -7686,7 +7870,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7686
7870
|
_this$mediaProperties48,
|
|
7687
7871
|
_this$mediaProperties49,
|
|
7688
7872
|
_this$mediaProperties50,
|
|
7689
|
-
|
|
7873
|
+
_this50 = this;
|
|
7690
7874
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
7691
7875
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
7692
7876
|
if (!this.canUpdateMedia()) {
|
|
@@ -7711,8 +7895,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7711
7895
|
}).catch(function (error) {
|
|
7712
7896
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
|
|
7713
7897
|
_metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
|
|
7714
|
-
correlation_id:
|
|
7715
|
-
locus_id:
|
|
7898
|
+
correlation_id: _this50.correlationId,
|
|
7899
|
+
locus_id: _this50.locusUrl.split('/').pop(),
|
|
7716
7900
|
reason: error.message,
|
|
7717
7901
|
stack: error.stack
|
|
7718
7902
|
});
|
|
@@ -7720,6 +7904,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7720
7904
|
});
|
|
7721
7905
|
}
|
|
7722
7906
|
|
|
7907
|
+
/**
|
|
7908
|
+
* set sending named media group which the audio should send to
|
|
7909
|
+
* @param {MediaType} mediaType of the stream
|
|
7910
|
+
* @param {number} languageCode of the stream
|
|
7911
|
+
* @returns {void}
|
|
7912
|
+
*/
|
|
7913
|
+
}, {
|
|
7914
|
+
key: "setSendNamedMediaGroup",
|
|
7915
|
+
value: function setSendNamedMediaGroup(mediaType) {
|
|
7916
|
+
var languageCode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
7917
|
+
if (mediaType !== _internalMediaCore.MediaType.AudioMain) {
|
|
7918
|
+
throw new Error("cannot set send named media group which media type is ".concat(mediaType));
|
|
7919
|
+
}
|
|
7920
|
+
var value = languageCode || this.simultaneousInterpretation.getTargetLanguageCode();
|
|
7921
|
+
var groups = [];
|
|
7922
|
+
if (value) {
|
|
7923
|
+
groups = [{
|
|
7924
|
+
type: _constants.NAMED_MEDIA_GROUP_TYPE_AUDIO,
|
|
7925
|
+
value: value
|
|
7926
|
+
}];
|
|
7927
|
+
}
|
|
7928
|
+
if (this.isMultistream && this.mediaProperties.webrtcMediaConnection) {
|
|
7929
|
+
this.sendSlotManager.setNamedMediaGroups(mediaType, groups);
|
|
7930
|
+
}
|
|
7931
|
+
}
|
|
7932
|
+
|
|
7723
7933
|
/**
|
|
7724
7934
|
* Publishes a stream.
|
|
7725
7935
|
*
|
|
@@ -7730,25 +7940,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7730
7940
|
}, {
|
|
7731
7941
|
key: "publishStream",
|
|
7732
7942
|
value: (function () {
|
|
7733
|
-
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7734
|
-
return _regenerator.default.wrap(function
|
|
7735
|
-
while (1) switch (
|
|
7943
|
+
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee34(mediaType, stream) {
|
|
7944
|
+
return _regenerator.default.wrap(function _callee34$(_context34) {
|
|
7945
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
7736
7946
|
case 0:
|
|
7737
7947
|
if (stream) {
|
|
7738
|
-
|
|
7948
|
+
_context34.next = 2;
|
|
7739
7949
|
break;
|
|
7740
7950
|
}
|
|
7741
|
-
return
|
|
7951
|
+
return _context34.abrupt("return");
|
|
7742
7952
|
case 2:
|
|
7743
7953
|
if (!this.mediaProperties.webrtcMediaConnection) {
|
|
7744
|
-
|
|
7954
|
+
_context34.next = 7;
|
|
7745
7955
|
break;
|
|
7746
7956
|
}
|
|
7747
7957
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
7748
|
-
|
|
7958
|
+
_context34.next = 6;
|
|
7749
7959
|
break;
|
|
7750
7960
|
}
|
|
7751
|
-
|
|
7961
|
+
_context34.next = 6;
|
|
7752
7962
|
return this.sendSlotManager.publishStream(mediaType, stream);
|
|
7753
7963
|
case 6:
|
|
7754
7964
|
this.emitPublishStateChangeEvent({
|
|
@@ -7759,11 +7969,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7759
7969
|
});
|
|
7760
7970
|
case 7:
|
|
7761
7971
|
case "end":
|
|
7762
|
-
return
|
|
7972
|
+
return _context34.stop();
|
|
7763
7973
|
}
|
|
7764
|
-
},
|
|
7974
|
+
}, _callee34, this);
|
|
7765
7975
|
}));
|
|
7766
|
-
function publishStream(
|
|
7976
|
+
function publishStream(_x34, _x35) {
|
|
7767
7977
|
return _publishStream.apply(this, arguments);
|
|
7768
7978
|
}
|
|
7769
7979
|
return publishStream;
|
|
@@ -7779,21 +7989,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7779
7989
|
}, {
|
|
7780
7990
|
key: "unpublishStream",
|
|
7781
7991
|
value: (function () {
|
|
7782
|
-
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7783
|
-
return _regenerator.default.wrap(function
|
|
7784
|
-
while (1) switch (
|
|
7992
|
+
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee35(mediaType, stream) {
|
|
7993
|
+
return _regenerator.default.wrap(function _callee35$(_context35) {
|
|
7994
|
+
while (1) switch (_context35.prev = _context35.next) {
|
|
7785
7995
|
case 0:
|
|
7786
7996
|
if (stream) {
|
|
7787
|
-
|
|
7997
|
+
_context35.next = 2;
|
|
7788
7998
|
break;
|
|
7789
7999
|
}
|
|
7790
|
-
return
|
|
8000
|
+
return _context35.abrupt("return");
|
|
7791
8001
|
case 2:
|
|
7792
8002
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
7793
|
-
|
|
8003
|
+
_context35.next = 5;
|
|
7794
8004
|
break;
|
|
7795
8005
|
}
|
|
7796
|
-
|
|
8006
|
+
_context35.next = 5;
|
|
7797
8007
|
return this.sendSlotManager.unpublishStream(mediaType);
|
|
7798
8008
|
case 5:
|
|
7799
8009
|
this.emitPublishStateChangeEvent({
|
|
@@ -7804,11 +8014,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7804
8014
|
});
|
|
7805
8015
|
case 6:
|
|
7806
8016
|
case "end":
|
|
7807
|
-
return
|
|
8017
|
+
return _context35.stop();
|
|
7808
8018
|
}
|
|
7809
|
-
},
|
|
8019
|
+
}, _callee35, this);
|
|
7810
8020
|
}));
|
|
7811
|
-
function unpublishStream(
|
|
8021
|
+
function unpublishStream(_x36, _x37) {
|
|
7812
8022
|
return _unpublishStream.apply(this, arguments);
|
|
7813
8023
|
}
|
|
7814
8024
|
return unpublishStream;
|
|
@@ -7823,61 +8033,67 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7823
8033
|
}, {
|
|
7824
8034
|
key: "publishStreams",
|
|
7825
8035
|
value: (function () {
|
|
7826
|
-
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7827
|
-
var _streams$screenShare, _streams$screenShare2, _streams$screenShare3, _streams$screenShare4;
|
|
7828
|
-
var floorRequestNeeded, _streams$
|
|
7829
|
-
return _regenerator.default.wrap(function
|
|
7830
|
-
while (1) switch (
|
|
8036
|
+
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee36(streams) {
|
|
8037
|
+
var _streams$screenShare, _streams$screenShare2, _streams$microphone, _streams$camera, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6, _streams$screenShare7, _streams$screenShare8;
|
|
8038
|
+
var floorRequestNeeded, _streams$screenShare9;
|
|
8039
|
+
return _regenerator.default.wrap(function _callee36$(_context36) {
|
|
8040
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
7831
8041
|
case 0:
|
|
7832
8042
|
this.checkMediaConnection();
|
|
7833
8043
|
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))) {
|
|
7834
|
-
|
|
8044
|
+
_context36.next = 3;
|
|
7835
8045
|
break;
|
|
7836
8046
|
}
|
|
7837
|
-
return
|
|
8047
|
+
return _context36.abrupt("return");
|
|
7838
8048
|
case 3:
|
|
8049
|
+
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
|
+
_context36.next = 5;
|
|
8051
|
+
break;
|
|
8052
|
+
}
|
|
8053
|
+
throw new Error("Attempted to publish stream with ended readyState, correlationId=".concat(this.correlationId));
|
|
8054
|
+
case 5:
|
|
7839
8055
|
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
|
|
7840
|
-
if (!(this.isMultistream && (_streams$
|
|
7841
|
-
|
|
8056
|
+
if (!(this.isMultistream && (_streams$screenShare7 = streams.screenShare) !== null && _streams$screenShare7 !== void 0 && _streams$screenShare7.audio)) {
|
|
8057
|
+
_context36.next = 10;
|
|
7842
8058
|
break;
|
|
7843
8059
|
}
|
|
7844
|
-
|
|
8060
|
+
_context36.next = 9;
|
|
7845
8061
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
7846
|
-
case
|
|
8062
|
+
case 9:
|
|
7847
8063
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
7848
|
-
case
|
|
7849
|
-
if (!((_streams$
|
|
7850
|
-
|
|
8064
|
+
case 10:
|
|
8065
|
+
if (!((_streams$screenShare8 = streams.screenShare) !== null && _streams$screenShare8 !== void 0 && _streams$screenShare8.video)) {
|
|
8066
|
+
_context36.next = 14;
|
|
7851
8067
|
break;
|
|
7852
8068
|
}
|
|
7853
|
-
|
|
7854
|
-
return this.setLocalShareVideoStream((_streams$
|
|
7855
|
-
case
|
|
8069
|
+
_context36.next = 13;
|
|
8070
|
+
return this.setLocalShareVideoStream((_streams$screenShare9 = streams.screenShare) === null || _streams$screenShare9 === void 0 ? void 0 : _streams$screenShare9.video);
|
|
8071
|
+
case 13:
|
|
7856
8072
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
7857
|
-
case
|
|
8073
|
+
case 14:
|
|
7858
8074
|
if (!streams.microphone) {
|
|
7859
|
-
|
|
8075
|
+
_context36.next = 17;
|
|
7860
8076
|
break;
|
|
7861
8077
|
}
|
|
7862
|
-
|
|
8078
|
+
_context36.next = 17;
|
|
7863
8079
|
return this.setLocalAudioStream(streams.microphone);
|
|
7864
|
-
case
|
|
8080
|
+
case 17:
|
|
7865
8081
|
if (!streams.camera) {
|
|
7866
|
-
|
|
8082
|
+
_context36.next = 20;
|
|
7867
8083
|
break;
|
|
7868
8084
|
}
|
|
7869
|
-
|
|
8085
|
+
_context36.next = 20;
|
|
7870
8086
|
return this.setLocalVideoStream(streams.camera);
|
|
7871
|
-
case
|
|
8087
|
+
case 20:
|
|
7872
8088
|
if (this.isMultistream) {
|
|
7873
|
-
|
|
8089
|
+
_context36.next = 23;
|
|
7874
8090
|
break;
|
|
7875
8091
|
}
|
|
7876
|
-
|
|
8092
|
+
_context36.next = 23;
|
|
7877
8093
|
return this.updateTranscodedMediaConnection();
|
|
7878
|
-
case
|
|
8094
|
+
case 23:
|
|
7879
8095
|
if (!floorRequestNeeded) {
|
|
7880
|
-
|
|
8096
|
+
_context36.next = 29;
|
|
7881
8097
|
break;
|
|
7882
8098
|
}
|
|
7883
8099
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -7901,15 +8117,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7901
8117
|
// we're sending the http request to Locus to request the screen share floor
|
|
7902
8118
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
7903
8119
|
// and also if sharing from the start, we need confluence to have been created
|
|
7904
|
-
|
|
8120
|
+
_context36.next = 29;
|
|
7905
8121
|
return this.enqueueScreenShareFloorRequest();
|
|
7906
|
-
case
|
|
8122
|
+
case 29:
|
|
7907
8123
|
case "end":
|
|
7908
|
-
return
|
|
8124
|
+
return _context36.stop();
|
|
7909
8125
|
}
|
|
7910
|
-
},
|
|
8126
|
+
}, _callee36, this);
|
|
7911
8127
|
}));
|
|
7912
|
-
function publishStreams(
|
|
8128
|
+
function publishStreams(_x38) {
|
|
7913
8129
|
return _publishStreams.apply(this, arguments);
|
|
7914
8130
|
}
|
|
7915
8131
|
return publishStreams;
|
|
@@ -7924,10 +8140,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7924
8140
|
}, {
|
|
7925
8141
|
key: "unpublishStreams",
|
|
7926
8142
|
value: (function () {
|
|
7927
|
-
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8143
|
+
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee37(streams) {
|
|
7928
8144
|
var promises, _iterator, _step, stream;
|
|
7929
|
-
return _regenerator.default.wrap(function
|
|
7930
|
-
while (1) switch (
|
|
8145
|
+
return _regenerator.default.wrap(function _callee37$(_context37) {
|
|
8146
|
+
while (1) switch (_context37.prev = _context37.next) {
|
|
7931
8147
|
case 0:
|
|
7932
8148
|
this.checkMediaConnection();
|
|
7933
8149
|
promises = [];
|
|
@@ -7958,7 +8174,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7958
8174
|
if (!this.isMultistream) {
|
|
7959
8175
|
promises.push(this.updateTranscodedMediaConnection());
|
|
7960
8176
|
}
|
|
7961
|
-
|
|
8177
|
+
_context37.next = 7;
|
|
7962
8178
|
return _promise.default.all(promises);
|
|
7963
8179
|
case 7:
|
|
7964
8180
|
// we're allowing for the SDK to support just audio share as well
|
|
@@ -7979,11 +8195,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7979
8195
|
}
|
|
7980
8196
|
case 8:
|
|
7981
8197
|
case "end":
|
|
7982
|
-
return
|
|
8198
|
+
return _context37.stop();
|
|
7983
8199
|
}
|
|
7984
|
-
},
|
|
8200
|
+
}, _callee37, this);
|
|
7985
8201
|
}));
|
|
7986
|
-
function unpublishStreams(
|
|
8202
|
+
function unpublishStreams(_x39) {
|
|
7987
8203
|
return _unpublishStreams.apply(this, arguments);
|
|
7988
8204
|
}
|
|
7989
8205
|
return unpublishStreams;
|
|
@@ -8043,27 +8259,27 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8043
8259
|
}], [{
|
|
8044
8260
|
key: "handleDeviceLogging",
|
|
8045
8261
|
value: (function () {
|
|
8046
|
-
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8262
|
+
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee38() {
|
|
8047
8263
|
var devices;
|
|
8048
|
-
return _regenerator.default.wrap(function
|
|
8049
|
-
while (1) switch (
|
|
8264
|
+
return _regenerator.default.wrap(function _callee38$(_context38) {
|
|
8265
|
+
while (1) switch (_context38.prev = _context38.next) {
|
|
8050
8266
|
case 0:
|
|
8051
|
-
|
|
8052
|
-
|
|
8267
|
+
_context38.prev = 0;
|
|
8268
|
+
_context38.next = 3;
|
|
8053
8269
|
return (0, _mediaHelpers.getDevices)();
|
|
8054
8270
|
case 3:
|
|
8055
|
-
devices =
|
|
8056
|
-
|
|
8057
|
-
|
|
8271
|
+
devices = _context38.sent;
|
|
8272
|
+
_util2.default.handleDeviceLogging(devices);
|
|
8273
|
+
_context38.next = 9;
|
|
8058
8274
|
break;
|
|
8059
8275
|
case 7:
|
|
8060
|
-
|
|
8061
|
-
|
|
8276
|
+
_context38.prev = 7;
|
|
8277
|
+
_context38.t0 = _context38["catch"](0);
|
|
8062
8278
|
case 9:
|
|
8063
8279
|
case "end":
|
|
8064
|
-
return
|
|
8280
|
+
return _context38.stop();
|
|
8065
8281
|
}
|
|
8066
|
-
},
|
|
8282
|
+
}, _callee38, null, [[0, 7]]);
|
|
8067
8283
|
}));
|
|
8068
8284
|
function handleDeviceLogging() {
|
|
8069
8285
|
return _handleDeviceLogging.apply(this, arguments);
|