@webex/plugin-meetings 3.10.0-next.8 → 3.10.0-webex-services-ready.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/annotation/annotation.types.js.map +1 -1
- package/dist/annotation/constants.js.map +1 -1
- package/dist/annotation/index.js +19 -22
- package/dist/annotation/index.js.map +1 -1
- package/dist/breakouts/breakout.js +6 -6
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/collection.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +9 -11
- package/dist/breakouts/edit-lock-error.js.map +1 -1
- package/dist/breakouts/events.js.map +1 -1
- package/dist/breakouts/index.js +126 -127
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/request.js +6 -8
- package/dist/breakouts/request.js.map +1 -1
- package/dist/breakouts/utils.js.map +1 -1
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +1 -2
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +9 -11
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +10 -12
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-forbidden-error.js +10 -12
- package/dist/common/errors/join-forbidden-error.js.map +1 -1
- package/dist/common/errors/join-meeting.js +10 -12
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/join-webinar-error.js +9 -11
- package/dist/common/errors/join-webinar-error.js.map +1 -1
- package/dist/common/errors/media.js +9 -11
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/multistream-not-supported-error.js +9 -11
- package/dist/common/errors/multistream-not-supported-error.js.map +1 -1
- package/dist/common/errors/no-meeting-info.js +9 -11
- package/dist/common/errors/no-meeting-info.js.map +1 -1
- package/dist/common/errors/parameter.js +11 -14
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +9 -11
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +9 -11
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reclaim-host-role-errors.js +32 -38
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -1
- package/dist/common/errors/reconnection-not-started.js +5 -6
- package/dist/common/errors/reconnection-not-started.js.map +1 -1
- package/dist/common/errors/reconnection.js +9 -11
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +9 -11
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +20 -29
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +9 -12
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +9 -10
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +9 -10
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +17 -17
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +1 -2
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +0 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +11 -8
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +1 -2
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.js.map +1 -1
- package/dist/controls-options-manager/util.js +1 -2
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/hashTree/constants.js +20 -0
- package/dist/hashTree/constants.js.map +1 -0
- package/dist/hashTree/hashTree.js +515 -0
- package/dist/hashTree/hashTree.js.map +1 -0
- package/dist/hashTree/hashTreeParser.js +1266 -0
- package/dist/hashTree/hashTreeParser.js.map +1 -0
- package/dist/hashTree/types.js +21 -0
- package/dist/hashTree/types.js.map +1 -0
- package/dist/hashTree/utils.js +48 -0
- package/dist/hashTree/utils.js.map +1 -0
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js.map +1 -1
- package/dist/interceptors/locusRetry.js +6 -8
- package/dist/interceptors/locusRetry.js.map +1 -1
- package/dist/interceptors/locusRouteToken.js +6 -8
- package/dist/interceptors/locusRouteToken.js.map +1 -1
- package/dist/interpretation/collection.js.map +1 -1
- package/dist/interpretation/index.js +1 -2
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/interpretation/siLanguage.js.map +1 -1
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +551 -94
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +3 -4
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/locus-info/types.js +7 -0
- package/dist/locus-info/types.js.map +1 -0
- package/dist/media/MediaConnectionAwaiter.js +1 -2
- package/dist/media/MediaConnectionAwaiter.js.map +1 -1
- package/dist/media/index.js +0 -2
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +15 -17
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js.map +1 -1
- package/dist/meeting/brbState.js +8 -9
- package/dist/meeting/brbState.js.map +1 -1
- package/dist/meeting/connectionStateHandler.js +10 -13
- package/dist/meeting/connectionStateHandler.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +1555 -1527
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +13 -17
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +11 -12
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +101 -104
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/type.js.map +1 -1
- package/dist/meeting/util.js +24 -23
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting/voicea-meeting.js +3 -3
- package/dist/meeting/voicea-meeting.js.map +1 -1
- package/dist/meeting-info/collection.js +7 -10
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +1 -2
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +135 -146
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +1 -2
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +36 -37
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +30 -31
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +6 -8
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +179 -141
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js.map +1 -1
- package/dist/meetings/request.js +6 -8
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +25 -23
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +1 -2
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +6 -3
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +1 -2
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +18 -21
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +8 -11
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js.map +1 -1
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +3 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +3 -4
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +1 -2
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +34 -45
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +8 -9
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +12 -15
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +1 -2
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +122 -123
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +29 -30
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/personal-meeting-room/index.js +16 -19
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +7 -10
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/clusterReachability.js +56 -373
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +203 -205
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/reachability.types.js +14 -1
- package/dist/reachability/reachability.types.js.map +1 -1
- package/dist/reachability/reachabilityPeerConnection.js +445 -0
- package/dist/reachability/reachabilityPeerConnection.js.map +1 -0
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.js.map +1 -1
- package/dist/reactions/constants.js.map +1 -1
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +178 -176
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.js +1 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +12 -15
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +24 -26
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +75 -76
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/roap/types.js.map +1 -1
- package/dist/transcription/index.js +4 -5
- package/dist/transcription/index.js.map +1 -1
- package/dist/types/constants.d.ts +26 -21
- package/dist/types/hashTree/constants.d.ts +8 -0
- package/dist/types/hashTree/hashTree.d.ts +129 -0
- package/dist/types/hashTree/hashTreeParser.d.ts +260 -0
- package/dist/types/hashTree/types.d.ts +25 -0
- package/dist/types/hashTree/utils.d.ts +9 -0
- package/dist/types/locus-info/index.d.ts +91 -42
- package/dist/types/locus-info/types.d.ts +46 -0
- package/dist/types/meeting/index.d.ts +22 -9
- package/dist/types/meetings/index.d.ts +9 -2
- package/dist/types/metrics/constants.d.ts +2 -0
- package/dist/types/reachability/clusterReachability.d.ts +10 -88
- package/dist/types/reachability/reachability.types.d.ts +12 -1
- package/dist/types/reachability/reachabilityPeerConnection.d.ts +111 -0
- package/dist/webinar/collection.js +1 -2
- package/dist/webinar/collection.js.map +1 -1
- package/dist/webinar/index.js +148 -158
- package/dist/webinar/index.js.map +1 -1
- package/package.json +22 -21
- package/src/constants.ts +13 -1
- package/src/hashTree/constants.ts +9 -0
- package/src/hashTree/hashTree.ts +463 -0
- package/src/hashTree/hashTreeParser.ts +1161 -0
- package/src/hashTree/types.ts +30 -0
- package/src/hashTree/utils.ts +42 -0
- package/src/locus-info/index.ts +556 -85
- package/src/locus-info/types.ts +48 -0
- package/src/meeting/index.ts +58 -26
- package/src/meeting/util.ts +1 -0
- package/src/meetings/index.ts +104 -51
- package/src/metrics/constants.ts +2 -0
- package/src/reachability/clusterReachability.ts +50 -347
- package/src/reachability/reachability.types.ts +15 -1
- package/src/reachability/reachabilityPeerConnection.ts +416 -0
- package/test/unit/spec/hashTree/hashTree.ts +655 -0
- package/test/unit/spec/hashTree/hashTreeParser.ts +1532 -0
- package/test/unit/spec/hashTree/utils.ts +103 -0
- package/test/unit/spec/locus-info/index.js +667 -1
- package/test/unit/spec/meeting/index.js +91 -20
- package/test/unit/spec/meeting/utils.js +77 -0
- package/test/unit/spec/meetings/index.js +71 -26
- package/test/unit/spec/reachability/clusterReachability.ts +281 -138
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_tsSdp","require","_lodash","_metrics","_interopRequireDefault","_constants","_loggerProxy","_MediaConnectionAwaiter","_constants2","_createForOfIteratorHelper","o","allowArrayLike","it","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","ownKeys","r","t","_Object$keys2","_Object$getOwnPropertySymbols","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MediaProperties","exports","_this","_classCallCheck2","MEETINGS","webrtcMediaConnection","mediaDirection","receiveAudio","receiveVideo","receiveShare","sendAudio","sendVideo","sendShare","videoStream","audioStream","shareVideoStream","shareAudioStream","remoteShareStream","undefined","remoteAudioStream","remoteVideoStream","remoteQualityLevel","QUALITY_LEVELS","HIGH","mediaSettings","videoDeviceId","throttledSendMediaIssueMetric","throttle","eventPayload","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","MEDIA_ISSUE_DETECTED","_keys","mediaIssueCounters","key","_createClass2","getVideoDeviceId","setMediaDirection","setMediaSettings","type","values","setMediaPeerConnection","mediaPeerConnection","setLocalVideoStream","setLocalAudioStream","setLocalShareVideoStream","setLocalShareAudioStream","setRemoteQualityLevel","setRemoteShareStream","setRemoteAudioStream","setRemoteVideoStream","setVideoDeviceId","deviceId","unsetPeerConnection","flush","unsetRemoteMedia","unsetRemoteShareStream","unsetRemoteStreams","hasLocalShareStream","waitForMediaConnectionConnected","mediaConnectionAwaiter","MediaConnectionAwaiter","getTransportInfo","allStatsReports","transports","report","LoggerProxy","logger","warn","concat","selectedCandidatePairChanges","numTransports","isIPv6","ip","includes","getConnectionIpVersion","selectedCandidatePair","selectedCandidatePairId","find","id","selected","localCandidate","localCandidateId","address","localSdp","localDescription","sdp","parsedSdp","parse","_iterator","avMedia","_step","mediaLine","matchingCandidate","iceInfo","candidates","candidate","port","connectionAddress","error","_transports$","getConnectionType","successfulCandidatePairs","_report$state","state","toLowerCase","foundConnectionType","some","pair","connectionType","relayProtocol","toUpperCase","_localCandidate$proto","protocol","candidateType","candidatePairStates","map","_stringify","_getCurrentConnectionInfo","_asyncToGenerator2","_regenerator","mark","_callee","_this2","_this$webrtcMediaConn","_this$webrtcMediaConn2","rtcPeerconnection","ipVersion","_this$getTransportInf","wrap","_callee$","_context","prev","_promise","resolve","reject","timeout","setTimeout","Error","getStats","then","statsResult","clearTimeout","catch","multistreamConnection","pc","mediaConnection","abrupt","t0","stop","getCurrentConnectionInfo","sendMediaIssueMetric","issueType","issueSubType","correlationId","count"],"sources":["properties.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport {\n LocalCameraStream,\n LocalMicrophoneStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n RemoteStream,\n} from '@webex/media-helpers';\n\nimport {parse} from '@webex/ts-sdp';\nimport {ClientEvent} from '@webex/internal-plugin-metrics';\nimport {throttle} from 'lodash';\nimport Metrics from '../metrics';\nimport {MEETINGS, QUALITY_LEVELS} from '../constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport MediaConnectionAwaiter from './MediaConnectionAwaiter';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nexport type MediaDirection = {\n sendAudio: boolean;\n sendVideo: boolean;\n sendShare: boolean;\n receiveAudio: boolean;\n receiveVideo: boolean;\n receiveShare: boolean;\n};\n\nexport type IPVersion = ClientEvent['payload']['ipVersion'];\n\n/**\n * @class MediaProperties\n */\nexport default class MediaProperties {\n audioStream?: LocalMicrophoneStream;\n mediaDirection: MediaDirection;\n mediaSettings: any;\n webrtcMediaConnection: any;\n remoteAudioStream: RemoteStream;\n remoteQualityLevel: any;\n remoteShareStream: RemoteStream;\n remoteVideoStream: RemoteStream;\n shareVideoStream?: LocalDisplayStream;\n shareAudioStream?: LocalSystemAudioStream;\n videoDeviceId: any;\n videoStream?: LocalCameraStream;\n namespace = MEETINGS;\n mediaIssueCounters: {[key: string]: number} = {};\n throttledSendMediaIssueMetric: ReturnType<typeof throttle>;\n\n /**\n * @param {Object} [options] -- to auto construct\n * @returns {MediaProperties}\n */\n constructor() {\n this.webrtcMediaConnection = null;\n this.mediaDirection = {\n receiveAudio: false,\n receiveVideo: false,\n receiveShare: false,\n sendAudio: false,\n sendVideo: false,\n sendShare: false,\n };\n this.videoStream = null;\n this.audioStream = null;\n this.shareVideoStream = null;\n this.shareAudioStream = null;\n this.remoteShareStream = undefined;\n this.remoteAudioStream = undefined;\n this.remoteVideoStream = undefined;\n this.remoteQualityLevel = QUALITY_LEVELS.HIGH;\n this.mediaSettings = {};\n this.videoDeviceId = null;\n\n this.throttledSendMediaIssueMetric = throttle((eventPayload) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEDIA_ISSUE_DETECTED, {\n ...eventPayload,\n });\n Object.keys(this.mediaIssueCounters).forEach((key) => {\n this.mediaIssueCounters[key] = 0;\n });\n }, 1000 * 60 * 5); // at most once every 5 minutes\n }\n\n /**\n * Retrieves the preferred video input device\n * @returns {Object|null}\n */\n getVideoDeviceId() {\n return this.videoDeviceId || null;\n }\n\n setMediaDirection(mediaDirection) {\n this.mediaDirection = mediaDirection;\n }\n\n setMediaSettings(type, values) {\n this.mediaSettings[type] = values;\n }\n\n setMediaPeerConnection(mediaPeerConnection) {\n this.webrtcMediaConnection = mediaPeerConnection;\n }\n\n setLocalVideoStream(videoStream?: LocalCameraStream) {\n this.videoStream = videoStream;\n }\n\n setLocalAudioStream(audioStream?: LocalMicrophoneStream) {\n this.audioStream = audioStream;\n }\n\n setLocalShareVideoStream(shareVideoStream?: LocalDisplayStream) {\n this.shareVideoStream = shareVideoStream;\n }\n\n setLocalShareAudioStream(shareAudioStream?: LocalSystemAudioStream) {\n this.shareAudioStream = shareAudioStream;\n }\n\n setRemoteQualityLevel(remoteQualityLevel) {\n this.remoteQualityLevel = remoteQualityLevel;\n }\n\n setRemoteShareStream(remoteShareStream: RemoteStream) {\n this.remoteShareStream = remoteShareStream;\n }\n\n /**\n * Sets the remote audio stream\n * @param {RemoteStream} remoteAudioStream RemoteStream to save\n * @returns {void}\n */\n setRemoteAudioStream(remoteAudioStream: RemoteStream) {\n this.remoteAudioStream = remoteAudioStream;\n }\n\n /**\n * Sets the remote video stream\n * @param {RemoteStream} remoteVideoStream RemoteStream to save\n * @returns {void}\n */\n setRemoteVideoStream(remoteVideoStream: RemoteStream) {\n this.remoteVideoStream = remoteVideoStream;\n }\n\n /**\n * Stores the preferred video input device\n * @param {string} deviceId Preferred video input device\n * @returns {void}\n */\n setVideoDeviceId(deviceId: string) {\n this.videoDeviceId = deviceId;\n }\n\n /**\n * Clears the webrtcMediaConnection. This method should be called after\n * peer connection is closed and no longer needed.\n * @returns {void}\n */\n unsetPeerConnection() {\n this.webrtcMediaConnection = null;\n this.throttledSendMediaIssueMetric.flush();\n }\n\n /**\n * Removes both remote audio and video from class instance\n * @returns {void}\n */\n unsetRemoteMedia() {\n this.remoteAudioStream = null;\n this.remoteVideoStream = null;\n }\n\n unsetRemoteShareStream() {\n this.remoteShareStream = null;\n }\n\n /**\n * Unsets all remote streams\n * @returns {void}\n */\n unsetRemoteStreams() {\n this.unsetRemoteMedia();\n this.unsetRemoteShareStream();\n }\n\n /**\n * Returns if we have at least one local share stream or not.\n * @returns {Boolean}\n */\n hasLocalShareStream() {\n return !!(this.shareAudioStream || this.shareVideoStream);\n }\n\n /**\n * Waits for the webrtc media connection to be connected.\n *\n * @returns {Promise<void>}\n */\n waitForMediaConnectionConnected(): Promise<void> {\n const mediaConnectionAwaiter = new MediaConnectionAwaiter({\n webrtcMediaConnection: this.webrtcMediaConnection,\n });\n\n return mediaConnectionAwaiter.waitForMediaConnectionConnected();\n }\n\n /**\n * Returns ICE transport information:\n * - selectedCandidatePairChanges - number of times the selected candidate pair was changed, it should be at least 1 for successful connections\n * it will be -1 if browser doesn't supply this information\n * - numTransports - number of transports (should be 1 if we're using bundle)\n *\n * @param {Array<any>} allStatsReports array of RTC stats reports\n * @returns {Object}\n */\n private getTransportInfo(allStatsReports: any[]): {\n selectedCandidatePairChanges: number;\n numTransports: number;\n } {\n const transports = allStatsReports.filter((report) => report.type === 'transport');\n\n if (transports.length > 1) {\n LoggerProxy.logger.warn(\n `Media:properties#getSelectedCandidatePairChanges --> found more than 1 transport: ${transports.length}`\n );\n }\n\n return {\n selectedCandidatePairChanges:\n transports.length > 0 && transports[0].selectedCandidatePairChanges !== undefined\n ? transports[0].selectedCandidatePairChanges\n : -1,\n numTransports: transports.length,\n };\n }\n\n /**\n * Checks if the given IP address is IPv6\n * @param {string} ip address to check\n * @returns {boolean} true if the address is IPv6, false otherwise\n */\n private isIPv6(ip: string): boolean {\n return ip.includes(':');\n }\n\n /** Finds out if we connected using IPv4 or IPv6\n * @param {RTCPeerConnection} webrtcMediaConnection\n * @param {Array<any>} allStatsReports array of RTC stats reports\n * @returns {string} IPVersion\n */\n private getConnectionIpVersion(\n webrtcMediaConnection: RTCPeerConnection,\n allStatsReports: any[]\n ): IPVersion | undefined {\n const transports = allStatsReports.filter((report) => report.type === 'transport');\n\n let selectedCandidatePair;\n\n if (transports.length > 0 && transports[0].selectedCandidatePairId) {\n selectedCandidatePair = allStatsReports.find(\n (report) =>\n report.type === 'candidate-pair' && report.id === transports[0].selectedCandidatePairId\n );\n } else {\n // Firefox doesn't have selectedCandidatePairId, but has selected property on the candidate pair\n selectedCandidatePair = allStatsReports.find(\n (report) => report.type === 'candidate-pair' && report.selected\n );\n }\n\n if (selectedCandidatePair) {\n const localCandidate = allStatsReports.find(\n (report) =>\n report.type === 'local-candidate' && report.id === selectedCandidatePair.localCandidateId\n );\n\n if (localCandidate) {\n if (localCandidate.address) {\n return this.isIPv6(localCandidate.address) ? 'IPv6' : 'IPv4';\n }\n\n try {\n // safari doesn't have address field on the candidate, so we have to use the port to look up the candidate in the SDP\n const localSdp = webrtcMediaConnection.localDescription.sdp;\n\n const parsedSdp = parse(localSdp);\n\n for (const mediaLine of parsedSdp.avMedia) {\n const matchingCandidate = mediaLine.iceInfo.candidates.find(\n (candidate) => candidate.port === localCandidate.port\n );\n if (matchingCandidate) {\n return this.isIPv6(matchingCandidate.connectionAddress) ? 'IPv6' : 'IPv4';\n }\n }\n\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionIpVersion --> failed to find local candidate in the SDP for port ${localCandidate.port}`\n );\n } catch (error) {\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionIpVersion --> error while trying to find candidate in local SDP:`,\n error\n );\n\n return undefined;\n }\n } else {\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionIpVersion --> failed to find local candidate \"${selectedCandidatePair.localCandidateId}\" in getStats() results`\n );\n }\n } else {\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionIpVersion --> failed to find selected candidate pair in getStats() results (transports.length=${transports.length}, selectedCandidatePairId=${transports[0]?.selectedCandidatePairId})`\n );\n }\n\n return undefined;\n }\n\n /**\n * Returns the type of a connection that has been established\n * It should be 'UDP' | 'TCP' | 'TURN-TLS' | 'TURN-TCP' | 'TURN-UDP' | 'unknown'\n *\n * If connection was not established, it returns 'unknown'\n *\n * @param {Array<any>} allStatsReports array of RTC stats reports\n * @returns {string}\n */\n private getConnectionType(allStatsReports: any[]) {\n const successfulCandidatePairs = allStatsReports.filter(\n (report) => report.type === 'candidate-pair' && report.state?.toLowerCase() === 'succeeded'\n );\n\n let foundConnectionType = 'unknown';\n\n // all of the successful pairs should have the same connection type, so just return the type for the first one\n successfulCandidatePairs.some((pair) => {\n const localCandidate = allStatsReports.find(\n (report) => report.type === 'local-candidate' && report.id === pair.localCandidateId\n );\n\n if (localCandidate === undefined) {\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionType --> failed to find local candidate \"${pair.localCandidateId}\" in getStats() results`\n );\n\n return false;\n }\n\n let connectionType;\n\n if (localCandidate.relayProtocol) {\n connectionType = `TURN-${localCandidate.relayProtocol.toUpperCase()}`;\n } else {\n connectionType = localCandidate.protocol?.toUpperCase(); // it will be UDP or TCP\n }\n\n if (connectionType) {\n foundConnectionType = connectionType;\n\n return true;\n }\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionType --> missing localCandidate.protocol, candidateType=${localCandidate.candidateType}`\n );\n\n return false;\n });\n\n if (foundConnectionType === 'unknown') {\n const candidatePairStates = allStatsReports\n .filter((report) => report.type === 'candidate-pair')\n .map((report) => report.state);\n\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionType --> all candidate pair states: ${JSON.stringify(\n candidatePairStates\n )}`\n );\n }\n\n return foundConnectionType;\n }\n\n /**\n * Returns information about current webrtc media connection\n *\n * @returns {Promise<Object>}\n */\n async getCurrentConnectionInfo(): Promise<{\n connectionType: string;\n ipVersion?: IPVersion;\n selectedCandidatePairChanges: number;\n numTransports: number;\n }> {\n try {\n const allStatsReports = [];\n\n await new Promise((resolve, reject) => {\n const timeout = setTimeout(() => {\n reject(new Error('timed out'));\n }, 1000);\n\n this.webrtcMediaConnection\n .getStats()\n .then((statsResult) => {\n clearTimeout(timeout);\n statsResult.forEach((report) => allStatsReports.push(report));\n resolve(allStatsReports);\n })\n .catch((error) => {\n clearTimeout(timeout);\n reject(error);\n });\n });\n\n const connectionType = this.getConnectionType(allStatsReports);\n const rtcPeerconnection =\n this.webrtcMediaConnection.multistreamConnection?.pc.pc ||\n this.webrtcMediaConnection.mediaConnection?.pc;\n const ipVersion = this.getConnectionIpVersion(rtcPeerconnection, allStatsReports);\n const {selectedCandidatePairChanges, numTransports} = this.getTransportInfo(allStatsReports);\n\n return {\n connectionType,\n ipVersion,\n selectedCandidatePairChanges,\n numTransports,\n };\n } catch (error) {\n LoggerProxy.logger.warn(\n `Media:properties#getCurrentConnectionInfo --> getStats() failed: ${error}`\n );\n\n return {\n connectionType: 'unknown',\n ipVersion: undefined,\n selectedCandidatePairChanges: -1,\n numTransports: 0,\n };\n }\n }\n\n /**\n * Sends a metric about a media issue. Metrics are throttled so that we don't\n * send too many of them, but include a count so that we know how many issues\n * were detected.\n *\n * @param {string} issueType\n * @param {string} issueSubType\n * @param {string} correlationId\n * @returns {void}\n */\n public sendMediaIssueMetric(issueType: string, issueSubType: string, correlationId) {\n const key = `${issueType}_${issueSubType}`;\n\n const count = (this.mediaIssueCounters[key] || 0) + 1;\n\n this.mediaIssueCounters[key] = count;\n\n this.throttledSendMediaIssueMetric({\n correlationId,\n ...this.mediaIssueCounters,\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_tsSdp","require","_lodash","_metrics","_interopRequireDefault","_constants","_loggerProxy","_MediaConnectionAwaiter","_constants2","_createForOfIteratorHelper","r","e","t","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","return","_arrayLikeToArray","toString","slice","constructor","name","_Array$from","test","Array","ownKeys","_Object$keys2","_Object$getOwnPropertySymbols","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MediaProperties","exports","_this","_classCallCheck2","MEETINGS","webrtcMediaConnection","mediaDirection","receiveAudio","receiveVideo","receiveShare","sendAudio","sendVideo","sendShare","videoStream","audioStream","shareVideoStream","shareAudioStream","remoteShareStream","undefined","remoteAudioStream","remoteVideoStream","remoteQualityLevel","QUALITY_LEVELS","HIGH","mediaSettings","videoDeviceId","throttledSendMediaIssueMetric","throttle","eventPayload","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","MEDIA_ISSUE_DETECTED","_keys","mediaIssueCounters","key","_createClass2","getVideoDeviceId","setMediaDirection","setMediaSettings","type","values","setMediaPeerConnection","mediaPeerConnection","setLocalVideoStream","setLocalAudioStream","setLocalShareVideoStream","setLocalShareAudioStream","setRemoteQualityLevel","setRemoteShareStream","setRemoteAudioStream","setRemoteVideoStream","setVideoDeviceId","deviceId","unsetPeerConnection","flush","unsetRemoteMedia","unsetRemoteShareStream","unsetRemoteStreams","hasLocalShareStream","waitForMediaConnectionConnected","mediaConnectionAwaiter","MediaConnectionAwaiter","getTransportInfo","allStatsReports","transports","report","LoggerProxy","logger","warn","concat","selectedCandidatePairChanges","numTransports","isIPv6","ip","includes","getConnectionIpVersion","selectedCandidatePair","selectedCandidatePairId","find","id","selected","localCandidate","localCandidateId","address","localSdp","localDescription","sdp","parsedSdp","parse","_iterator","avMedia","_step","mediaLine","matchingCandidate","iceInfo","candidates","candidate","port","connectionAddress","err","error","_transports$","getConnectionType","successfulCandidatePairs","_report$state","state","toLowerCase","foundConnectionType","some","pair","connectionType","relayProtocol","toUpperCase","_localCandidate$proto","protocol","candidateType","candidatePairStates","map","_stringify","_getCurrentConnectionInfo","_asyncToGenerator2","_regenerator","mark","_callee","_this2","_this$webrtcMediaConn","_this$webrtcMediaConn2","rtcPeerconnection","ipVersion","_this$getTransportInf","_t","wrap","_context","prev","_promise","resolve","reject","timeout","setTimeout","Error","getStats","then","statsResult","clearTimeout","catch","multistreamConnection","pc","mediaConnection","abrupt","stop","getCurrentConnectionInfo","sendMediaIssueMetric","issueType","issueSubType","correlationId","count"],"sources":["properties.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport {\n LocalCameraStream,\n LocalMicrophoneStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n RemoteStream,\n} from '@webex/media-helpers';\n\nimport {parse} from '@webex/ts-sdp';\nimport {ClientEvent} from '@webex/internal-plugin-metrics';\nimport {throttle} from 'lodash';\nimport Metrics from '../metrics';\nimport {MEETINGS, QUALITY_LEVELS} from '../constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport MediaConnectionAwaiter from './MediaConnectionAwaiter';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nexport type MediaDirection = {\n sendAudio: boolean;\n sendVideo: boolean;\n sendShare: boolean;\n receiveAudio: boolean;\n receiveVideo: boolean;\n receiveShare: boolean;\n};\n\nexport type IPVersion = ClientEvent['payload']['ipVersion'];\n\n/**\n * @class MediaProperties\n */\nexport default class MediaProperties {\n audioStream?: LocalMicrophoneStream;\n mediaDirection: MediaDirection;\n mediaSettings: any;\n webrtcMediaConnection: any;\n remoteAudioStream: RemoteStream;\n remoteQualityLevel: any;\n remoteShareStream: RemoteStream;\n remoteVideoStream: RemoteStream;\n shareVideoStream?: LocalDisplayStream;\n shareAudioStream?: LocalSystemAudioStream;\n videoDeviceId: any;\n videoStream?: LocalCameraStream;\n namespace = MEETINGS;\n mediaIssueCounters: {[key: string]: number} = {};\n throttledSendMediaIssueMetric: ReturnType<typeof throttle>;\n\n /**\n * @param {Object} [options] -- to auto construct\n * @returns {MediaProperties}\n */\n constructor() {\n this.webrtcMediaConnection = null;\n this.mediaDirection = {\n receiveAudio: false,\n receiveVideo: false,\n receiveShare: false,\n sendAudio: false,\n sendVideo: false,\n sendShare: false,\n };\n this.videoStream = null;\n this.audioStream = null;\n this.shareVideoStream = null;\n this.shareAudioStream = null;\n this.remoteShareStream = undefined;\n this.remoteAudioStream = undefined;\n this.remoteVideoStream = undefined;\n this.remoteQualityLevel = QUALITY_LEVELS.HIGH;\n this.mediaSettings = {};\n this.videoDeviceId = null;\n\n this.throttledSendMediaIssueMetric = throttle((eventPayload) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEDIA_ISSUE_DETECTED, {\n ...eventPayload,\n });\n Object.keys(this.mediaIssueCounters).forEach((key) => {\n this.mediaIssueCounters[key] = 0;\n });\n }, 1000 * 60 * 5); // at most once every 5 minutes\n }\n\n /**\n * Retrieves the preferred video input device\n * @returns {Object|null}\n */\n getVideoDeviceId() {\n return this.videoDeviceId || null;\n }\n\n setMediaDirection(mediaDirection) {\n this.mediaDirection = mediaDirection;\n }\n\n setMediaSettings(type, values) {\n this.mediaSettings[type] = values;\n }\n\n setMediaPeerConnection(mediaPeerConnection) {\n this.webrtcMediaConnection = mediaPeerConnection;\n }\n\n setLocalVideoStream(videoStream?: LocalCameraStream) {\n this.videoStream = videoStream;\n }\n\n setLocalAudioStream(audioStream?: LocalMicrophoneStream) {\n this.audioStream = audioStream;\n }\n\n setLocalShareVideoStream(shareVideoStream?: LocalDisplayStream) {\n this.shareVideoStream = shareVideoStream;\n }\n\n setLocalShareAudioStream(shareAudioStream?: LocalSystemAudioStream) {\n this.shareAudioStream = shareAudioStream;\n }\n\n setRemoteQualityLevel(remoteQualityLevel) {\n this.remoteQualityLevel = remoteQualityLevel;\n }\n\n setRemoteShareStream(remoteShareStream: RemoteStream) {\n this.remoteShareStream = remoteShareStream;\n }\n\n /**\n * Sets the remote audio stream\n * @param {RemoteStream} remoteAudioStream RemoteStream to save\n * @returns {void}\n */\n setRemoteAudioStream(remoteAudioStream: RemoteStream) {\n this.remoteAudioStream = remoteAudioStream;\n }\n\n /**\n * Sets the remote video stream\n * @param {RemoteStream} remoteVideoStream RemoteStream to save\n * @returns {void}\n */\n setRemoteVideoStream(remoteVideoStream: RemoteStream) {\n this.remoteVideoStream = remoteVideoStream;\n }\n\n /**\n * Stores the preferred video input device\n * @param {string} deviceId Preferred video input device\n * @returns {void}\n */\n setVideoDeviceId(deviceId: string) {\n this.videoDeviceId = deviceId;\n }\n\n /**\n * Clears the webrtcMediaConnection. This method should be called after\n * peer connection is closed and no longer needed.\n * @returns {void}\n */\n unsetPeerConnection() {\n this.webrtcMediaConnection = null;\n this.throttledSendMediaIssueMetric.flush();\n }\n\n /**\n * Removes both remote audio and video from class instance\n * @returns {void}\n */\n unsetRemoteMedia() {\n this.remoteAudioStream = null;\n this.remoteVideoStream = null;\n }\n\n unsetRemoteShareStream() {\n this.remoteShareStream = null;\n }\n\n /**\n * Unsets all remote streams\n * @returns {void}\n */\n unsetRemoteStreams() {\n this.unsetRemoteMedia();\n this.unsetRemoteShareStream();\n }\n\n /**\n * Returns if we have at least one local share stream or not.\n * @returns {Boolean}\n */\n hasLocalShareStream() {\n return !!(this.shareAudioStream || this.shareVideoStream);\n }\n\n /**\n * Waits for the webrtc media connection to be connected.\n *\n * @returns {Promise<void>}\n */\n waitForMediaConnectionConnected(): Promise<void> {\n const mediaConnectionAwaiter = new MediaConnectionAwaiter({\n webrtcMediaConnection: this.webrtcMediaConnection,\n });\n\n return mediaConnectionAwaiter.waitForMediaConnectionConnected();\n }\n\n /**\n * Returns ICE transport information:\n * - selectedCandidatePairChanges - number of times the selected candidate pair was changed, it should be at least 1 for successful connections\n * it will be -1 if browser doesn't supply this information\n * - numTransports - number of transports (should be 1 if we're using bundle)\n *\n * @param {Array<any>} allStatsReports array of RTC stats reports\n * @returns {Object}\n */\n private getTransportInfo(allStatsReports: any[]): {\n selectedCandidatePairChanges: number;\n numTransports: number;\n } {\n const transports = allStatsReports.filter((report) => report.type === 'transport');\n\n if (transports.length > 1) {\n LoggerProxy.logger.warn(\n `Media:properties#getSelectedCandidatePairChanges --> found more than 1 transport: ${transports.length}`\n );\n }\n\n return {\n selectedCandidatePairChanges:\n transports.length > 0 && transports[0].selectedCandidatePairChanges !== undefined\n ? transports[0].selectedCandidatePairChanges\n : -1,\n numTransports: transports.length,\n };\n }\n\n /**\n * Checks if the given IP address is IPv6\n * @param {string} ip address to check\n * @returns {boolean} true if the address is IPv6, false otherwise\n */\n private isIPv6(ip: string): boolean {\n return ip.includes(':');\n }\n\n /** Finds out if we connected using IPv4 or IPv6\n * @param {RTCPeerConnection} webrtcMediaConnection\n * @param {Array<any>} allStatsReports array of RTC stats reports\n * @returns {string} IPVersion\n */\n private getConnectionIpVersion(\n webrtcMediaConnection: RTCPeerConnection,\n allStatsReports: any[]\n ): IPVersion | undefined {\n const transports = allStatsReports.filter((report) => report.type === 'transport');\n\n let selectedCandidatePair;\n\n if (transports.length > 0 && transports[0].selectedCandidatePairId) {\n selectedCandidatePair = allStatsReports.find(\n (report) =>\n report.type === 'candidate-pair' && report.id === transports[0].selectedCandidatePairId\n );\n } else {\n // Firefox doesn't have selectedCandidatePairId, but has selected property on the candidate pair\n selectedCandidatePair = allStatsReports.find(\n (report) => report.type === 'candidate-pair' && report.selected\n );\n }\n\n if (selectedCandidatePair) {\n const localCandidate = allStatsReports.find(\n (report) =>\n report.type === 'local-candidate' && report.id === selectedCandidatePair.localCandidateId\n );\n\n if (localCandidate) {\n if (localCandidate.address) {\n return this.isIPv6(localCandidate.address) ? 'IPv6' : 'IPv4';\n }\n\n try {\n // safari doesn't have address field on the candidate, so we have to use the port to look up the candidate in the SDP\n const localSdp = webrtcMediaConnection.localDescription.sdp;\n\n const parsedSdp = parse(localSdp);\n\n for (const mediaLine of parsedSdp.avMedia) {\n const matchingCandidate = mediaLine.iceInfo.candidates.find(\n (candidate) => candidate.port === localCandidate.port\n );\n if (matchingCandidate) {\n return this.isIPv6(matchingCandidate.connectionAddress) ? 'IPv6' : 'IPv4';\n }\n }\n\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionIpVersion --> failed to find local candidate in the SDP for port ${localCandidate.port}`\n );\n } catch (error) {\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionIpVersion --> error while trying to find candidate in local SDP:`,\n error\n );\n\n return undefined;\n }\n } else {\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionIpVersion --> failed to find local candidate \"${selectedCandidatePair.localCandidateId}\" in getStats() results`\n );\n }\n } else {\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionIpVersion --> failed to find selected candidate pair in getStats() results (transports.length=${transports.length}, selectedCandidatePairId=${transports[0]?.selectedCandidatePairId})`\n );\n }\n\n return undefined;\n }\n\n /**\n * Returns the type of a connection that has been established\n * It should be 'UDP' | 'TCP' | 'TURN-TLS' | 'TURN-TCP' | 'TURN-UDP' | 'unknown'\n *\n * If connection was not established, it returns 'unknown'\n *\n * @param {Array<any>} allStatsReports array of RTC stats reports\n * @returns {string}\n */\n private getConnectionType(allStatsReports: any[]) {\n const successfulCandidatePairs = allStatsReports.filter(\n (report) => report.type === 'candidate-pair' && report.state?.toLowerCase() === 'succeeded'\n );\n\n let foundConnectionType = 'unknown';\n\n // all of the successful pairs should have the same connection type, so just return the type for the first one\n successfulCandidatePairs.some((pair) => {\n const localCandidate = allStatsReports.find(\n (report) => report.type === 'local-candidate' && report.id === pair.localCandidateId\n );\n\n if (localCandidate === undefined) {\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionType --> failed to find local candidate \"${pair.localCandidateId}\" in getStats() results`\n );\n\n return false;\n }\n\n let connectionType;\n\n if (localCandidate.relayProtocol) {\n connectionType = `TURN-${localCandidate.relayProtocol.toUpperCase()}`;\n } else {\n connectionType = localCandidate.protocol?.toUpperCase(); // it will be UDP or TCP\n }\n\n if (connectionType) {\n foundConnectionType = connectionType;\n\n return true;\n }\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionType --> missing localCandidate.protocol, candidateType=${localCandidate.candidateType}`\n );\n\n return false;\n });\n\n if (foundConnectionType === 'unknown') {\n const candidatePairStates = allStatsReports\n .filter((report) => report.type === 'candidate-pair')\n .map((report) => report.state);\n\n LoggerProxy.logger.warn(\n `Media:properties#getConnectionType --> all candidate pair states: ${JSON.stringify(\n candidatePairStates\n )}`\n );\n }\n\n return foundConnectionType;\n }\n\n /**\n * Returns information about current webrtc media connection\n *\n * @returns {Promise<Object>}\n */\n async getCurrentConnectionInfo(): Promise<{\n connectionType: string;\n ipVersion?: IPVersion;\n selectedCandidatePairChanges: number;\n numTransports: number;\n }> {\n try {\n const allStatsReports = [];\n\n await new Promise((resolve, reject) => {\n const timeout = setTimeout(() => {\n reject(new Error('timed out'));\n }, 1000);\n\n this.webrtcMediaConnection\n .getStats()\n .then((statsResult) => {\n clearTimeout(timeout);\n statsResult.forEach((report) => allStatsReports.push(report));\n resolve(allStatsReports);\n })\n .catch((error) => {\n clearTimeout(timeout);\n reject(error);\n });\n });\n\n const connectionType = this.getConnectionType(allStatsReports);\n const rtcPeerconnection =\n this.webrtcMediaConnection.multistreamConnection?.pc.pc ||\n this.webrtcMediaConnection.mediaConnection?.pc;\n const ipVersion = this.getConnectionIpVersion(rtcPeerconnection, allStatsReports);\n const {selectedCandidatePairChanges, numTransports} = this.getTransportInfo(allStatsReports);\n\n return {\n connectionType,\n ipVersion,\n selectedCandidatePairChanges,\n numTransports,\n };\n } catch (error) {\n LoggerProxy.logger.warn(\n `Media:properties#getCurrentConnectionInfo --> getStats() failed: ${error}`\n );\n\n return {\n connectionType: 'unknown',\n ipVersion: undefined,\n selectedCandidatePairChanges: -1,\n numTransports: 0,\n };\n }\n }\n\n /**\n * Sends a metric about a media issue. Metrics are throttled so that we don't\n * send too many of them, but include a count so that we know how many issues\n * were detected.\n *\n * @param {string} issueType\n * @param {string} issueSubType\n * @param {string} correlationId\n * @returns {void}\n */\n public sendMediaIssueMetric(issueType: string, issueSubType: string, correlationId) {\n const key = `${issueType}_${issueSubType}`;\n\n const count = (this.mediaIssueCounters[key] || 0) + 1;\n\n this.mediaIssueCounters[key] = count;\n\n this.throttledSendMediaIssueMetric({\n correlationId,\n ...this.mediaIssueCounters,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/media/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","MediaUtil","createMediaStream","tracks","LoggerProxy","logger","error","filtredTracks","filter","element","MediaStream","_default","exports","default"],"sources":["util.ts"],"sourcesContent":["/* globals MediaStream */\n\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nconst MediaUtil: any = {};\n\nMediaUtil.createMediaStream = (tracks) => {\n if (!tracks) {\n LoggerProxy.logger.error(\"Media:util#createMediaStream --> Tracks don't exist\");\n }\n const filtredTracks = tracks.filter((element) => !!element);\n\n return new MediaStream(filtredTracks);\n};\n\nexport default MediaUtil;\n"],"mappings":";;;;;;;;AAEA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAFA;;AAIA,IAAMC,SAAc,GAAG,CAAC,CAAC;AAEzBA,SAAS,CAACC,iBAAiB,GAAG,UAACC,MAAM,EAAK;EACxC,IAAI,CAACA,MAAM,EAAE;IACXC,oBAAW,CAACC,MAAM,CAACC,KAAK,CAAC,qDAAqD,CAAC;EACjF;EACA,IAAMC,aAAa,GAAGJ,MAAM,CAACK,MAAM,CAAC,UAACC,OAAO;IAAA,OAAK,CAAC,CAACA,OAAO;EAAA,EAAC;EAE3D,OAAO,IAAIC,WAAW,CAACH,aAAa,CAAC;AACvC,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaZ,SAAS"}
|
|
1
|
+
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","MediaUtil","createMediaStream","tracks","LoggerProxy","logger","error","filtredTracks","filter","element","MediaStream","_default","exports","default"],"sources":["util.ts"],"sourcesContent":["/* globals MediaStream */\n\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nconst MediaUtil: any = {};\n\nMediaUtil.createMediaStream = (tracks) => {\n if (!tracks) {\n LoggerProxy.logger.error(\"Media:util#createMediaStream --> Tracks don't exist\");\n }\n const filtredTracks = tracks.filter((element) => !!element);\n\n return new MediaStream(filtredTracks);\n};\n\nexport default MediaUtil;\n"],"mappings":";;;;;;;;AAEA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAFA;;AAIA,IAAMC,SAAc,GAAG,CAAC,CAAC;AAEzBA,SAAS,CAACC,iBAAiB,GAAG,UAACC,MAAM,EAAK;EACxC,IAAI,CAACA,MAAM,EAAE;IACXC,oBAAW,CAACC,MAAM,CAACC,KAAK,CAAC,qDAAqD,CAAC;EACjF;EACA,IAAMC,aAAa,GAAGJ,MAAM,CAACK,MAAM,CAAC,UAACC,OAAO;IAAA,OAAK,CAAC,CAACA,OAAO;EAAA,EAAC;EAE3D,OAAO,IAAIC,WAAW,CAACH,aAAa,CAAC;AACvC,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaZ,SAAS","ignoreList":[]}
|
package/dist/meeting/brbState.js
CHANGED
|
@@ -53,7 +53,7 @@ var BrbState = exports.BrbState = /*#__PURE__*/function () {
|
|
|
53
53
|
* @param {SendSlotManager} sendSlotManager
|
|
54
54
|
* @returns {Promise}
|
|
55
55
|
*/
|
|
56
|
-
(0, _createClass2.default)(BrbState, [{
|
|
56
|
+
return (0, _createClass2.default)(BrbState, [{
|
|
57
57
|
key: "enable",
|
|
58
58
|
value: function enable(enabled, sendSlotManager) {
|
|
59
59
|
var _this = this;
|
|
@@ -113,30 +113,30 @@ var BrbState = exports.BrbState = /*#__PURE__*/function () {
|
|
|
113
113
|
}, {
|
|
114
114
|
key: "sendLocalBrbStateToServer",
|
|
115
115
|
value: (function () {
|
|
116
|
-
var _sendLocalBrbStateToServer = (0, _asyncToGenerator2.default)(
|
|
116
|
+
var _sendLocalBrbStateToServer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
117
117
|
var enabled, errorMessage, error, _errorMessage, _error;
|
|
118
|
-
return _regenerator.default.wrap(function
|
|
118
|
+
return _regenerator.default.wrap(function (_context) {
|
|
119
119
|
while (1) switch (_context.prev = _context.next) {
|
|
120
120
|
case 0:
|
|
121
121
|
enabled = this.state.client.enabled;
|
|
122
122
|
if (this.meeting.isMultistream) {
|
|
123
|
-
_context.next =
|
|
123
|
+
_context.next = 1;
|
|
124
124
|
break;
|
|
125
125
|
}
|
|
126
126
|
errorMessage = 'Meeting:brbState#sendLocalBrbStateToServer: Not a multistream meeting';
|
|
127
127
|
error = new Error(errorMessage);
|
|
128
128
|
_loggerProxy.default.logger.error(error);
|
|
129
129
|
return _context.abrupt("return", _promise.default.reject(error));
|
|
130
|
-
case
|
|
130
|
+
case 1:
|
|
131
131
|
if (this.meeting.mediaProperties.webrtcMediaConnection) {
|
|
132
|
-
_context.next =
|
|
132
|
+
_context.next = 2;
|
|
133
133
|
break;
|
|
134
134
|
}
|
|
135
135
|
_errorMessage = 'Meeting:brbState#sendLocalBrbStateToServer: WebRTC media connection is not defined';
|
|
136
136
|
_error = new Error(_errorMessage);
|
|
137
137
|
_loggerProxy.default.logger.error(_error);
|
|
138
138
|
return _context.abrupt("return", _promise.default.reject(_error));
|
|
139
|
-
case
|
|
139
|
+
case 2:
|
|
140
140
|
return _context.abrupt("return", this.meeting.meetingRequest.setBrb({
|
|
141
141
|
enabled: enabled,
|
|
142
142
|
locusUrl: this.meeting.locusUrl,
|
|
@@ -146,7 +146,7 @@ var BrbState = exports.BrbState = /*#__PURE__*/function () {
|
|
|
146
146
|
_loggerProxy.default.logger.error('Meeting:brbState#sendLocalBrbStateToServer: Error ', error);
|
|
147
147
|
return _promise.default.reject(error);
|
|
148
148
|
}));
|
|
149
|
-
case
|
|
149
|
+
case 3:
|
|
150
150
|
case "end":
|
|
151
151
|
return _context.stop();
|
|
152
152
|
}
|
|
@@ -171,6 +171,5 @@ var BrbState = exports.BrbState = /*#__PURE__*/function () {
|
|
|
171
171
|
this.state.server.enabled = !!enabled;
|
|
172
172
|
}
|
|
173
173
|
}]);
|
|
174
|
-
return BrbState;
|
|
175
174
|
}();
|
|
176
175
|
//# sourceMappingURL=brbState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_internalMediaCore","require","_loggerProxy","_interopRequireDefault","createBrbState","exports","meeting","enabled","LoggerProxy","logger","info","concat","id","brbState","BrbState","_classCallCheck2","default","_defineProperty2","state","client","server","syncToServerInProgress","_createClass2","key","value","enable","sendSlotManager","_this","applyClientStateToServer","then","setSourceStateOverride","MediaType","VideoMain","_this2","_promise","resolve","remoteBrbRequiresSync","sendLocalBrbStateToServer","handleServerBrbUpdate","catch","error","warn","reject","_sendLocalBrbStateToServer","_asyncToGenerator2","_regenerator","mark","_callee","errorMessage","_errorMessage","_error","wrap","_callee$","_context","prev","next","isMultistream","Error","abrupt","mediaProperties","webrtcMediaConnection","meetingRequest","setBrb","locusUrl","deviceUrl","selfId","stop","apply","arguments"],"sources":["brbState.ts"],"sourcesContent":["import {MediaType} from '@webex/internal-media-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport type Meeting from '.';\nimport SendSlotManager from '../multistream/sendSlotManager';\n\nexport const createBrbState = (meeting: Meeting, enabled: boolean) => {\n LoggerProxy.logger.info(\n `Meeting:brbState#createBrbState: creating BrbState for meeting id ${meeting?.id}`\n );\n\n const brbState = new BrbState(meeting, enabled);\n\n return brbState;\n};\n\n/** The purpose of this class is to manage the local and remote brb state\n * and make sure that the server state always matches the last requested state by the client.\n */\nexport class BrbState {\n state: {\n client: {\n enabled: boolean;\n };\n server: {\n enabled: boolean;\n };\n syncToServerInProgress: boolean;\n };\n\n meeting: Meeting;\n\n /**\n * Constructor\n *\n * @param {Meeting} meeting - the meeting object\n * @param {boolean} enabled - whether the client audio/video is enabled at all\n */\n constructor(meeting: Meeting, enabled: boolean) {\n this.meeting = meeting;\n this.state = {\n client: {\n enabled,\n },\n server: {\n enabled: false,\n },\n syncToServerInProgress: false,\n };\n }\n\n /**\n * Enables/disables brb\n *\n * @param {boolean} enabled\n * @param {SendSlotManager} sendSlotManager\n * @returns {Promise}\n */\n public enable(enabled: boolean, sendSlotManager: SendSlotManager) {\n this.state.client.enabled = enabled;\n\n // Don't set the source state override if enabling brb fails\n return this.applyClientStateToServer(sendSlotManager).then(() => {\n sendSlotManager.setSourceStateOverride(\n MediaType.VideoMain,\n this.state.client.enabled ? 'away' : null\n );\n });\n }\n\n /**\n * Updates the server local and remote brb values so that they match the current client desired state.\n *\n * @param {SendSlotManager} sendSlotManager\n * @returns {Promise}\n */\n private applyClientStateToServer(sendSlotManager: SendSlotManager) {\n if (this.state.syncToServerInProgress) {\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: request to server in progress, we need to wait for it to complete`\n );\n\n return Promise.resolve();\n }\n\n const remoteBrbRequiresSync = this.state.client.enabled !== this.state.server.enabled;\n\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: remoteBrbRequiresSync: ${remoteBrbRequiresSync}`\n );\n\n if (!remoteBrbRequiresSync) {\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: client state already matching server state, nothing to do`\n );\n\n return Promise.resolve();\n }\n\n this.state.syncToServerInProgress = true;\n\n return this.sendLocalBrbStateToServer()\n .then(() => {\n this.state.syncToServerInProgress = false;\n\n // This is a workaround for the fact that the server does not send the brb state\n // in the locus update when a user joins from multiple devices but not all devices are requested brb.\n // In the future, this could be improved with a new brb locus update handler\n // https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-655626\n this.handleServerBrbUpdate(this.state.client.enabled);\n\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: sync with server completed`\n );\n\n // need to check if a new sync is required, because this.state.client may have changed while we were doing the current sync\n this.applyClientStateToServer(sendSlotManager);\n })\n .catch((error) => {\n this.state.syncToServerInProgress = false;\n LoggerProxy.logger.warn(`Meeting:brbState#applyClientStateToServer: Error: ${error}`);\n\n return Promise.reject(error);\n });\n }\n\n /**\n * Send the local brb state to the server\n *\n * @returns {Promise}\n */\n private async sendLocalBrbStateToServer() {\n const {enabled} = this.state.client;\n\n if (!this.meeting.isMultistream) {\n const errorMessage = 'Meeting:brbState#sendLocalBrbStateToServer: Not a multistream meeting';\n const error = new Error(errorMessage);\n\n LoggerProxy.logger.error(error);\n\n return Promise.reject(error);\n }\n\n if (!this.meeting.mediaProperties.webrtcMediaConnection) {\n const errorMessage =\n 'Meeting:brbState#sendLocalBrbStateToServer: WebRTC media connection is not defined';\n const error = new Error(errorMessage);\n\n LoggerProxy.logger.error(error);\n\n return Promise.reject(error);\n }\n\n // this logic should be applied only to multistream meetings\n return this.meeting.meetingRequest\n .setBrb({\n enabled,\n locusUrl: this.meeting.locusUrl,\n deviceUrl: this.meeting.deviceUrl,\n selfId: this.meeting.selfId,\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:brbState#sendLocalBrbStateToServer: Error ', error);\n\n return Promise.reject(error);\n });\n }\n\n /**\n * This method should be called whenever the server brb state is changed\n *\n * @param {Boolean} [enabled] true if user has brb enabled, false otherwise\n * @returns {undefined}\n */\n public handleServerBrbUpdate(enabled?: boolean) {\n LoggerProxy.logger.info(\n `Meeting:brbState#handleServerBrbUpdate: updating server brb to (${enabled})`\n );\n this.state.server.enabled = !!enabled;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AAIO,IAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CAAIE,OAAgB,EAAEC,OAAgB,EAAK;EACpEC,oBAAW,CAACC,MAAM,CAACC,IAAI,sEAAAC,MAAA,CACgDL,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,EAAE,CAClF,CAAC;EAED,IAAMC,QAAQ,GAAG,IAAIC,QAAQ,CAACR,OAAO,EAAEC,OAAO,CAAC;EAE/C,OAAOM,QAAQ;AACjB,CAAC;;AAED;AACA;AACA;AAFA,IAGaC,QAAQ,GAAAT,OAAA,CAAAS,QAAA;EAanB;AACF;AACA;AACA;AACA;AACA;EACE,SAAAA,SAAYR,OAAgB,EAAEC,OAAgB,EAAE;IAAA,IAAAQ,gBAAA,CAAAC,OAAA,QAAAF,QAAA;IAAA,IAAAG,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAC9C,IAAI,CAACV,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACY,KAAK,GAAG;MACXC,MAAM,EAAE;QACNZ,OAAO,EAAPA;MACF,CAAC;MACDa,MAAM,EAAE;QACNb,OAAO,EAAE;MACX,CAAC;MACDc,sBAAsB,EAAE;IAC1B,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE,IAAAC,aAAA,CAAAN,OAAA,EAAAF,QAAA;IAAAS,GAAA;IAAAC,KAAA,EAOA,SAAAC,OAAclB,OAAgB,EAAEmB,eAAgC,EAAE;MAAA,IAAAC,KAAA;MAChE,IAAI,CAACT,KAAK,CAACC,MAAM,CAACZ,OAAO,GAAGA,OAAO;;MAEnC;MACA,OAAO,IAAI,CAACqB,wBAAwB,CAACF,eAAe,CAAC,CAACG,IAAI,CAAC,YAAM;QAC/DH,eAAe,CAACI,sBAAsB,CACpCC,4BAAS,CAACC,SAAS,EACnBL,KAAI,CAACT,KAAK,CAACC,MAAM,CAACZ,OAAO,GAAG,MAAM,GAAG,IACvC,CAAC;MACH,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAgB,GAAA;IAAAC,KAAA,EAMA,SAAAI,yBAAiCF,eAAgC,EAAE;MAAA,IAAAO,MAAA;MACjE,IAAI,IAAI,CAACf,KAAK,CAACG,sBAAsB,EAAE;QACrCb,oBAAW,CAACC,MAAM,CAACC,IAAI,+GAEvB,CAAC;QAED,OAAOwB,QAAA,CAAAlB,OAAA,CAAQmB,OAAO,CAAC,CAAC;MAC1B;MAEA,IAAMC,qBAAqB,GAAG,IAAI,CAAClB,KAAK,CAACC,MAAM,CAACZ,OAAO,KAAK,IAAI,CAACW,KAAK,CAACE,MAAM,CAACb,OAAO;MAErFC,oBAAW,CAACC,MAAM,CAACC,IAAI,sEAAAC,MAAA,CACgDyB,qBAAqB,CAC5F,CAAC;MAED,IAAI,CAACA,qBAAqB,EAAE;QAC1B5B,oBAAW,CAACC,MAAM,CAACC,IAAI,uGAEvB,CAAC;QAED,OAAOwB,QAAA,CAAAlB,OAAA,CAAQmB,OAAO,CAAC,CAAC;MAC1B;MAEA,IAAI,CAACjB,KAAK,CAACG,sBAAsB,GAAG,IAAI;MAExC,OAAO,IAAI,CAACgB,yBAAyB,CAAC,CAAC,CACpCR,IAAI,CAAC,YAAM;QACVI,MAAI,CAACf,KAAK,CAACG,sBAAsB,GAAG,KAAK;;QAEzC;QACA;QACA;QACA;QACAY,MAAI,CAACK,qBAAqB,CAACL,MAAI,CAACf,KAAK,CAACC,MAAM,CAACZ,OAAO,CAAC;QAErDC,oBAAW,CAACC,MAAM,CAACC,IAAI,wEAEvB,CAAC;;QAED;QACAuB,MAAI,CAACL,wBAAwB,CAACF,eAAe,CAAC;MAChD,CAAC,CAAC,CACDa,KAAK,CAAC,UAACC,KAAK,EAAK;QAChBP,MAAI,CAACf,KAAK,CAACG,sBAAsB,GAAG,KAAK;QACzCb,oBAAW,CAACC,MAAM,CAACgC,IAAI,sDAAA9B,MAAA,CAAsD6B,KAAK,CAAE,CAAC;QAErF,OAAON,QAAA,CAAAlB,OAAA,CAAQ0B,MAAM,CAACF,KAAK,CAAC;MAC9B,CAAC,CAAC;IACN;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAjB,GAAA;IAAAC,KAAA;MAAA,IAAAmB,0BAAA,OAAAC,kBAAA,CAAA5B,OAAA,gBAAA6B,YAAA,CAAA7B,OAAA,CAAA8B,IAAA,CAKA,SAAAC,QAAA;QAAA,IAAAxC,OAAA,EAAAyC,YAAA,EAAAR,KAAA,EAAAS,aAAA,EAAAC,MAAA;QAAA,OAAAL,YAAA,CAAA7B,OAAA,CAAAmC,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACShD,OAAO,GAAI,IAAI,CAACW,KAAK,CAACC,MAAM,CAA5BZ,OAAO;cAAA,IAET,IAAI,CAACD,OAAO,CAACkD,aAAa;gBAAAH,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACvBP,YAAY,GAAG,uEAAuE;cACtFR,KAAK,GAAG,IAAIiB,KAAK,CAACT,YAAY,CAAC;cAErCxC,oBAAW,CAACC,MAAM,CAAC+B,KAAK,CAACA,KAAK,CAAC;cAAC,OAAAa,QAAA,CAAAK,MAAA,WAEzBxB,QAAA,CAAAlB,OAAA,CAAQ0B,MAAM,CAACF,KAAK,CAAC;YAAA;cAAA,IAGzB,IAAI,CAAClC,OAAO,CAACqD,eAAe,CAACC,qBAAqB;gBAAAP,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAC/CP,aAAY,GAChB,oFAAoF;cAChFR,MAAK,GAAG,IAAIiB,KAAK,CAACT,aAAY,CAAC;cAErCxC,oBAAW,CAACC,MAAM,CAAC+B,KAAK,CAACA,MAAK,CAAC;cAAC,OAAAa,QAAA,CAAAK,MAAA,WAEzBxB,QAAA,CAAAlB,OAAA,CAAQ0B,MAAM,CAACF,MAAK,CAAC;YAAA;cAAA,OAAAa,QAAA,CAAAK,MAAA,WAIvB,IAAI,CAACpD,OAAO,CAACuD,cAAc,CAC/BC,MAAM,CAAC;gBACNvD,OAAO,EAAPA,OAAO;gBACPwD,QAAQ,EAAE,IAAI,CAACzD,OAAO,CAACyD,QAAQ;gBAC/BC,SAAS,EAAE,IAAI,CAAC1D,OAAO,CAAC0D,SAAS;gBACjCC,MAAM,EAAE,IAAI,CAAC3D,OAAO,CAAC2D;cACvB,CAAC,CAAC,CACD1B,KAAK,CAAC,UAACC,KAAK,EAAK;gBAChBhC,oBAAW,CAACC,MAAM,CAAC+B,KAAK,CAAC,oDAAoD,EAAEA,KAAK,CAAC;gBAErF,OAAON,QAAA,CAAAlB,OAAA,CAAQ0B,MAAM,CAACF,KAAK,CAAC;cAC9B,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAa,QAAA,CAAAa,IAAA;UAAA;QAAA,GAAAnB,OAAA;MAAA,CACL;MAAA,SAAAV,0BAAA;QAAA,OAAAM,0BAAA,CAAAwB,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAA/B,yBAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;IALE;EAAA;IAAAd,GAAA;IAAAC,KAAA,EAMA,SAAAc,sBAA6B/B,OAAiB,EAAE;MAC9CC,oBAAW,CAACC,MAAM,CAACC,IAAI,oEAAAC,MAAA,CAC8CJ,OAAO,MAC5E,CAAC;MACD,IAAI,CAACW,KAAK,CAACE,MAAM,CAACb,OAAO,GAAG,CAAC,CAACA,OAAO;IACvC;EAAC;EAAA,OAAAO,QAAA;AAAA"}
|
|
1
|
+
{"version":3,"names":["_internalMediaCore","require","_loggerProxy","_interopRequireDefault","createBrbState","exports","meeting","enabled","LoggerProxy","logger","info","concat","id","brbState","BrbState","_classCallCheck2","default","_defineProperty2","state","client","server","syncToServerInProgress","_createClass2","key","value","enable","sendSlotManager","_this","applyClientStateToServer","then","setSourceStateOverride","MediaType","VideoMain","_this2","_promise","resolve","remoteBrbRequiresSync","sendLocalBrbStateToServer","handleServerBrbUpdate","catch","error","warn","reject","_sendLocalBrbStateToServer","_asyncToGenerator2","_regenerator","mark","_callee","errorMessage","_errorMessage","_error","wrap","_context","prev","next","isMultistream","Error","abrupt","mediaProperties","webrtcMediaConnection","meetingRequest","setBrb","locusUrl","deviceUrl","selfId","stop","apply","arguments"],"sources":["brbState.ts"],"sourcesContent":["import {MediaType} from '@webex/internal-media-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport type Meeting from '.';\nimport SendSlotManager from '../multistream/sendSlotManager';\n\nexport const createBrbState = (meeting: Meeting, enabled: boolean) => {\n LoggerProxy.logger.info(\n `Meeting:brbState#createBrbState: creating BrbState for meeting id ${meeting?.id}`\n );\n\n const brbState = new BrbState(meeting, enabled);\n\n return brbState;\n};\n\n/** The purpose of this class is to manage the local and remote brb state\n * and make sure that the server state always matches the last requested state by the client.\n */\nexport class BrbState {\n state: {\n client: {\n enabled: boolean;\n };\n server: {\n enabled: boolean;\n };\n syncToServerInProgress: boolean;\n };\n\n meeting: Meeting;\n\n /**\n * Constructor\n *\n * @param {Meeting} meeting - the meeting object\n * @param {boolean} enabled - whether the client audio/video is enabled at all\n */\n constructor(meeting: Meeting, enabled: boolean) {\n this.meeting = meeting;\n this.state = {\n client: {\n enabled,\n },\n server: {\n enabled: false,\n },\n syncToServerInProgress: false,\n };\n }\n\n /**\n * Enables/disables brb\n *\n * @param {boolean} enabled\n * @param {SendSlotManager} sendSlotManager\n * @returns {Promise}\n */\n public enable(enabled: boolean, sendSlotManager: SendSlotManager) {\n this.state.client.enabled = enabled;\n\n // Don't set the source state override if enabling brb fails\n return this.applyClientStateToServer(sendSlotManager).then(() => {\n sendSlotManager.setSourceStateOverride(\n MediaType.VideoMain,\n this.state.client.enabled ? 'away' : null\n );\n });\n }\n\n /**\n * Updates the server local and remote brb values so that they match the current client desired state.\n *\n * @param {SendSlotManager} sendSlotManager\n * @returns {Promise}\n */\n private applyClientStateToServer(sendSlotManager: SendSlotManager) {\n if (this.state.syncToServerInProgress) {\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: request to server in progress, we need to wait for it to complete`\n );\n\n return Promise.resolve();\n }\n\n const remoteBrbRequiresSync = this.state.client.enabled !== this.state.server.enabled;\n\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: remoteBrbRequiresSync: ${remoteBrbRequiresSync}`\n );\n\n if (!remoteBrbRequiresSync) {\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: client state already matching server state, nothing to do`\n );\n\n return Promise.resolve();\n }\n\n this.state.syncToServerInProgress = true;\n\n return this.sendLocalBrbStateToServer()\n .then(() => {\n this.state.syncToServerInProgress = false;\n\n // This is a workaround for the fact that the server does not send the brb state\n // in the locus update when a user joins from multiple devices but not all devices are requested brb.\n // In the future, this could be improved with a new brb locus update handler\n // https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-655626\n this.handleServerBrbUpdate(this.state.client.enabled);\n\n LoggerProxy.logger.info(\n `Meeting:brbState#applyClientStateToServer: sync with server completed`\n );\n\n // need to check if a new sync is required, because this.state.client may have changed while we were doing the current sync\n this.applyClientStateToServer(sendSlotManager);\n })\n .catch((error) => {\n this.state.syncToServerInProgress = false;\n LoggerProxy.logger.warn(`Meeting:brbState#applyClientStateToServer: Error: ${error}`);\n\n return Promise.reject(error);\n });\n }\n\n /**\n * Send the local brb state to the server\n *\n * @returns {Promise}\n */\n private async sendLocalBrbStateToServer() {\n const {enabled} = this.state.client;\n\n if (!this.meeting.isMultistream) {\n const errorMessage = 'Meeting:brbState#sendLocalBrbStateToServer: Not a multistream meeting';\n const error = new Error(errorMessage);\n\n LoggerProxy.logger.error(error);\n\n return Promise.reject(error);\n }\n\n if (!this.meeting.mediaProperties.webrtcMediaConnection) {\n const errorMessage =\n 'Meeting:brbState#sendLocalBrbStateToServer: WebRTC media connection is not defined';\n const error = new Error(errorMessage);\n\n LoggerProxy.logger.error(error);\n\n return Promise.reject(error);\n }\n\n // this logic should be applied only to multistream meetings\n return this.meeting.meetingRequest\n .setBrb({\n enabled,\n locusUrl: this.meeting.locusUrl,\n deviceUrl: this.meeting.deviceUrl,\n selfId: this.meeting.selfId,\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:brbState#sendLocalBrbStateToServer: Error ', error);\n\n return Promise.reject(error);\n });\n }\n\n /**\n * This method should be called whenever the server brb state is changed\n *\n * @param {Boolean} [enabled] true if user has brb enabled, false otherwise\n * @returns {undefined}\n */\n public handleServerBrbUpdate(enabled?: boolean) {\n LoggerProxy.logger.info(\n `Meeting:brbState#handleServerBrbUpdate: updating server brb to (${enabled})`\n );\n this.state.server.enabled = !!enabled;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,15 +9,14 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
9
9
|
exports.ConnectionStateHandler = exports.ConnectionStateEvent = void 0;
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
11
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
12
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
14
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
15
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
16
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
17
16
|
var _internalMediaCore = require("@webex/internal-media-core");
|
|
18
17
|
var _eventsScope = _interopRequireDefault(require("../common/events/events-scope"));
|
|
19
|
-
function
|
|
20
|
-
function _isNativeReflectConstruct() {
|
|
18
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
19
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
21
20
|
var ConnectionStateEvent = exports.ConnectionStateEvent = {
|
|
22
21
|
stateChanged: 'connectionState:changed'
|
|
23
22
|
};
|
|
@@ -25,20 +24,18 @@ var ConnectionStateEvent = exports.ConnectionStateEvent = {
|
|
|
25
24
|
* @class ConnectionStateHandler
|
|
26
25
|
*/
|
|
27
26
|
var ConnectionStateHandler = exports.ConnectionStateHandler = /*#__PURE__*/function (_EventsScope) {
|
|
28
|
-
(0, _inherits2.default)(ConnectionStateHandler, _EventsScope);
|
|
29
|
-
var _super = _createSuper(ConnectionStateHandler);
|
|
30
27
|
/**
|
|
31
28
|
* @param {WebRTCMeeting} webrtcMediaConnection
|
|
32
29
|
*/
|
|
33
30
|
function ConnectionStateHandler(webrtcMediaConnection) {
|
|
34
31
|
var _this;
|
|
35
32
|
(0, _classCallCheck2.default)(this, ConnectionStateHandler);
|
|
36
|
-
_this =
|
|
37
|
-
(0, _defineProperty2.default)(
|
|
38
|
-
(0, _defineProperty2.default)(
|
|
33
|
+
_this = _callSuper(this, ConnectionStateHandler);
|
|
34
|
+
(0, _defineProperty2.default)(_this, "webrtcMediaConnection", void 0);
|
|
35
|
+
(0, _defineProperty2.default)(_this, "mediaConnectionState", void 0);
|
|
39
36
|
_this.webrtcMediaConnection = webrtcMediaConnection;
|
|
40
|
-
_this.webrtcMediaConnection.on(_internalMediaCore.MediaConnectionEventNames.PEER_CONNECTION_STATE_CHANGED, _this.handleConnectionStateChange.bind(
|
|
41
|
-
_this.webrtcMediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ICE_CONNECTION_STATE_CHANGED, _this.handleConnectionStateChange.bind(
|
|
37
|
+
_this.webrtcMediaConnection.on(_internalMediaCore.MediaConnectionEventNames.PEER_CONNECTION_STATE_CHANGED, _this.handleConnectionStateChange.bind(_this));
|
|
38
|
+
_this.webrtcMediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ICE_CONNECTION_STATE_CHANGED, _this.handleConnectionStateChange.bind(_this));
|
|
42
39
|
return _this;
|
|
43
40
|
}
|
|
44
41
|
|
|
@@ -47,7 +44,8 @@ var ConnectionStateHandler = exports.ConnectionStateHandler = /*#__PURE__*/funct
|
|
|
47
44
|
*
|
|
48
45
|
* @returns {void}
|
|
49
46
|
*/
|
|
50
|
-
(0,
|
|
47
|
+
(0, _inherits2.default)(ConnectionStateHandler, _EventsScope);
|
|
48
|
+
return (0, _createClass2.default)(ConnectionStateHandler, [{
|
|
51
49
|
key: "handleConnectionStateChange",
|
|
52
50
|
value: function handleConnectionStateChange() {
|
|
53
51
|
var newConnectionState = this.webrtcMediaConnection.getConnectionState();
|
|
@@ -62,6 +60,5 @@ var ConnectionStateHandler = exports.ConnectionStateHandler = /*#__PURE__*/funct
|
|
|
62
60
|
}
|
|
63
61
|
}
|
|
64
62
|
}]);
|
|
65
|
-
return ConnectionStateHandler;
|
|
66
63
|
}(_eventsScope.default);
|
|
67
64
|
//# sourceMappingURL=connectionStateHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_internalMediaCore","require","_eventsScope","_interopRequireDefault","
|
|
1
|
+
{"version":3,"names":["_internalMediaCore","require","_eventsScope","_interopRequireDefault","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","ConnectionStateEvent","exports","stateChanged","ConnectionStateHandler","_EventsScope","webrtcMediaConnection","_this","_classCallCheck2","_defineProperty2","on","MediaConnectionEventNames","PEER_CONNECTION_STATE_CHANGED","handleConnectionStateChange","bind","ICE_CONNECTION_STATE_CHANGED","_inherits2","_createClass2","key","value","newConnectionState","getConnectionState","mediaConnectionState","emit","file","function","state","EventsScope"],"sources":["connectionStateHandler.ts"],"sourcesContent":["import {MediaConnectionEventNames, ConnectionState} from '@webex/internal-media-core';\nimport EventsScope from '../common/events/events-scope';\nimport {Enum} from '../constants';\n\nexport const ConnectionStateEvent = {\n stateChanged: 'connectionState:changed',\n} as const;\n\nexport type ConnectionStateEvent = Enum<typeof ConnectionStateEvent>;\n\nexport interface ConnectionStateChangedEvent {\n /**\n * Current overall connection state\n */\n state: ConnectionState;\n}\n\n/**\n * @class ConnectionStateHandler\n */\nexport class ConnectionStateHandler extends EventsScope {\n private webrtcMediaConnection: any;\n\n private mediaConnectionState: ConnectionState;\n\n /**\n * @param {WebRTCMeeting} webrtcMediaConnection\n */\n constructor(webrtcMediaConnection) {\n super();\n\n this.webrtcMediaConnection = webrtcMediaConnection;\n\n this.webrtcMediaConnection.on(\n MediaConnectionEventNames.PEER_CONNECTION_STATE_CHANGED,\n this.handleConnectionStateChange.bind(this)\n );\n\n this.webrtcMediaConnection.on(\n MediaConnectionEventNames.ICE_CONNECTION_STATE_CHANGED,\n this.handleConnectionStateChange.bind(this)\n );\n }\n\n /**\n * Handler for connection state change.\n *\n * @returns {void}\n */\n private handleConnectionStateChange(): void {\n const newConnectionState = this.webrtcMediaConnection.getConnectionState();\n\n if (newConnectionState !== this.mediaConnectionState) {\n this.mediaConnectionState = newConnectionState;\n this.emit(\n {\n file: 'connectionStateHandler',\n function: 'handleConnectionStateChange',\n },\n ConnectionStateEvent.stateChanged,\n {state: this.mediaConnectionState}\n );\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAwD,SAAAG,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,CAAAC,OAAA,EAAAH,CAAA,OAAAI,2BAAA,CAAAD,OAAA,EAAAJ,CAAA,EAAAM,yBAAA,KAAAC,kBAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,CAAAC,OAAA,EAAAJ,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAI,0BAAA,cAAAN,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,kBAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAM,yBAAA,YAAAA,0BAAA,aAAAN,CAAA;AAGjD,IAAMc,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG;EAClCE,YAAY,EAAE;AAChB,CAAU;AAWV;AACA;AACA;AAFA,IAGaC,sBAAsB,GAAAF,OAAA,CAAAE,sBAAA,0BAAAC,YAAA;EAKjC;AACF;AACA;EACE,SAAAD,uBAAYE,qBAAqB,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAjB,OAAA,QAAAa,sBAAA;IACjCG,KAAA,GAAArB,UAAA,OAAAkB,sBAAA;IAAQ,IAAAK,gBAAA,CAAAlB,OAAA,EAAAgB,KAAA;IAAA,IAAAE,gBAAA,CAAAlB,OAAA,EAAAgB,KAAA;IAERA,KAAA,CAAKD,qBAAqB,GAAGA,qBAAqB;IAElDC,KAAA,CAAKD,qBAAqB,CAACI,EAAE,CAC3BC,4CAAyB,CAACC,6BAA6B,EACvDL,KAAA,CAAKM,2BAA2B,CAACC,IAAI,CAAAP,KAAK,CAC5C,CAAC;IAEDA,KAAA,CAAKD,qBAAqB,CAACI,EAAE,CAC3BC,4CAAyB,CAACI,4BAA4B,EACtDR,KAAA,CAAKM,2BAA2B,CAACC,IAAI,CAAAP,KAAK,CAC5C,CAAC;IAAC,OAAAA,KAAA;EACJ;;EAEA;AACF;AACA;AACA;AACA;EAJE,IAAAS,UAAA,CAAAzB,OAAA,EAAAa,sBAAA,EAAAC,YAAA;EAAA,WAAAY,aAAA,CAAA1B,OAAA,EAAAa,sBAAA;IAAAc,GAAA;IAAAC,KAAA,EAKA,SAAQN,2BAA2BA,CAAA,EAAS;MAC1C,IAAMO,kBAAkB,GAAG,IAAI,CAACd,qBAAqB,CAACe,kBAAkB,CAAC,CAAC;MAE1E,IAAID,kBAAkB,KAAK,IAAI,CAACE,oBAAoB,EAAE;QACpD,IAAI,CAACA,oBAAoB,GAAGF,kBAAkB;QAC9C,IAAI,CAACG,IAAI,CACP;UACEC,IAAI,EAAE,wBAAwB;UAC9BC,QAAQ,EAAE;QACZ,CAAC,EACDxB,oBAAoB,CAACE,YAAY,EACjC;UAACuB,KAAK,EAAE,IAAI,CAACJ;QAAoB,CACnC,CAAC;MACH;IACF;EAAC;AAAA,EA3CyCK,oBAAW","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","InMeetingActions","exports","default","_createClass2","_this","_classCallCheck2","_defineProperty2","MEETINGS","canInviteNewParticipants","canAdmitParticipant","canLock","canUnlock","canAssignHost","canSetMuteOnEntry","canUnsetMuteOnEntry","canSetDisallowUnmute","canSetMuted","canUnsetMuted","canSetPresenter","canUnsetPresenter","canUnsetDisallowUnmute","canStartRecording","canPauseRecording","canResumeRecording","canStopRecording","isPremiseRecordingEnabled","canRaiseHand","canLowerAllHands","canLowerSomeoneElsesHand","bothLeaveAndEndMeetingAvailable","canEnableClosedCaption","canStartTranscribing","canStopTranscribing","isClosedCaptionActive","canStartManualCaption","isLocalRecordingStarted","isLocalRecordingStopped","isLocalRecordingPaused","isLocalStreamingStarted","isLocalStreamingStopped","canStopManualCaption","isManualCaptionActive","isSaveTranscriptsEnabled","isSpokenLanguageAutoDetectionEnabled","isWebexAssistantActive","canViewCaptionPanel","isRealTimeTranslationEnabled","canSelectSpokenLanguages","waitingForOthersToJoin","canSendReactions","canManageBreakout","canStartBreakout","canBroadcastMessageToBreakout","canAdmitLobbyToBreakout","isBreakoutPreassignmentsEnabled","canUserAskForHelp","canUserRenameSelfAndObserved","canUserRenameOthers","canMuteAll","canUnmuteAll","canEnableHardMute","canDisableHardMute","canEnableMuteOnEntry","canDisableMuteOnEntry","canEnableReactions","canDisableReactions","canEnableReactionDisplayNames","canDisableReactionDisplayNames","canUpdateShareControl","canEnableViewTheParticipantsList","canDisableViewTheParticipantsList","canEnableViewTheParticipantsListPanelist","canDisableViewTheParticipantsListPanelist","canEnableShowAttendeeCount","canDisableShowAttendeeCount","canEnableRaiseHand","canDisableRaiseHand","canEnableVideo","canDisableVideo","canShareFile","canShareApplication","canShareCamera","showAutoEndMeetingWarning","canShareDesktop","canShareContent","canTransferFile","canRealtimeCloseCaption","canRealtimeCloseCaptionManual","canChat","canDoVideo","canAnnotate","canUseVoip","enforceVirtualBackground","supportHQV","supportHDV","canShareWhiteBoard","canPollingAndQA","canStartWebcast","canStopWebcast","canShowStageView","canEnableStageView","canDisableStageView","isPracticeSessionOn","isPracticeSessionOff","canStartPracticeSession","canStopPracticeSession","requiresPostMeetingDataConsentPrompt","canEnableAnnotation","canDisableAnnotation","canEnableRemoteDesktopControl","canDisableRemoteDesktopControl","canMoveToLobby","canEnablePollingQA","canDisablePollingQA","actions","old","get","changed","_keys","forEach","actionKey","actionValue","undefined"],"sources":["in-meeting-actions.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {MEETINGS} from '../constants';\nimport ControlsOptionsUtil from '../controls-options-manager/util';\n\n/**\n * IInMeetingActions\n * Type for In-Meeting Actions\n */\ninterface IInMeetingActions {\n canInviteNewParticipants?: boolean;\n canAdmitParticipant?: boolean;\n canLock?: boolean;\n canUnlock?: boolean;\n canSetMuteOnEntry?: boolean;\n canUnsetMuteOnEntry?: boolean;\n canSetDisallowUnmute?: boolean;\n canUnsetDisallowUnmute?: boolean;\n canSetMuted?: boolean;\n canUnsetMuted?: boolean;\n canAssignHost?: boolean;\n canSetPresenter?: boolean;\n canUnsetPresenter?: boolean;\n canStartRecording?: boolean;\n canPauseRecording?: boolean;\n canResumeRecording?: boolean;\n isPremiseRecordingEnabled?: boolean;\n canStopRecording?: boolean;\n canRaiseHand?: boolean;\n canLowerAllHands?: boolean;\n canLowerSomeoneElsesHand?: boolean;\n bothLeaveAndEndMeetingAvailable?: boolean;\n canEnableClosedCaption?: boolean;\n canStartTranscribing?: boolean;\n canStopTranscribing?: boolean;\n isClosedCaptionActive?: boolean;\n canStartManualCaption?: boolean;\n canStopManualCaption?: boolean;\n isLocalRecordingStarted?: boolean;\n isLocalRecordingStopped?: boolean;\n isLocalRecordingPaused?: boolean;\n isLocalStreamingStarted?: boolean;\n isLocalStreamingStopped?: boolean;\n\n isManualCaptionActive?: boolean;\n isSaveTranscriptsEnabled?: boolean;\n isSpokenLanguageAutoDetectionEnabled?: boolean;\n isWebexAssistantActive?: boolean;\n canViewCaptionPanel?: boolean;\n isRealTimeTranslationEnabled?: boolean;\n canSelectSpokenLanguages?: boolean;\n waitingForOthersToJoin?: boolean;\n canSendReactions?: boolean;\n canManageBreakout?: boolean;\n canStartBreakout?: boolean;\n canBroadcastMessageToBreakout?: boolean;\n canAdmitLobbyToBreakout?: boolean;\n isBreakoutPreassignmentsEnabled?: boolean;\n canUserAskForHelp?: boolean;\n canUserRenameSelfAndObserved?: boolean;\n canUserRenameOthers?: boolean;\n canMuteAll?: boolean;\n canUnmuteAll?: boolean;\n canEnableHardMute?: boolean;\n canDisableHardMute?: boolean;\n canEnableMuteOnEntry?: boolean;\n canDisableMuteOnEntry?: boolean;\n canEnableReactions?: boolean;\n canDisableReactions?: boolean;\n canEnableReactionDisplayNames?: boolean;\n canDisableReactionDisplayNames?: boolean;\n canUpdateShareControl?: boolean;\n canEnableViewTheParticipantsList?: boolean;\n canDisableViewTheParticipantsList?: boolean;\n canEnableViewTheParticipantsListPanelist?: boolean;\n canDisableViewTheParticipantsListPanelist?: boolean;\n canEnableShowAttendeeCount?: boolean;\n canDisableShowAttendeeCount?: boolean;\n canEnableRaiseHand?: boolean;\n canDisableRaiseHand?: boolean;\n canEnableVideo?: boolean;\n canDisableVideo?: boolean;\n canShareFile?: boolean;\n canShareApplication?: boolean;\n canShareCamera?: boolean;\n canShareDesktop?: boolean;\n canShareContent?: boolean;\n canTransferFile?: boolean;\n canRealtimeCloseCaption?: boolean;\n canRealtimeCloseCaptionManual?: boolean;\n canChat?: boolean;\n canDoVideo?: boolean;\n canAnnotate?: boolean;\n canUseVoip?: boolean;\n showAutoEndMeetingWarning?: boolean;\n supportHQV?: boolean;\n supportHDV?: boolean;\n canShareWhiteBoard?: boolean;\n enforceVirtualBackground?: boolean;\n canPollingAndQA?: boolean;\n canStartWebcast?: boolean;\n canStopWebcast?: boolean;\n canShowStageView?: boolean;\n canEnableStageView?: boolean;\n canDisableStageView?: boolean;\n isPracticeSessionOn?: boolean;\n isPracticeSessionOff?: boolean;\n canStartPracticeSession?: boolean;\n canStopPracticeSession?: boolean;\n requiresPostMeetingDataConsentPrompt?: boolean;\n canEnableAnnotation?: boolean;\n canDisableAnnotation?: boolean;\n canEnableRemoteDesktopControl?: boolean;\n canDisableRemoteDesktopControl?: boolean;\n canMoveToLobby?: boolean;\n canEnablePollingQA?: boolean;\n canDisablePollingQA?: boolean;\n}\n\n/**\n * @class InMeetingActions\n */\nexport default class InMeetingActions implements IInMeetingActions {\n namespace = MEETINGS;\n\n canInviteNewParticipants = null;\n\n canAdmitParticipant = null;\n\n canLock = null;\n\n canUnlock = null;\n\n canAssignHost = null;\n\n canStartRecording = null;\n\n canPauseRecording = null;\n\n canResumeRecording = null;\n\n isPremiseRecordingEnabled = null;\n\n canStopRecording = null;\n\n canSetMuteOnEntry = null;\n\n canSetPresenter = null;\n\n canUnsetPresenter = null;\n\n canUnsetMuteOnEntry = null;\n\n canSetDisallowUnmute = null;\n\n canUnsetDisallowUnmute = null;\n\n canSetMuted = null;\n\n canUnsetMuted = null;\n\n canRaiseHand = null;\n\n canLowerAllHands = null;\n\n canLowerSomeoneElsesHand = null;\n\n bothLeaveAndEndMeetingAvailable = null;\n\n canEnableClosedCaption = null;\n\n canStartTranscribing = null;\n\n canStopTranscribing = null;\n\n isClosedCaptionActive = null;\n\n canStartManualCaption = null;\n\n canStopManualCaption = null;\n\n isLocalRecordingStopped = null;\n\n isLocalRecordingStarted = null;\n\n isLocalRecordingPaused = null;\n\n isManualCaptionActive = null;\n\n isLocalStreamingStarted = null;\n\n isLocalStreamingStopped = null;\n\n isSaveTranscriptsEnabled = null;\n\n isSpokenLanguageAutoDetectionEnabled = null;\n\n isWebexAssistantActive = null;\n\n canViewCaptionPanel = null;\n\n isRealTimeTranslationEnabled = null;\n\n canSelectSpokenLanguages = null;\n\n waitingForOthersToJoin = null;\n\n canSendReactions = null;\n\n canManageBreakout = null;\n\n canStartBreakout = null;\n\n canBroadcastMessageToBreakout = null;\n\n canAdmitLobbyToBreakout = null;\n\n isBreakoutPreassignmentsEnabled = null;\n\n canUserAskForHelp = null;\n\n canUserRenameSelfAndObserved = null;\n\n canUserRenameOthers = null;\n\n canMuteAll = null;\n\n canUnmuteAll = null;\n\n canEnableHardMute = null;\n\n canDisableHardMute = null;\n\n canEnableMuteOnEntry = null;\n\n canDisableMuteOnEntry = null;\n\n canEnableReactions = null;\n\n canDisableReactions = null;\n\n canEnableReactionDisplayNames = null;\n\n canDisableReactionDisplayNames = null;\n\n canUpdateShareControl = null;\n\n canEnableViewTheParticipantsList = null;\n\n canDisableViewTheParticipantsList = null;\n\n canEnableViewTheParticipantsListPanelist = null;\n\n canDisableViewTheParticipantsListPanelist = null;\n\n canEnableShowAttendeeCount = null;\n\n canDisableShowAttendeeCount = null;\n\n canEnableRaiseHand = null;\n\n canDisableRaiseHand = null;\n\n canEnableVideo = null;\n\n canDisableVideo = null;\n\n canShareFile = null;\n\n canShareApplication = null;\n\n canShareCamera = null;\n\n canShareDesktop = null;\n\n canShareContent = null;\n\n canTransferFile = null;\n\n canRealtimeCloseCaption = null;\n\n canRealtimeCloseCaptionManual = null;\n\n canChat = null;\n\n canDoVideo = null;\n\n canAnnotate = null;\n\n canUseVoip = null;\n\n showAutoEndMeetingWarning = null;\n\n supportHQV = null;\n\n enforceVirtualBackground = null;\n\n supportHDV = null;\n\n canShareWhiteBoard = null;\n\n canPollingAndQA = null;\n\n canStartWebcast = null;\n\n canStopWebcast = null;\n\n canShowStageView = null;\n\n canEnableStageView = null;\n\n canDisableStageView = null;\n\n isPracticeSessionOn = null;\n\n isPracticeSessionOff = null;\n\n canStartPracticeSession = null;\n\n canStopPracticeSession = null;\n\n requiresPostMeetingDataConsentPrompt = null;\n\n canEnableAnnotation = null;\n\n canDisableAnnotation = null;\n\n canEnableRemoteDesktopControl = null;\n\n canDisableRemoteDesktopControl = null;\n\n canMoveToLobby = null;\n\n canEnablePollingQA = null;\n\n canDisablePollingQA = null;\n\n /**\n * Returns all meeting action options\n * @returns {Object}\n */\n get = (): IInMeetingActions => ({\n canInviteNewParticipants: this.canInviteNewParticipants,\n canAdmitParticipant: this.canAdmitParticipant,\n canLock: this.canLock,\n canUnlock: this.canUnlock,\n canAssignHost: this.canAssignHost,\n canSetMuteOnEntry: this.canSetMuteOnEntry,\n canUnsetMuteOnEntry: this.canUnsetMuteOnEntry,\n canSetDisallowUnmute: this.canSetDisallowUnmute,\n canSetMuted: this.canSetMuted,\n canUnsetMuted: this.canUnsetMuted,\n canSetPresenter: this.canSetPresenter,\n canUnsetPresenter: this.canUnsetPresenter,\n canUnsetDisallowUnmute: this.canUnsetDisallowUnmute,\n canStartRecording: this.canStartRecording,\n canPauseRecording: this.canPauseRecording,\n canResumeRecording: this.canResumeRecording,\n canStopRecording: this.canStopRecording,\n isPremiseRecordingEnabled: this.isPremiseRecordingEnabled,\n canRaiseHand: this.canRaiseHand,\n canLowerAllHands: this.canLowerAllHands,\n canLowerSomeoneElsesHand: this.canLowerSomeoneElsesHand,\n bothLeaveAndEndMeetingAvailable: this.bothLeaveAndEndMeetingAvailable,\n canEnableClosedCaption: this.canEnableClosedCaption,\n canStartTranscribing: this.canStartTranscribing,\n canStopTranscribing: this.canStopTranscribing,\n isClosedCaptionActive: this.isClosedCaptionActive,\n canStartManualCaption: this.canStartManualCaption,\n isLocalRecordingStarted: this.isLocalRecordingStarted,\n isLocalRecordingStopped: this.isLocalRecordingStopped,\n isLocalRecordingPaused: this.isLocalRecordingPaused,\n isLocalStreamingStarted: this.isLocalStreamingStarted,\n isLocalStreamingStopped: this.isLocalStreamingStopped,\n canStopManualCaption: this.canStopManualCaption,\n isManualCaptionActive: this.isManualCaptionActive,\n isSaveTranscriptsEnabled: this.isSaveTranscriptsEnabled,\n isSpokenLanguageAutoDetectionEnabled: this.isSpokenLanguageAutoDetectionEnabled,\n isWebexAssistantActive: this.isWebexAssistantActive,\n canViewCaptionPanel: this.canViewCaptionPanel,\n isRealTimeTranslationEnabled: this.isRealTimeTranslationEnabled,\n canSelectSpokenLanguages: this.canSelectSpokenLanguages,\n waitingForOthersToJoin: this.waitingForOthersToJoin,\n canSendReactions: this.canSendReactions,\n canManageBreakout: this.canManageBreakout,\n canStartBreakout: this.canStartBreakout,\n canBroadcastMessageToBreakout: this.canBroadcastMessageToBreakout,\n canAdmitLobbyToBreakout: this.canAdmitLobbyToBreakout,\n isBreakoutPreassignmentsEnabled: this.isBreakoutPreassignmentsEnabled,\n canUserAskForHelp: this.canUserAskForHelp,\n canUserRenameSelfAndObserved: this.canUserRenameSelfAndObserved,\n canUserRenameOthers: this.canUserRenameOthers,\n canMuteAll: this.canMuteAll,\n canUnmuteAll: this.canUnmuteAll,\n canEnableHardMute: this.canEnableHardMute,\n canDisableHardMute: this.canDisableHardMute,\n canEnableMuteOnEntry: this.canEnableMuteOnEntry,\n canDisableMuteOnEntry: this.canDisableMuteOnEntry,\n canEnableReactions: this.canEnableReactions,\n canDisableReactions: this.canDisableReactions,\n canEnableReactionDisplayNames: this.canEnableReactionDisplayNames,\n canDisableReactionDisplayNames: this.canDisableReactionDisplayNames,\n canUpdateShareControl: this.canUpdateShareControl,\n canEnableViewTheParticipantsList: this.canEnableViewTheParticipantsList,\n canDisableViewTheParticipantsList: this.canDisableViewTheParticipantsList,\n canEnableViewTheParticipantsListPanelist: this.canEnableViewTheParticipantsListPanelist,\n canDisableViewTheParticipantsListPanelist: this.canDisableViewTheParticipantsListPanelist,\n canEnableShowAttendeeCount: this.canEnableShowAttendeeCount,\n canDisableShowAttendeeCount: this.canDisableShowAttendeeCount,\n canEnableRaiseHand: this.canEnableRaiseHand,\n canDisableRaiseHand: this.canDisableRaiseHand,\n canEnableVideo: this.canEnableVideo,\n canDisableVideo: this.canDisableVideo,\n canShareFile: this.canShareFile,\n canShareApplication: this.canShareApplication,\n canShareCamera: this.canShareCamera,\n showAutoEndMeetingWarning: this.showAutoEndMeetingWarning,\n canShareDesktop: this.canShareDesktop,\n canShareContent: this.canShareContent,\n canTransferFile: this.canTransferFile,\n canRealtimeCloseCaption: this.canRealtimeCloseCaption,\n canRealtimeCloseCaptionManual: this.canRealtimeCloseCaptionManual,\n canChat: this.canChat,\n canDoVideo: this.canDoVideo,\n canAnnotate: this.canAnnotate,\n canUseVoip: this.canUseVoip,\n enforceVirtualBackground: this.enforceVirtualBackground,\n supportHQV: this.supportHQV,\n supportHDV: this.supportHDV,\n canShareWhiteBoard: this.canShareWhiteBoard,\n canPollingAndQA: this.canPollingAndQA,\n canStartWebcast: this.canStartWebcast,\n canStopWebcast: this.canStopWebcast,\n canShowStageView: this.canShowStageView,\n canEnableStageView: this.canEnableStageView,\n canDisableStageView: this.canDisableStageView,\n isPracticeSessionOn: this.isPracticeSessionOn,\n isPracticeSessionOff: this.isPracticeSessionOff,\n canStartPracticeSession: this.canStartPracticeSession,\n canStopPracticeSession: this.canStopPracticeSession,\n requiresPostMeetingDataConsentPrompt: this.requiresPostMeetingDataConsentPrompt,\n canEnableAnnotation: this.canEnableAnnotation,\n canDisableAnnotation: this.canDisableAnnotation,\n canEnableRemoteDesktopControl: this.canEnableRemoteDesktopControl,\n canDisableRemoteDesktopControl: this.canDisableRemoteDesktopControl,\n canMoveToLobby: this.canMoveToLobby,\n canEnablePollingQA: this.canEnablePollingQA,\n canDisablePollingQA: this.canDisablePollingQA,\n });\n\n /**\n *\n * @param actions\n * @returns\n */\n\n set = (actions: Partial<IInMeetingActions>) => {\n const old = this.get();\n\n let changed = false;\n\n Object.keys(old).forEach((actionKey) => {\n const actionValue = actions[actionKey];\n\n if (actionValue !== undefined && actionValue !== old[actionKey]) {\n changed = true;\n this[actionKey] = actionValue;\n }\n });\n\n return changed;\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_constants","require","InMeetingActions","exports","default","_createClass2","_this","_classCallCheck2","_defineProperty2","MEETINGS","canInviteNewParticipants","canAdmitParticipant","canLock","canUnlock","canAssignHost","canSetMuteOnEntry","canUnsetMuteOnEntry","canSetDisallowUnmute","canSetMuted","canUnsetMuted","canSetPresenter","canUnsetPresenter","canUnsetDisallowUnmute","canStartRecording","canPauseRecording","canResumeRecording","canStopRecording","isPremiseRecordingEnabled","canRaiseHand","canLowerAllHands","canLowerSomeoneElsesHand","bothLeaveAndEndMeetingAvailable","canEnableClosedCaption","canStartTranscribing","canStopTranscribing","isClosedCaptionActive","canStartManualCaption","isLocalRecordingStarted","isLocalRecordingStopped","isLocalRecordingPaused","isLocalStreamingStarted","isLocalStreamingStopped","canStopManualCaption","isManualCaptionActive","isSaveTranscriptsEnabled","isSpokenLanguageAutoDetectionEnabled","isWebexAssistantActive","canViewCaptionPanel","isRealTimeTranslationEnabled","canSelectSpokenLanguages","waitingForOthersToJoin","canSendReactions","canManageBreakout","canStartBreakout","canBroadcastMessageToBreakout","canAdmitLobbyToBreakout","isBreakoutPreassignmentsEnabled","canUserAskForHelp","canUserRenameSelfAndObserved","canUserRenameOthers","canMuteAll","canUnmuteAll","canEnableHardMute","canDisableHardMute","canEnableMuteOnEntry","canDisableMuteOnEntry","canEnableReactions","canDisableReactions","canEnableReactionDisplayNames","canDisableReactionDisplayNames","canUpdateShareControl","canEnableViewTheParticipantsList","canDisableViewTheParticipantsList","canEnableViewTheParticipantsListPanelist","canDisableViewTheParticipantsListPanelist","canEnableShowAttendeeCount","canDisableShowAttendeeCount","canEnableRaiseHand","canDisableRaiseHand","canEnableVideo","canDisableVideo","canShareFile","canShareApplication","canShareCamera","showAutoEndMeetingWarning","canShareDesktop","canShareContent","canTransferFile","canRealtimeCloseCaption","canRealtimeCloseCaptionManual","canChat","canDoVideo","canAnnotate","canUseVoip","enforceVirtualBackground","supportHQV","supportHDV","canShareWhiteBoard","canPollingAndQA","canStartWebcast","canStopWebcast","canShowStageView","canEnableStageView","canDisableStageView","isPracticeSessionOn","isPracticeSessionOff","canStartPracticeSession","canStopPracticeSession","requiresPostMeetingDataConsentPrompt","canEnableAnnotation","canDisableAnnotation","canEnableRemoteDesktopControl","canDisableRemoteDesktopControl","canMoveToLobby","canEnablePollingQA","canDisablePollingQA","actions","old","get","changed","_keys","forEach","actionKey","actionValue","undefined"],"sources":["in-meeting-actions.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {MEETINGS} from '../constants';\nimport ControlsOptionsUtil from '../controls-options-manager/util';\n\n/**\n * IInMeetingActions\n * Type for In-Meeting Actions\n */\ninterface IInMeetingActions {\n canInviteNewParticipants?: boolean;\n canAdmitParticipant?: boolean;\n canLock?: boolean;\n canUnlock?: boolean;\n canSetMuteOnEntry?: boolean;\n canUnsetMuteOnEntry?: boolean;\n canSetDisallowUnmute?: boolean;\n canUnsetDisallowUnmute?: boolean;\n canSetMuted?: boolean;\n canUnsetMuted?: boolean;\n canAssignHost?: boolean;\n canSetPresenter?: boolean;\n canUnsetPresenter?: boolean;\n canStartRecording?: boolean;\n canPauseRecording?: boolean;\n canResumeRecording?: boolean;\n isPremiseRecordingEnabled?: boolean;\n canStopRecording?: boolean;\n canRaiseHand?: boolean;\n canLowerAllHands?: boolean;\n canLowerSomeoneElsesHand?: boolean;\n bothLeaveAndEndMeetingAvailable?: boolean;\n canEnableClosedCaption?: boolean;\n canStartTranscribing?: boolean;\n canStopTranscribing?: boolean;\n isClosedCaptionActive?: boolean;\n canStartManualCaption?: boolean;\n canStopManualCaption?: boolean;\n isLocalRecordingStarted?: boolean;\n isLocalRecordingStopped?: boolean;\n isLocalRecordingPaused?: boolean;\n isLocalStreamingStarted?: boolean;\n isLocalStreamingStopped?: boolean;\n\n isManualCaptionActive?: boolean;\n isSaveTranscriptsEnabled?: boolean;\n isSpokenLanguageAutoDetectionEnabled?: boolean;\n isWebexAssistantActive?: boolean;\n canViewCaptionPanel?: boolean;\n isRealTimeTranslationEnabled?: boolean;\n canSelectSpokenLanguages?: boolean;\n waitingForOthersToJoin?: boolean;\n canSendReactions?: boolean;\n canManageBreakout?: boolean;\n canStartBreakout?: boolean;\n canBroadcastMessageToBreakout?: boolean;\n canAdmitLobbyToBreakout?: boolean;\n isBreakoutPreassignmentsEnabled?: boolean;\n canUserAskForHelp?: boolean;\n canUserRenameSelfAndObserved?: boolean;\n canUserRenameOthers?: boolean;\n canMuteAll?: boolean;\n canUnmuteAll?: boolean;\n canEnableHardMute?: boolean;\n canDisableHardMute?: boolean;\n canEnableMuteOnEntry?: boolean;\n canDisableMuteOnEntry?: boolean;\n canEnableReactions?: boolean;\n canDisableReactions?: boolean;\n canEnableReactionDisplayNames?: boolean;\n canDisableReactionDisplayNames?: boolean;\n canUpdateShareControl?: boolean;\n canEnableViewTheParticipantsList?: boolean;\n canDisableViewTheParticipantsList?: boolean;\n canEnableViewTheParticipantsListPanelist?: boolean;\n canDisableViewTheParticipantsListPanelist?: boolean;\n canEnableShowAttendeeCount?: boolean;\n canDisableShowAttendeeCount?: boolean;\n canEnableRaiseHand?: boolean;\n canDisableRaiseHand?: boolean;\n canEnableVideo?: boolean;\n canDisableVideo?: boolean;\n canShareFile?: boolean;\n canShareApplication?: boolean;\n canShareCamera?: boolean;\n canShareDesktop?: boolean;\n canShareContent?: boolean;\n canTransferFile?: boolean;\n canRealtimeCloseCaption?: boolean;\n canRealtimeCloseCaptionManual?: boolean;\n canChat?: boolean;\n canDoVideo?: boolean;\n canAnnotate?: boolean;\n canUseVoip?: boolean;\n showAutoEndMeetingWarning?: boolean;\n supportHQV?: boolean;\n supportHDV?: boolean;\n canShareWhiteBoard?: boolean;\n enforceVirtualBackground?: boolean;\n canPollingAndQA?: boolean;\n canStartWebcast?: boolean;\n canStopWebcast?: boolean;\n canShowStageView?: boolean;\n canEnableStageView?: boolean;\n canDisableStageView?: boolean;\n isPracticeSessionOn?: boolean;\n isPracticeSessionOff?: boolean;\n canStartPracticeSession?: boolean;\n canStopPracticeSession?: boolean;\n requiresPostMeetingDataConsentPrompt?: boolean;\n canEnableAnnotation?: boolean;\n canDisableAnnotation?: boolean;\n canEnableRemoteDesktopControl?: boolean;\n canDisableRemoteDesktopControl?: boolean;\n canMoveToLobby?: boolean;\n canEnablePollingQA?: boolean;\n canDisablePollingQA?: boolean;\n}\n\n/**\n * @class InMeetingActions\n */\nexport default class InMeetingActions implements IInMeetingActions {\n namespace = MEETINGS;\n\n canInviteNewParticipants = null;\n\n canAdmitParticipant = null;\n\n canLock = null;\n\n canUnlock = null;\n\n canAssignHost = null;\n\n canStartRecording = null;\n\n canPauseRecording = null;\n\n canResumeRecording = null;\n\n isPremiseRecordingEnabled = null;\n\n canStopRecording = null;\n\n canSetMuteOnEntry = null;\n\n canSetPresenter = null;\n\n canUnsetPresenter = null;\n\n canUnsetMuteOnEntry = null;\n\n canSetDisallowUnmute = null;\n\n canUnsetDisallowUnmute = null;\n\n canSetMuted = null;\n\n canUnsetMuted = null;\n\n canRaiseHand = null;\n\n canLowerAllHands = null;\n\n canLowerSomeoneElsesHand = null;\n\n bothLeaveAndEndMeetingAvailable = null;\n\n canEnableClosedCaption = null;\n\n canStartTranscribing = null;\n\n canStopTranscribing = null;\n\n isClosedCaptionActive = null;\n\n canStartManualCaption = null;\n\n canStopManualCaption = null;\n\n isLocalRecordingStopped = null;\n\n isLocalRecordingStarted = null;\n\n isLocalRecordingPaused = null;\n\n isManualCaptionActive = null;\n\n isLocalStreamingStarted = null;\n\n isLocalStreamingStopped = null;\n\n isSaveTranscriptsEnabled = null;\n\n isSpokenLanguageAutoDetectionEnabled = null;\n\n isWebexAssistantActive = null;\n\n canViewCaptionPanel = null;\n\n isRealTimeTranslationEnabled = null;\n\n canSelectSpokenLanguages = null;\n\n waitingForOthersToJoin = null;\n\n canSendReactions = null;\n\n canManageBreakout = null;\n\n canStartBreakout = null;\n\n canBroadcastMessageToBreakout = null;\n\n canAdmitLobbyToBreakout = null;\n\n isBreakoutPreassignmentsEnabled = null;\n\n canUserAskForHelp = null;\n\n canUserRenameSelfAndObserved = null;\n\n canUserRenameOthers = null;\n\n canMuteAll = null;\n\n canUnmuteAll = null;\n\n canEnableHardMute = null;\n\n canDisableHardMute = null;\n\n canEnableMuteOnEntry = null;\n\n canDisableMuteOnEntry = null;\n\n canEnableReactions = null;\n\n canDisableReactions = null;\n\n canEnableReactionDisplayNames = null;\n\n canDisableReactionDisplayNames = null;\n\n canUpdateShareControl = null;\n\n canEnableViewTheParticipantsList = null;\n\n canDisableViewTheParticipantsList = null;\n\n canEnableViewTheParticipantsListPanelist = null;\n\n canDisableViewTheParticipantsListPanelist = null;\n\n canEnableShowAttendeeCount = null;\n\n canDisableShowAttendeeCount = null;\n\n canEnableRaiseHand = null;\n\n canDisableRaiseHand = null;\n\n canEnableVideo = null;\n\n canDisableVideo = null;\n\n canShareFile = null;\n\n canShareApplication = null;\n\n canShareCamera = null;\n\n canShareDesktop = null;\n\n canShareContent = null;\n\n canTransferFile = null;\n\n canRealtimeCloseCaption = null;\n\n canRealtimeCloseCaptionManual = null;\n\n canChat = null;\n\n canDoVideo = null;\n\n canAnnotate = null;\n\n canUseVoip = null;\n\n showAutoEndMeetingWarning = null;\n\n supportHQV = null;\n\n enforceVirtualBackground = null;\n\n supportHDV = null;\n\n canShareWhiteBoard = null;\n\n canPollingAndQA = null;\n\n canStartWebcast = null;\n\n canStopWebcast = null;\n\n canShowStageView = null;\n\n canEnableStageView = null;\n\n canDisableStageView = null;\n\n isPracticeSessionOn = null;\n\n isPracticeSessionOff = null;\n\n canStartPracticeSession = null;\n\n canStopPracticeSession = null;\n\n requiresPostMeetingDataConsentPrompt = null;\n\n canEnableAnnotation = null;\n\n canDisableAnnotation = null;\n\n canEnableRemoteDesktopControl = null;\n\n canDisableRemoteDesktopControl = null;\n\n canMoveToLobby = null;\n\n canEnablePollingQA = null;\n\n canDisablePollingQA = null;\n\n /**\n * Returns all meeting action options\n * @returns {Object}\n */\n get = (): IInMeetingActions => ({\n canInviteNewParticipants: this.canInviteNewParticipants,\n canAdmitParticipant: this.canAdmitParticipant,\n canLock: this.canLock,\n canUnlock: this.canUnlock,\n canAssignHost: this.canAssignHost,\n canSetMuteOnEntry: this.canSetMuteOnEntry,\n canUnsetMuteOnEntry: this.canUnsetMuteOnEntry,\n canSetDisallowUnmute: this.canSetDisallowUnmute,\n canSetMuted: this.canSetMuted,\n canUnsetMuted: this.canUnsetMuted,\n canSetPresenter: this.canSetPresenter,\n canUnsetPresenter: this.canUnsetPresenter,\n canUnsetDisallowUnmute: this.canUnsetDisallowUnmute,\n canStartRecording: this.canStartRecording,\n canPauseRecording: this.canPauseRecording,\n canResumeRecording: this.canResumeRecording,\n canStopRecording: this.canStopRecording,\n isPremiseRecordingEnabled: this.isPremiseRecordingEnabled,\n canRaiseHand: this.canRaiseHand,\n canLowerAllHands: this.canLowerAllHands,\n canLowerSomeoneElsesHand: this.canLowerSomeoneElsesHand,\n bothLeaveAndEndMeetingAvailable: this.bothLeaveAndEndMeetingAvailable,\n canEnableClosedCaption: this.canEnableClosedCaption,\n canStartTranscribing: this.canStartTranscribing,\n canStopTranscribing: this.canStopTranscribing,\n isClosedCaptionActive: this.isClosedCaptionActive,\n canStartManualCaption: this.canStartManualCaption,\n isLocalRecordingStarted: this.isLocalRecordingStarted,\n isLocalRecordingStopped: this.isLocalRecordingStopped,\n isLocalRecordingPaused: this.isLocalRecordingPaused,\n isLocalStreamingStarted: this.isLocalStreamingStarted,\n isLocalStreamingStopped: this.isLocalStreamingStopped,\n canStopManualCaption: this.canStopManualCaption,\n isManualCaptionActive: this.isManualCaptionActive,\n isSaveTranscriptsEnabled: this.isSaveTranscriptsEnabled,\n isSpokenLanguageAutoDetectionEnabled: this.isSpokenLanguageAutoDetectionEnabled,\n isWebexAssistantActive: this.isWebexAssistantActive,\n canViewCaptionPanel: this.canViewCaptionPanel,\n isRealTimeTranslationEnabled: this.isRealTimeTranslationEnabled,\n canSelectSpokenLanguages: this.canSelectSpokenLanguages,\n waitingForOthersToJoin: this.waitingForOthersToJoin,\n canSendReactions: this.canSendReactions,\n canManageBreakout: this.canManageBreakout,\n canStartBreakout: this.canStartBreakout,\n canBroadcastMessageToBreakout: this.canBroadcastMessageToBreakout,\n canAdmitLobbyToBreakout: this.canAdmitLobbyToBreakout,\n isBreakoutPreassignmentsEnabled: this.isBreakoutPreassignmentsEnabled,\n canUserAskForHelp: this.canUserAskForHelp,\n canUserRenameSelfAndObserved: this.canUserRenameSelfAndObserved,\n canUserRenameOthers: this.canUserRenameOthers,\n canMuteAll: this.canMuteAll,\n canUnmuteAll: this.canUnmuteAll,\n canEnableHardMute: this.canEnableHardMute,\n canDisableHardMute: this.canDisableHardMute,\n canEnableMuteOnEntry: this.canEnableMuteOnEntry,\n canDisableMuteOnEntry: this.canDisableMuteOnEntry,\n canEnableReactions: this.canEnableReactions,\n canDisableReactions: this.canDisableReactions,\n canEnableReactionDisplayNames: this.canEnableReactionDisplayNames,\n canDisableReactionDisplayNames: this.canDisableReactionDisplayNames,\n canUpdateShareControl: this.canUpdateShareControl,\n canEnableViewTheParticipantsList: this.canEnableViewTheParticipantsList,\n canDisableViewTheParticipantsList: this.canDisableViewTheParticipantsList,\n canEnableViewTheParticipantsListPanelist: this.canEnableViewTheParticipantsListPanelist,\n canDisableViewTheParticipantsListPanelist: this.canDisableViewTheParticipantsListPanelist,\n canEnableShowAttendeeCount: this.canEnableShowAttendeeCount,\n canDisableShowAttendeeCount: this.canDisableShowAttendeeCount,\n canEnableRaiseHand: this.canEnableRaiseHand,\n canDisableRaiseHand: this.canDisableRaiseHand,\n canEnableVideo: this.canEnableVideo,\n canDisableVideo: this.canDisableVideo,\n canShareFile: this.canShareFile,\n canShareApplication: this.canShareApplication,\n canShareCamera: this.canShareCamera,\n showAutoEndMeetingWarning: this.showAutoEndMeetingWarning,\n canShareDesktop: this.canShareDesktop,\n canShareContent: this.canShareContent,\n canTransferFile: this.canTransferFile,\n canRealtimeCloseCaption: this.canRealtimeCloseCaption,\n canRealtimeCloseCaptionManual: this.canRealtimeCloseCaptionManual,\n canChat: this.canChat,\n canDoVideo: this.canDoVideo,\n canAnnotate: this.canAnnotate,\n canUseVoip: this.canUseVoip,\n enforceVirtualBackground: this.enforceVirtualBackground,\n supportHQV: this.supportHQV,\n supportHDV: this.supportHDV,\n canShareWhiteBoard: this.canShareWhiteBoard,\n canPollingAndQA: this.canPollingAndQA,\n canStartWebcast: this.canStartWebcast,\n canStopWebcast: this.canStopWebcast,\n canShowStageView: this.canShowStageView,\n canEnableStageView: this.canEnableStageView,\n canDisableStageView: this.canDisableStageView,\n isPracticeSessionOn: this.isPracticeSessionOn,\n isPracticeSessionOff: this.isPracticeSessionOff,\n canStartPracticeSession: this.canStartPracticeSession,\n canStopPracticeSession: this.canStopPracticeSession,\n requiresPostMeetingDataConsentPrompt: this.requiresPostMeetingDataConsentPrompt,\n canEnableAnnotation: this.canEnableAnnotation,\n canDisableAnnotation: this.canDisableAnnotation,\n canEnableRemoteDesktopControl: this.canEnableRemoteDesktopControl,\n canDisableRemoteDesktopControl: this.canDisableRemoteDesktopControl,\n canMoveToLobby: this.canMoveToLobby,\n canEnablePollingQA: this.canEnablePollingQA,\n canDisablePollingQA: this.canDisablePollingQA,\n });\n\n /**\n *\n * @param actions\n * @returns\n */\n\n set = (actions: Partial<IInMeetingActions>) => {\n const old = this.get();\n\n let changed = false;\n\n Object.keys(old).forEach((actionKey) => {\n const actionValue = actions[actionKey];\n\n if (actionValue !== undefined && actionValue !== old[actionKey]) {\n changed = true;\n this[actionKey] = actionValue;\n }\n });\n\n return changed;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|