@webex/plugin-meetings 3.5.0 → 3.6.0-next.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.
Files changed (52) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/config.js +4 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/constants.js +1 -0
  6. package/dist/constants.js.map +1 -1
  7. package/dist/interpretation/index.js +1 -1
  8. package/dist/interpretation/siLanguage.js +1 -1
  9. package/dist/media/index.js +3 -1
  10. package/dist/media/index.js.map +1 -1
  11. package/dist/meeting/in-meeting-actions.js +3 -1
  12. package/dist/meeting/in-meeting-actions.js.map +1 -1
  13. package/dist/meeting/index.js +39 -4
  14. package/dist/meeting/index.js.map +1 -1
  15. package/dist/meeting/util.js +8 -10
  16. package/dist/meeting/util.js.map +1 -1
  17. package/dist/meetings/index.js +100 -26
  18. package/dist/meetings/index.js.map +1 -1
  19. package/dist/roap/request.js +1 -1
  20. package/dist/roap/request.js.map +1 -1
  21. package/dist/types/config.d.ts +2 -0
  22. package/dist/types/constants.d.ts +2 -1
  23. package/dist/types/meeting/in-meeting-actions.d.ts +2 -0
  24. package/dist/types/meeting/index.d.ts +11 -0
  25. package/dist/types/meetings/index.d.ts +43 -2
  26. package/dist/webinar/index.js +1 -1
  27. package/package.json +22 -22
  28. package/src/config.ts +3 -0
  29. package/src/constants.ts +1 -0
  30. package/src/media/index.ts +4 -1
  31. package/src/meeting/in-meeting-actions.ts +3 -0
  32. package/src/meeting/index.ts +42 -2
  33. package/src/meeting/util.ts +27 -31
  34. package/src/meetings/index.ts +126 -37
  35. package/src/roap/request.ts +3 -1
  36. package/test/unit/spec/media/index.ts +4 -0
  37. package/test/unit/spec/meeting/in-meeting-actions.ts +2 -0
  38. package/test/unit/spec/meeting/index.js +58 -17
  39. package/test/unit/spec/meeting/utils.js +50 -85
  40. package/test/unit/spec/meetings/index.js +128 -13
  41. package/dist/networkQualityMonitor/index.js +0 -227
  42. package/dist/networkQualityMonitor/index.js.map +0 -1
  43. package/dist/rtcMetrics/constants.js +0 -11
  44. package/dist/rtcMetrics/constants.js.map +0 -1
  45. package/dist/rtcMetrics/index.js +0 -197
  46. package/dist/rtcMetrics/index.js.map +0 -1
  47. package/dist/types/networkQualityMonitor/index.d.ts +0 -70
  48. package/dist/types/rtcMetrics/constants.d.ts +0 -4
  49. package/dist/types/rtcMetrics/index.d.ts +0 -71
  50. package/src/rtcMetrics/constants.ts +0 -3
  51. package/src/rtcMetrics/index.ts +0 -186
  52. package/test/unit/spec/rtcMetrics/index.ts +0 -154
@@ -18,7 +18,7 @@ var SILanguage = _webexCore.WebexPlugin.extend({
18
18
  languageCode: 'number',
19
19
  languageName: 'string'
20
20
  },
21
- version: "3.5.0"
21
+ version: "3.6.0-next.1"
22
22
  });
23
23
  var _default = exports.default = SILanguage;
24
24
  //# sourceMappingURL=siLanguage.js.map
@@ -116,7 +116,8 @@ Media.createMediaConnection = function (isMultistream, debugId, meetingId, optio
116
116
  enableRtx = options.enableRtx,
117
117
  enableExtmap = options.enableExtmap,
118
118
  turnServerInfo = options.turnServerInfo,
119
- bundlePolicy = options.bundlePolicy;
119
+ bundlePolicy = options.bundlePolicy,
120
+ iceCandidatesTimeout = options.iceCandidatesTimeout;
120
121
  var iceServers = [];
121
122
 
122
123
  // we might not have any TURN server if TURN discovery failed or wasn't done or
@@ -166,6 +167,7 @@ Media.createMediaConnection = function (isMultistream, debugId, meetingId, optio
166
167
  shareAudioStream = mediaProperties.shareAudioStream;
167
168
  return new _internalMediaCore.RoapMediaConnection({
168
169
  iceServers: iceServers,
170
+ iceCandidatesTimeout: iceCandidatesTimeout,
169
171
  skipInactiveTransceivers: false,
170
172
  requireH264: true,
171
173
  sdpMunging: {
@@ -1 +1 @@
1
- {"version":3,"names":["_internalMediaCore","require","_loggerProxy","_interopRequireDefault","_constants","_config","_config2","_browserDetection","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_BrowserDetection","BrowserDetection","isBrowser","Media","getLocalMedia","options","config","sendAudio","sendVideo","sendShare","sharePreferences","isSharing","getMedia","getDisplayMedia","_promise","resolve","undefined","getDirection","forceSendRecv","receive","send","createMediaConnection","isMultistream","debugId","meetingId","_audioStream$outputSt","_videoStream$outputSt","_shareVideoStream$out","_shareAudioStream$out","rtcMetrics","mediaProperties","remoteQualityLevel","enableRtx","enableExtmap","turnServerInfo","bundlePolicy","iceServers","url","bareTurnServer","replace","urls","username","credential","password","MultistreamRoapMediaConnection","data","addMetrics","closeMetrics","sendMetricsInQueue","Error","mediaDirection","audioStream","videoStream","shareVideoStream","shareAudioStream","RoapMediaConnection","skipInactiveTransceivers","requireH264","sdpMunging","convertPort9to0","addContentSlides","bandwidthLimits","audio","StaticConfig","meetings","bandwidth","video","startBitrate","periodicKeyframes","disableExtmap","disableRtx","localTracks","outputStream","getTracks","screenShareVideo","screenShareAudio","direction","receiveAudio","receiveVideo","receiveShare","customResolution","screenResolution","customShareFrameRate","screenFrameRate","hasSharePreferences","hasCustomConstraints","shareConstraints","hasHighFrameRate","highFrameRate","_Config$meetings","Config","resolution","videoShareFrameRate","aspectRatio","cursor","MEDIA_TRACK_CONSTRAINT","CURSOR","AWLAYS","frameRate","height","idealHeight","width","idealWidth","mediaConfig","navigator","mediaDevices","then","stream","getVideoTracks","applyConstraints","getDisplayMediaParams","defaultWidth","ideal","max","maxWidth","defaultHeight","maxHeight","deviceId","facingMode","fake","process","env","NODE_ENV","getUserMedia","catch","err","logPath","LoggerProxy","logger","error","concat","constraint","toggleStream","stopStream","stop","readyState","mediaSetting","audioVideo","localStream","shareStream","_default","exports"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n/* globals navigator */\n\nimport {\n RoapMediaConnection,\n MultistreamRoapMediaConnection,\n type MultistreamConnectionConfig,\n} from '@webex/internal-media-core';\nimport {\n LocalStream,\n LocalCameraStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n LocalMicrophoneStream,\n} from '@webex/media-helpers';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {MEDIA_TRACK_CONSTRAINT} from '../constants';\nimport Config from '../config';\nimport StaticConfig from '../common/config';\nimport BrowserDetection from '../common/browser-detection';\nimport RtcMetrics from '../rtcMetrics';\n\nconst {isBrowser} = BrowserDetection();\n\nexport type BundlePolicy = MultistreamConnectionConfig['bundlePolicy'];\n\n/**\n * MediaDirection\n * @typedef {Object} MediaDirection\n * @property {boolean} sendAudio\n * @property {boolean} receiveAudio\n * @property {boolean} sendVideo\n * @property {boolean} receiveVideo\n * @property {boolean} sendShare\n * @property {boolean} receiveShare\n */\n\n/**\n * SendOptions\n * @typedef {Object} SendOptions\n * @property sendAudio\n * @property sendVideo\n * @property sendShare\n * @property isSharing\n * @property {Object} sharePreferences\n */\n/**\n *\n * @public\n * @export\n * Mimic browser APIs as \"the ultimate browser\".\n * Handles the quirks of each browser.\n * Extends and enhances adapter.js, i.e., the \"media\" file from the web client.\n */\nconst Media: any = {};\n\n/**\n * make a browser call to get the media\n * @param {SendOptions} options\n * @param {Object} config SDK Configuration for meetings plugin\n * @returns {Promise}\n */\nMedia.getLocalMedia = (options: any, config: object) => {\n const {sendAudio, sendVideo, sendShare, sharePreferences, isSharing} = options;\n\n if (sendAudio || sendVideo) {\n return Media.getMedia(sendAudio, sendVideo, config);\n }\n\n if (sendShare && !isSharing) {\n return Media.getDisplayMedia(\n {\n sendAudio: false,\n sendShare: true,\n sharePreferences,\n },\n config\n );\n }\n\n return Promise.resolve(undefined);\n};\n\nMedia.getDirection = (forceSendRecv: boolean, receive: boolean, send: boolean) => {\n if (!receive && !send) {\n return 'inactive';\n }\n\n if (forceSendRecv || (receive && send)) {\n return 'sendrecv';\n }\n\n if (receive) {\n return 'recvonly';\n }\n\n return 'sendonly';\n};\n\n/**\n * creates a webrtc media connection with provided tracks and mediaDirection configuration\n *\n * @param {boolean} isMultistream\n * @param {string} debugId string useful for debugging (will appear in media connection logs)\n * @param {string} meetingId id for the meeting using this connection\n * @param {Object} options\n * @param {Object} [options.mediaProperties] contains mediaDirection and local tracks:\n * audioTrack, videoTrack, shareVideoTrack, and shareAudioTrack\n * @param {string} [options.remoteQualityLevel] LOW|MEDIUM|HIGH applicable only to non-multistream connections\n * @param {boolean} [options.enableRtx] applicable only to non-multistream connections\n * @param {boolean} [options.enableExtmap] applicable only to non-multistream connections\n * @param {Object} [options.turnServerInfo]\n * @param {BundlePolicy} [options.bundlePolicy]\n * @returns {RoapMediaConnection | MultistreamRoapMediaConnection}\n */\nMedia.createMediaConnection = (\n isMultistream: boolean,\n debugId: string,\n meetingId: string,\n options: {\n rtcMetrics?: RtcMetrics;\n mediaProperties: {\n mediaDirection?: {\n receiveAudio: boolean;\n receiveVideo: boolean;\n receiveShare: boolean;\n sendAudio: boolean;\n sendVideo: boolean;\n sendShare: boolean;\n };\n audioStream?: LocalMicrophoneStream;\n videoStream?: LocalCameraStream;\n shareVideoStream?: LocalDisplayStream;\n shareAudioStream?: LocalSystemAudioStream;\n };\n remoteQualityLevel?: 'LOW' | 'MEDIUM' | 'HIGH';\n enableRtx?: boolean;\n enableExtmap?: boolean;\n turnServerInfo?: {\n url: string;\n username: string;\n password: string;\n };\n bundlePolicy?: BundlePolicy;\n }\n) => {\n const {\n rtcMetrics,\n mediaProperties,\n remoteQualityLevel,\n enableRtx,\n enableExtmap,\n turnServerInfo,\n bundlePolicy,\n } = options;\n\n const iceServers = [];\n\n // we might not have any TURN server if TURN discovery failed or wasn't done or\n // we might get an empty TURN url if we land on a video mesh node\n if (turnServerInfo?.url) {\n if (!isBrowser('firefox')) {\n let bareTurnServer = turnServerInfo.url;\n bareTurnServer = bareTurnServer.replace('turns:', 'turn:');\n bareTurnServer = bareTurnServer.replace('443', '5004');\n\n iceServers.push({\n urls: bareTurnServer,\n username: turnServerInfo.username || '',\n credential: turnServerInfo.password || '',\n });\n }\n\n // TURN-TLS server\n iceServers.push({\n urls: turnServerInfo.url,\n username: turnServerInfo.username || '',\n credential: turnServerInfo.password || '',\n });\n }\n\n if (isMultistream) {\n const config: MultistreamConnectionConfig = {\n iceServers,\n };\n\n if (bundlePolicy) {\n config.bundlePolicy = bundlePolicy;\n }\n\n return new MultistreamRoapMediaConnection(\n config,\n meetingId,\n /* the rtc metrics objects callbacks */\n (data) => rtcMetrics?.addMetrics(data),\n () => rtcMetrics?.closeMetrics(),\n () => rtcMetrics?.sendMetricsInQueue()\n );\n }\n\n if (!mediaProperties) {\n throw new Error('mediaProperties have to be provided for non-multistream media connections');\n }\n\n const {mediaDirection, audioStream, videoStream, shareVideoStream, shareAudioStream} =\n mediaProperties;\n\n return new RoapMediaConnection(\n {\n iceServers,\n skipInactiveTransceivers: false,\n requireH264: true,\n sdpMunging: {\n convertPort9to0: false,\n addContentSlides: true,\n bandwidthLimits: {\n audio: StaticConfig.meetings.bandwidth.audio,\n video: StaticConfig.meetings.bandwidth.video,\n },\n startBitrate: StaticConfig.meetings.bandwidth.startBitrate,\n periodicKeyframes: 20, // it's always been hardcoded in SDK so for now keeping it that way\n disableExtmap: !enableExtmap,\n disableRtx: !enableRtx, // see https://bugs.chromium.org/p/chromium/issues/detail?id=1020642 why we might want to remove RTX from SDP\n },\n },\n {\n // TODO: RoapMediaConnection is not ready to use stream classes yet, so we pass the raw MediaStreamTrack for now SPARK-460530\n localTracks: {\n audio: audioStream?.outputStream?.getTracks()[0],\n video: videoStream?.outputStream?.getTracks()[0],\n screenShareVideo: shareVideoStream?.outputStream?.getTracks()[0],\n screenShareAudio: shareAudioStream?.outputStream?.getTracks()[0], // TODO: add type for screenShareAudio in internal-media-core SPARK-446923\n } as unknown,\n direction: {\n audio: Media.getDirection(true, mediaDirection.receiveAudio, mediaDirection.sendAudio),\n video: Media.getDirection(true, mediaDirection.receiveVideo, mediaDirection.sendVideo),\n screenShareVideo: Media.getDirection(\n false,\n mediaDirection.receiveShare,\n mediaDirection.sendShare\n ),\n },\n remoteQualityLevel,\n },\n debugId\n );\n};\n\n/**\n * generates share streams\n * @param {Object} options parameter\n * @param {Boolean} options.sendAudio send audio from the display share\n * @param {Boolean} options.sendShare send video from the display share\n * @param {Object} options.sharePreferences\n * @param {MediaTrackConstraints} options.sharePreferences.shareConstraints constraints to apply to video\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints}\n * @param {Boolean} options.sharePreferences.highFrameRate if shareConstraints isn't provided, set default values based off of this boolean\n * @param {Object} config SDK Configuration for meetings plugin\n * @returns {Promise.<MediaStream>}\n */\nMedia.getDisplayMedia = (\n options: {\n sendAudio: boolean;\n sendShare: boolean;\n sharePreferences: {\n shareConstraints: MediaTrackConstraints;\n highFrameRate: any;\n };\n },\n config: any = {}\n) => {\n // SDK screen share resolution settings from Webex.init\n const customResolution = config.screenResolution || {};\n // user defined screen share frame rate\n const customShareFrameRate = config.screenFrameRate || null;\n // user defined share preferences\n const hasSharePreferences = options.sharePreferences;\n const hasCustomConstraints = hasSharePreferences && hasSharePreferences.shareConstraints;\n const hasHighFrameRate = hasSharePreferences && hasSharePreferences.highFrameRate;\n const {screenResolution, resolution, videoShareFrameRate, screenFrameRate, aspectRatio} =\n Config.meetings;\n\n let shareConstraints: any = {\n cursor: MEDIA_TRACK_CONSTRAINT.CURSOR.AWLAYS,\n aspectRatio,\n };\n\n if (hasCustomConstraints) {\n shareConstraints = hasSharePreferences.shareConstraints;\n } else if (hasHighFrameRate) {\n shareConstraints = {\n ...shareConstraints,\n frameRate: videoShareFrameRate,\n height: resolution.idealHeight,\n width: resolution.idealWidth,\n ...config.resolution,\n };\n } else {\n shareConstraints = {\n ...shareConstraints,\n frameRate: customShareFrameRate || screenFrameRate,\n height: customResolution.idealHeight || screenResolution.idealHeight,\n width: customResolution.idealWidth || screenResolution.idealWidth,\n ...config.screenResolution,\n };\n }\n\n // chrome and webkit based browsers (edge, safari) automatically adjust everything\n // and we have noticed higher quality with those browser types\n // firefox specifically has some issues with resolution and frame rate decision making\n // so we are making it optional and configurable (with defaults) for firefox\n // to have higher quality, and for developers to control the values\n // eventually we may have to add the same functionality to chrome, OR conversely, get to with firefox\n\n if (isBrowser('firefox')) {\n const mediaConfig: any = {\n audio: options.sendAudio,\n video: options.sendShare,\n };\n\n return navigator.mediaDevices\n .getDisplayMedia({audio: options.sendAudio, video: mediaConfig})\n .then((stream) => {\n if (options.sendShare && stream.getVideoTracks().length > 0) {\n // Firefox has a bug with the spec where changing in the height and width only happens\n // after we get the inital tracks\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1321221\n stream.getVideoTracks()[0].applyConstraints(shareConstraints);\n }\n\n return stream;\n });\n }\n\n const getDisplayMediaParams: any = {video: options.sendShare ? shareConstraints : false};\n\n // safari doesn't support sending screen share audio\n // https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia\n if (options.sendAudio && isBrowser('safari')) {\n getDisplayMediaParams.audio = options.sendAudio;\n }\n\n return navigator.mediaDevices.getDisplayMedia(getDisplayMediaParams);\n};\n\n/**\n * generates audio and video using constraints (often called after getSupportedDevices)\n * @param {Object|Boolean} audio gum constraints\n * @param {Object|Boolean} video gum constraints\n * @param {Object} config SDK Configuration for meetings plugin\n * @returns {Object} {streams}\n */\nMedia.getMedia = (audio: any | boolean, video: any | boolean, config: any) => {\n const defaultWidth = {ideal: config.resolution.idealWidth, max: config.resolution.maxWidth};\n const defaultHeight = {ideal: config.resolution.idealHeight, max: config.resolution.maxHeight};\n const mediaConfig = {\n audio,\n // TODO: Remove temporary workaround once Firefox fixes low constraint issues\n // eslint-disable-next-line no-nested-ternary\n video: video\n ? isBrowser('firefox') && video.width && video.width.max === 320\n ? {\n deviceId: video.deviceId ? video.deviceId : undefined,\n width: 320,\n height: 180,\n frameRate: video.frameRate ? video.frameRate : undefined,\n facingMode: video.facingMode ? video.facingMode : undefined,\n }\n : {\n deviceId: video.deviceId ? video.deviceId : undefined,\n width: video.width ? video.width : defaultWidth,\n height: video.height ? video.height : defaultHeight,\n frameRate: video.frameRate ? video.frameRate : undefined,\n facingMode: video.facingMode ? video.facingMode : undefined,\n }\n : false,\n fake: process.env.NODE_ENV === 'test', // Special case to get fake media for Firefox browser for testing\n };\n\n return navigator.mediaDevices.getUserMedia(mediaConfig).catch((err) => {\n const logPath = 'Media:index#getMedia --> navigator.mediaDevices.getUserMedia';\n\n LoggerProxy.logger.error(`${logPath} failed - ${err} (${err.constraint})`);\n throw err;\n });\n};\n\n/**\n *\n * Toggle a specific stream\n * noop as of now, does nothing\n * @returns {null}\n */\nMedia.toggleStream = () => {};\n\n/**\n * Stop input stream\n * @param {LocalStream} stream A local stream\n * @returns {null}\n */\nMedia.stopStream = (stream: LocalStream) => {\n if (!stream) {\n return Promise.resolve();\n }\n\n return Promise.resolve().then(() => {\n try {\n stream.stop();\n } catch (e) {\n LoggerProxy.logger.error(\n `Media:index#stopStream --> Unable to stop the stream with ready state => ${stream.readyState}, error: ${e}`\n );\n }\n });\n};\n\n/**\n * generates streams for audio video and share\n * @param {object} mediaSetting parameter\n * @param {Object} mediaSetting.sendAudio sendAudio: {Boolean} sendAudio constraints\n * @param {Object} mediaSetting.sendVideo sendVideo: {Boolean} sendVideo constraints\n * @param {Object} mediaSetting.sendShare sendShare: {Boolean} sendShare constraints\n * @param {Object} mediaSetting.isSharing isSharing: {Boolean} isSharing constraints\n * @param {Object} audioVideo parameter\n * @param {Object} audioVideo.audio {deviceId: {String}}\n * @param {Object} audioVideo.video {deviceId: {String}}\n * @param {Object} sharePreferences parameter\n * @param {Object} sharePreferences.shareConstraints parameter\n * @param {Boolean} sharePreferences.highFrameRate parameter\n * @param {Object} config SDK Config\n * @returns {Array} [localStream, shareStream]\n */\nMedia.getUserMedia = (\n mediaSetting: {\n sendAudio: object;\n sendVideo: object;\n sendShare: object;\n isSharing: object;\n },\n audioVideo: {\n audio: object;\n video: object;\n },\n sharePreferences: {\n shareConstraints: object;\n highFrameRate: boolean;\n },\n config: object\n) =>\n Media.getLocalMedia(\n {\n sendAudio: mediaSetting.sendAudio ? audioVideo.audio || mediaSetting.sendAudio : false,\n sendVideo: mediaSetting.sendVideo ? audioVideo.video || mediaSetting.sendVideo : false,\n },\n config\n ).then((localStream) =>\n Media.getLocalMedia(\n {\n sendShare: mediaSetting.sendShare,\n isSharing: mediaSetting.isSharing,\n sharePreferences,\n },\n config\n ).then((shareStream) => [localStream, shareStream])\n );\n\nexport default Media;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_internalMediaCore","require","_loggerProxy","_interopRequireDefault","_constants","_config","_config2","_browserDetection","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_BrowserDetection","BrowserDetection","isBrowser","Media","getLocalMedia","options","config","sendAudio","sendVideo","sendShare","sharePreferences","isSharing","getMedia","getDisplayMedia","_promise","resolve","undefined","getDirection","forceSendRecv","receive","send","createMediaConnection","isMultistream","debugId","meetingId","_audioStream$outputSt","_videoStream$outputSt","_shareVideoStream$out","_shareAudioStream$out","rtcMetrics","mediaProperties","remoteQualityLevel","enableRtx","enableExtmap","turnServerInfo","bundlePolicy","iceCandidatesTimeout","iceServers","url","bareTurnServer","replace","urls","username","credential","password","MultistreamRoapMediaConnection","data","addMetrics","closeMetrics","sendMetricsInQueue","Error","mediaDirection","audioStream","videoStream","shareVideoStream","shareAudioStream","RoapMediaConnection","skipInactiveTransceivers","requireH264","sdpMunging","convertPort9to0","addContentSlides","bandwidthLimits","audio","StaticConfig","meetings","bandwidth","video","startBitrate","periodicKeyframes","disableExtmap","disableRtx","localTracks","outputStream","getTracks","screenShareVideo","screenShareAudio","direction","receiveAudio","receiveVideo","receiveShare","customResolution","screenResolution","customShareFrameRate","screenFrameRate","hasSharePreferences","hasCustomConstraints","shareConstraints","hasHighFrameRate","highFrameRate","_Config$meetings","Config","resolution","videoShareFrameRate","aspectRatio","cursor","MEDIA_TRACK_CONSTRAINT","CURSOR","AWLAYS","frameRate","height","idealHeight","width","idealWidth","mediaConfig","navigator","mediaDevices","then","stream","getVideoTracks","applyConstraints","getDisplayMediaParams","defaultWidth","ideal","max","maxWidth","defaultHeight","maxHeight","deviceId","facingMode","fake","process","env","NODE_ENV","getUserMedia","catch","err","logPath","LoggerProxy","logger","error","concat","constraint","toggleStream","stopStream","stop","readyState","mediaSetting","audioVideo","localStream","shareStream","_default","exports"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n/* globals navigator */\n\nimport {\n RoapMediaConnection,\n MultistreamRoapMediaConnection,\n type MultistreamConnectionConfig,\n} from '@webex/internal-media-core';\nimport {\n LocalStream,\n LocalCameraStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n LocalMicrophoneStream,\n} from '@webex/media-helpers';\nimport {RtcMetrics} from '@webex/internal-plugin-metrics';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {MEDIA_TRACK_CONSTRAINT} from '../constants';\nimport Config from '../config';\nimport StaticConfig from '../common/config';\nimport BrowserDetection from '../common/browser-detection';\n\nconst {isBrowser} = BrowserDetection();\n\nexport type BundlePolicy = MultistreamConnectionConfig['bundlePolicy'];\n\n/**\n * MediaDirection\n * @typedef {Object} MediaDirection\n * @property {boolean} sendAudio\n * @property {boolean} receiveAudio\n * @property {boolean} sendVideo\n * @property {boolean} receiveVideo\n * @property {boolean} sendShare\n * @property {boolean} receiveShare\n */\n\n/**\n * SendOptions\n * @typedef {Object} SendOptions\n * @property sendAudio\n * @property sendVideo\n * @property sendShare\n * @property isSharing\n * @property {Object} sharePreferences\n */\n/**\n *\n * @public\n * @export\n * Mimic browser APIs as \"the ultimate browser\".\n * Handles the quirks of each browser.\n * Extends and enhances adapter.js, i.e., the \"media\" file from the web client.\n */\nconst Media: any = {};\n\n/**\n * make a browser call to get the media\n * @param {SendOptions} options\n * @param {Object} config SDK Configuration for meetings plugin\n * @returns {Promise}\n */\nMedia.getLocalMedia = (options: any, config: object) => {\n const {sendAudio, sendVideo, sendShare, sharePreferences, isSharing} = options;\n\n if (sendAudio || sendVideo) {\n return Media.getMedia(sendAudio, sendVideo, config);\n }\n\n if (sendShare && !isSharing) {\n return Media.getDisplayMedia(\n {\n sendAudio: false,\n sendShare: true,\n sharePreferences,\n },\n config\n );\n }\n\n return Promise.resolve(undefined);\n};\n\nMedia.getDirection = (forceSendRecv: boolean, receive: boolean, send: boolean) => {\n if (!receive && !send) {\n return 'inactive';\n }\n\n if (forceSendRecv || (receive && send)) {\n return 'sendrecv';\n }\n\n if (receive) {\n return 'recvonly';\n }\n\n return 'sendonly';\n};\n\n/**\n * creates a webrtc media connection with provided tracks and mediaDirection configuration\n *\n * @param {boolean} isMultistream\n * @param {string} debugId string useful for debugging (will appear in media connection logs)\n * @param {string} meetingId id for the meeting using this connection\n * @param {Object} options\n * @param {Object} [options.mediaProperties] contains mediaDirection and local tracks:\n * audioTrack, videoTrack, shareVideoTrack, and shareAudioTrack\n * @param {string} [options.remoteQualityLevel] LOW|MEDIUM|HIGH applicable only to non-multistream connections\n * @param {boolean} [options.enableRtx] applicable only to non-multistream connections\n * @param {boolean} [options.enableExtmap] applicable only to non-multistream connections\n * @param {Object} [options.turnServerInfo]\n * @param {BundlePolicy} [options.bundlePolicy]\n * @returns {RoapMediaConnection | MultistreamRoapMediaConnection}\n */\nMedia.createMediaConnection = (\n isMultistream: boolean,\n debugId: string,\n meetingId: string,\n options: {\n rtcMetrics?: RtcMetrics;\n mediaProperties: {\n mediaDirection?: {\n receiveAudio: boolean;\n receiveVideo: boolean;\n receiveShare: boolean;\n sendAudio: boolean;\n sendVideo: boolean;\n sendShare: boolean;\n };\n audioStream?: LocalMicrophoneStream;\n videoStream?: LocalCameraStream;\n shareVideoStream?: LocalDisplayStream;\n shareAudioStream?: LocalSystemAudioStream;\n };\n remoteQualityLevel?: 'LOW' | 'MEDIUM' | 'HIGH';\n enableRtx?: boolean;\n enableExtmap?: boolean;\n turnServerInfo?: {\n url: string;\n username: string;\n password: string;\n };\n bundlePolicy?: BundlePolicy;\n iceCandidatesTimeout?: number;\n }\n) => {\n const {\n rtcMetrics,\n mediaProperties,\n remoteQualityLevel,\n enableRtx,\n enableExtmap,\n turnServerInfo,\n bundlePolicy,\n iceCandidatesTimeout,\n } = options;\n\n const iceServers = [];\n\n // we might not have any TURN server if TURN discovery failed or wasn't done or\n // we might get an empty TURN url if we land on a video mesh node\n if (turnServerInfo?.url) {\n if (!isBrowser('firefox')) {\n let bareTurnServer = turnServerInfo.url;\n bareTurnServer = bareTurnServer.replace('turns:', 'turn:');\n bareTurnServer = bareTurnServer.replace('443', '5004');\n\n iceServers.push({\n urls: bareTurnServer,\n username: turnServerInfo.username || '',\n credential: turnServerInfo.password || '',\n });\n }\n\n // TURN-TLS server\n iceServers.push({\n urls: turnServerInfo.url,\n username: turnServerInfo.username || '',\n credential: turnServerInfo.password || '',\n });\n }\n\n if (isMultistream) {\n const config: MultistreamConnectionConfig = {\n iceServers,\n };\n\n if (bundlePolicy) {\n config.bundlePolicy = bundlePolicy;\n }\n\n return new MultistreamRoapMediaConnection(\n config,\n meetingId,\n /* the rtc metrics objects callbacks */\n (data) => rtcMetrics?.addMetrics(data),\n () => rtcMetrics?.closeMetrics(),\n () => rtcMetrics?.sendMetricsInQueue()\n );\n }\n\n if (!mediaProperties) {\n throw new Error('mediaProperties have to be provided for non-multistream media connections');\n }\n\n const {mediaDirection, audioStream, videoStream, shareVideoStream, shareAudioStream} =\n mediaProperties;\n\n return new RoapMediaConnection(\n {\n iceServers,\n iceCandidatesTimeout,\n skipInactiveTransceivers: false,\n requireH264: true,\n sdpMunging: {\n convertPort9to0: false,\n addContentSlides: true,\n bandwidthLimits: {\n audio: StaticConfig.meetings.bandwidth.audio,\n video: StaticConfig.meetings.bandwidth.video,\n },\n startBitrate: StaticConfig.meetings.bandwidth.startBitrate,\n periodicKeyframes: 20, // it's always been hardcoded in SDK so for now keeping it that way\n disableExtmap: !enableExtmap,\n disableRtx: !enableRtx, // see https://bugs.chromium.org/p/chromium/issues/detail?id=1020642 why we might want to remove RTX from SDP\n },\n },\n {\n // TODO: RoapMediaConnection is not ready to use stream classes yet, so we pass the raw MediaStreamTrack for now SPARK-460530\n localTracks: {\n audio: audioStream?.outputStream?.getTracks()[0],\n video: videoStream?.outputStream?.getTracks()[0],\n screenShareVideo: shareVideoStream?.outputStream?.getTracks()[0],\n screenShareAudio: shareAudioStream?.outputStream?.getTracks()[0], // TODO: add type for screenShareAudio in internal-media-core SPARK-446923\n } as unknown,\n direction: {\n audio: Media.getDirection(true, mediaDirection.receiveAudio, mediaDirection.sendAudio),\n video: Media.getDirection(true, mediaDirection.receiveVideo, mediaDirection.sendVideo),\n screenShareVideo: Media.getDirection(\n false,\n mediaDirection.receiveShare,\n mediaDirection.sendShare\n ),\n },\n remoteQualityLevel,\n },\n debugId\n );\n};\n\n/**\n * generates share streams\n * @param {Object} options parameter\n * @param {Boolean} options.sendAudio send audio from the display share\n * @param {Boolean} options.sendShare send video from the display share\n * @param {Object} options.sharePreferences\n * @param {MediaTrackConstraints} options.sharePreferences.shareConstraints constraints to apply to video\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints}\n * @param {Boolean} options.sharePreferences.highFrameRate if shareConstraints isn't provided, set default values based off of this boolean\n * @param {Object} config SDK Configuration for meetings plugin\n * @returns {Promise.<MediaStream>}\n */\nMedia.getDisplayMedia = (\n options: {\n sendAudio: boolean;\n sendShare: boolean;\n sharePreferences: {\n shareConstraints: MediaTrackConstraints;\n highFrameRate: any;\n };\n },\n config: any = {}\n) => {\n // SDK screen share resolution settings from Webex.init\n const customResolution = config.screenResolution || {};\n // user defined screen share frame rate\n const customShareFrameRate = config.screenFrameRate || null;\n // user defined share preferences\n const hasSharePreferences = options.sharePreferences;\n const hasCustomConstraints = hasSharePreferences && hasSharePreferences.shareConstraints;\n const hasHighFrameRate = hasSharePreferences && hasSharePreferences.highFrameRate;\n const {screenResolution, resolution, videoShareFrameRate, screenFrameRate, aspectRatio} =\n Config.meetings;\n\n let shareConstraints: any = {\n cursor: MEDIA_TRACK_CONSTRAINT.CURSOR.AWLAYS,\n aspectRatio,\n };\n\n if (hasCustomConstraints) {\n shareConstraints = hasSharePreferences.shareConstraints;\n } else if (hasHighFrameRate) {\n shareConstraints = {\n ...shareConstraints,\n frameRate: videoShareFrameRate,\n height: resolution.idealHeight,\n width: resolution.idealWidth,\n ...config.resolution,\n };\n } else {\n shareConstraints = {\n ...shareConstraints,\n frameRate: customShareFrameRate || screenFrameRate,\n height: customResolution.idealHeight || screenResolution.idealHeight,\n width: customResolution.idealWidth || screenResolution.idealWidth,\n ...config.screenResolution,\n };\n }\n\n // chrome and webkit based browsers (edge, safari) automatically adjust everything\n // and we have noticed higher quality with those browser types\n // firefox specifically has some issues with resolution and frame rate decision making\n // so we are making it optional and configurable (with defaults) for firefox\n // to have higher quality, and for developers to control the values\n // eventually we may have to add the same functionality to chrome, OR conversely, get to with firefox\n\n if (isBrowser('firefox')) {\n const mediaConfig: any = {\n audio: options.sendAudio,\n video: options.sendShare,\n };\n\n return navigator.mediaDevices\n .getDisplayMedia({audio: options.sendAudio, video: mediaConfig})\n .then((stream) => {\n if (options.sendShare && stream.getVideoTracks().length > 0) {\n // Firefox has a bug with the spec where changing in the height and width only happens\n // after we get the inital tracks\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1321221\n stream.getVideoTracks()[0].applyConstraints(shareConstraints);\n }\n\n return stream;\n });\n }\n\n const getDisplayMediaParams: any = {video: options.sendShare ? shareConstraints : false};\n\n // safari doesn't support sending screen share audio\n // https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia\n if (options.sendAudio && isBrowser('safari')) {\n getDisplayMediaParams.audio = options.sendAudio;\n }\n\n return navigator.mediaDevices.getDisplayMedia(getDisplayMediaParams);\n};\n\n/**\n * generates audio and video using constraints (often called after getSupportedDevices)\n * @param {Object|Boolean} audio gum constraints\n * @param {Object|Boolean} video gum constraints\n * @param {Object} config SDK Configuration for meetings plugin\n * @returns {Object} {streams}\n */\nMedia.getMedia = (audio: any | boolean, video: any | boolean, config: any) => {\n const defaultWidth = {ideal: config.resolution.idealWidth, max: config.resolution.maxWidth};\n const defaultHeight = {ideal: config.resolution.idealHeight, max: config.resolution.maxHeight};\n const mediaConfig = {\n audio,\n // TODO: Remove temporary workaround once Firefox fixes low constraint issues\n // eslint-disable-next-line no-nested-ternary\n video: video\n ? isBrowser('firefox') && video.width && video.width.max === 320\n ? {\n deviceId: video.deviceId ? video.deviceId : undefined,\n width: 320,\n height: 180,\n frameRate: video.frameRate ? video.frameRate : undefined,\n facingMode: video.facingMode ? video.facingMode : undefined,\n }\n : {\n deviceId: video.deviceId ? video.deviceId : undefined,\n width: video.width ? video.width : defaultWidth,\n height: video.height ? video.height : defaultHeight,\n frameRate: video.frameRate ? video.frameRate : undefined,\n facingMode: video.facingMode ? video.facingMode : undefined,\n }\n : false,\n fake: process.env.NODE_ENV === 'test', // Special case to get fake media for Firefox browser for testing\n };\n\n return navigator.mediaDevices.getUserMedia(mediaConfig).catch((err) => {\n const logPath = 'Media:index#getMedia --> navigator.mediaDevices.getUserMedia';\n\n LoggerProxy.logger.error(`${logPath} failed - ${err} (${err.constraint})`);\n throw err;\n });\n};\n\n/**\n *\n * Toggle a specific stream\n * noop as of now, does nothing\n * @returns {null}\n */\nMedia.toggleStream = () => {};\n\n/**\n * Stop input stream\n * @param {LocalStream} stream A local stream\n * @returns {null}\n */\nMedia.stopStream = (stream: LocalStream) => {\n if (!stream) {\n return Promise.resolve();\n }\n\n return Promise.resolve().then(() => {\n try {\n stream.stop();\n } catch (e) {\n LoggerProxy.logger.error(\n `Media:index#stopStream --> Unable to stop the stream with ready state => ${stream.readyState}, error: ${e}`\n );\n }\n });\n};\n\n/**\n * generates streams for audio video and share\n * @param {object} mediaSetting parameter\n * @param {Object} mediaSetting.sendAudio sendAudio: {Boolean} sendAudio constraints\n * @param {Object} mediaSetting.sendVideo sendVideo: {Boolean} sendVideo constraints\n * @param {Object} mediaSetting.sendShare sendShare: {Boolean} sendShare constraints\n * @param {Object} mediaSetting.isSharing isSharing: {Boolean} isSharing constraints\n * @param {Object} audioVideo parameter\n * @param {Object} audioVideo.audio {deviceId: {String}}\n * @param {Object} audioVideo.video {deviceId: {String}}\n * @param {Object} sharePreferences parameter\n * @param {Object} sharePreferences.shareConstraints parameter\n * @param {Boolean} sharePreferences.highFrameRate parameter\n * @param {Object} config SDK Config\n * @returns {Array} [localStream, shareStream]\n */\nMedia.getUserMedia = (\n mediaSetting: {\n sendAudio: object;\n sendVideo: object;\n sendShare: object;\n isSharing: object;\n },\n audioVideo: {\n audio: object;\n video: object;\n },\n sharePreferences: {\n shareConstraints: object;\n highFrameRate: boolean;\n },\n config: object\n) =>\n Media.getLocalMedia(\n {\n sendAudio: mediaSetting.sendAudio ? audioVideo.audio || mediaSetting.sendAudio : false,\n sendVideo: mediaSetting.sendVideo ? audioVideo.video || mediaSetting.sendVideo : false,\n },\n config\n ).then((localStream) =>\n Media.getLocalMedia(\n {\n sendShare: mediaSetting.sendShare,\n isSharing: mediaSetting.isSharing,\n sharePreferences,\n },\n config\n ).then((shareStream) => [localStream, shareStream])\n );\n\nexport default Media;\n"],"mappings":";;;;;;;;;;;;;;;AAKA,IAAAA,kBAAA,GAAAC,OAAA;AAaA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,QAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,iBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAA2D,SAAAO,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA,IAtB3D;AACA;AACA,GAFA,CAGA;AAqBA,IAAAqB,iBAAA,GAAoB,IAAAC,yBAAgB,EAAC,CAAC;EAA/BC,SAAS,GAAAF,iBAAA,CAATE,SAAS;AAIhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,KAAU,GAAG,CAAC,CAAC;;AAErB;AACA;AACA;AACA;AACA;AACA;AACAA,KAAK,CAACC,aAAa,GAAG,UAACC,OAAY,EAAEC,MAAc,EAAK;EACtD,IAAOC,SAAS,GAAuDF,OAAO,CAAvEE,SAAS;IAAEC,SAAS,GAA4CH,OAAO,CAA5DG,SAAS;IAAEC,SAAS,GAAiCJ,OAAO,CAAjDI,SAAS;IAAEC,gBAAgB,GAAeL,OAAO,CAAtCK,gBAAgB;IAAEC,SAAS,GAAIN,OAAO,CAApBM,SAAS;EAEnE,IAAIJ,SAAS,IAAIC,SAAS,EAAE;IAC1B,OAAOL,KAAK,CAACS,QAAQ,CAACL,SAAS,EAAEC,SAAS,EAAEF,MAAM,CAAC;EACrD;EAEA,IAAIG,SAAS,IAAI,CAACE,SAAS,EAAE;IAC3B,OAAOR,KAAK,CAACU,eAAe,CAC1B;MACEN,SAAS,EAAE,KAAK;MAChBE,SAAS,EAAE,IAAI;MACfC,gBAAgB,EAAhBA;IACF,CAAC,EACDJ,MACF,CAAC;EACH;EAEA,OAAOQ,QAAA,CAAAlB,OAAA,CAAQmB,OAAO,CAACC,SAAS,CAAC;AACnC,CAAC;AAEDb,KAAK,CAACc,YAAY,GAAG,UAACC,aAAsB,EAAEC,OAAgB,EAAEC,IAAa,EAAK;EAChF,IAAI,CAACD,OAAO,IAAI,CAACC,IAAI,EAAE;IACrB,OAAO,UAAU;EACnB;EAEA,IAAIF,aAAa,IAAKC,OAAO,IAAIC,IAAK,EAAE;IACtC,OAAO,UAAU;EACnB;EAEA,IAAID,OAAO,EAAE;IACX,OAAO,UAAU;EACnB;EAEA,OAAO,UAAU;AACnB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAhB,KAAK,CAACkB,qBAAqB,GAAG,UAC5BC,aAAsB,EACtBC,OAAe,EACfC,SAAiB,EACjBnB,OA0BC,EACE;EAAA,IAAAoB,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;EACH,IACEC,UAAU,GAQRxB,OAAO,CARTwB,UAAU;IACVC,eAAe,GAObzB,OAAO,CAPTyB,eAAe;IACfC,kBAAkB,GAMhB1B,OAAO,CANT0B,kBAAkB;IAClBC,SAAS,GAKP3B,OAAO,CALT2B,SAAS;IACTC,YAAY,GAIV5B,OAAO,CAJT4B,YAAY;IACZC,cAAc,GAGZ7B,OAAO,CAHT6B,cAAc;IACdC,YAAY,GAEV9B,OAAO,CAFT8B,YAAY;IACZC,oBAAoB,GAClB/B,OAAO,CADT+B,oBAAoB;EAGtB,IAAMC,UAAU,GAAG,EAAE;;EAErB;EACA;EACA,IAAIH,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEI,GAAG,EAAE;IACvB,IAAI,CAACpC,SAAS,CAAC,SAAS,CAAC,EAAE;MACzB,IAAIqC,cAAc,GAAGL,cAAc,CAACI,GAAG;MACvCC,cAAc,GAAGA,cAAc,CAACC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;MAC1DD,cAAc,GAAGA,cAAc,CAACC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;MAEtDH,UAAU,CAACjD,IAAI,CAAC;QACdqD,IAAI,EAAEF,cAAc;QACpBG,QAAQ,EAAER,cAAc,CAACQ,QAAQ,IAAI,EAAE;QACvCC,UAAU,EAAET,cAAc,CAACU,QAAQ,IAAI;MACzC,CAAC,CAAC;IACJ;;IAEA;IACAP,UAAU,CAACjD,IAAI,CAAC;MACdqD,IAAI,EAAEP,cAAc,CAACI,GAAG;MACxBI,QAAQ,EAAER,cAAc,CAACQ,QAAQ,IAAI,EAAE;MACvCC,UAAU,EAAET,cAAc,CAACU,QAAQ,IAAI;IACzC,CAAC,CAAC;EACJ;EAEA,IAAItB,aAAa,EAAE;IACjB,IAAMhB,MAAmC,GAAG;MAC1C+B,UAAU,EAAVA;IACF,CAAC;IAED,IAAIF,YAAY,EAAE;MAChB7B,MAAM,CAAC6B,YAAY,GAAGA,YAAY;IACpC;IAEA,OAAO,IAAIU,iDAA8B,CACvCvC,MAAM,EACNkB,SAAS,EACT;IACA,UAACsB,IAAI;MAAA,OAAKjB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEkB,UAAU,CAACD,IAAI,CAAC;IAAA,GACtC;MAAA,OAAMjB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEmB,YAAY,CAAC,CAAC;IAAA,GAChC;MAAA,OAAMnB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEoB,kBAAkB,CAAC,CAAC;IAAA,CACxC,CAAC;EACH;EAEA,IAAI,CAACnB,eAAe,EAAE;IACpB,MAAM,IAAIoB,KAAK,CAAC,2EAA2E,CAAC;EAC9F;EAEA,IAAOC,cAAc,GACnBrB,eAAe,CADVqB,cAAc;IAAEC,WAAW,GAChCtB,eAAe,CADMsB,WAAW;IAAEC,WAAW,GAC7CvB,eAAe,CADmBuB,WAAW;IAAEC,gBAAgB,GAC/DxB,eAAe,CADgCwB,gBAAgB;IAAEC,gBAAgB,GACjFzB,eAAe,CADkDyB,gBAAgB;EAGnF,OAAO,IAAIC,sCAAmB,CAC5B;IACEnB,UAAU,EAAVA,UAAU;IACVD,oBAAoB,EAApBA,oBAAoB;IACpBqB,wBAAwB,EAAE,KAAK;IAC/BC,WAAW,EAAE,IAAI;IACjBC,UAAU,EAAE;MACVC,eAAe,EAAE,KAAK;MACtBC,gBAAgB,EAAE,IAAI;MACtBC,eAAe,EAAE;QACfC,KAAK,EAAEC,gBAAY,CAACC,QAAQ,CAACC,SAAS,CAACH,KAAK;QAC5CI,KAAK,EAAEH,gBAAY,CAACC,QAAQ,CAACC,SAAS,CAACC;MACzC,CAAC;MACDC,YAAY,EAAEJ,gBAAY,CAACC,QAAQ,CAACC,SAAS,CAACE,YAAY;MAC1DC,iBAAiB,EAAE,EAAE;MAAE;MACvBC,aAAa,EAAE,CAACrC,YAAY;MAC5BsC,UAAU,EAAE,CAACvC,SAAS,CAAE;IAC1B;EACF,CAAC,EACD;IACE;IACAwC,WAAW,EAAE;MACXT,KAAK,EAAEX,WAAW,aAAXA,WAAW,wBAAA3B,qBAAA,GAAX2B,WAAW,CAAEqB,YAAY,cAAAhD,qBAAA,uBAAzBA,qBAAA,CAA2BiD,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;MAChDP,KAAK,EAAEd,WAAW,aAAXA,WAAW,wBAAA3B,qBAAA,GAAX2B,WAAW,CAAEoB,YAAY,cAAA/C,qBAAA,uBAAzBA,qBAAA,CAA2BgD,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;MAChDC,gBAAgB,EAAErB,gBAAgB,aAAhBA,gBAAgB,wBAAA3B,qBAAA,GAAhB2B,gBAAgB,CAAEmB,YAAY,cAAA9C,qBAAA,uBAA9BA,qBAAA,CAAgC+C,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;MAChEE,gBAAgB,EAAErB,gBAAgB,aAAhBA,gBAAgB,wBAAA3B,qBAAA,GAAhB2B,gBAAgB,CAAEkB,YAAY,cAAA7C,qBAAA,uBAA9BA,qBAAA,CAAgC8C,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE;IACpE,CAAY;;IACZG,SAAS,EAAE;MACTd,KAAK,EAAE5D,KAAK,CAACc,YAAY,CAAC,IAAI,EAAEkC,cAAc,CAAC2B,YAAY,EAAE3B,cAAc,CAAC5C,SAAS,CAAC;MACtF4D,KAAK,EAAEhE,KAAK,CAACc,YAAY,CAAC,IAAI,EAAEkC,cAAc,CAAC4B,YAAY,EAAE5B,cAAc,CAAC3C,SAAS,CAAC;MACtFmE,gBAAgB,EAAExE,KAAK,CAACc,YAAY,CAClC,KAAK,EACLkC,cAAc,CAAC6B,YAAY,EAC3B7B,cAAc,CAAC1C,SACjB;IACF,CAAC;IACDsB,kBAAkB,EAAlBA;EACF,CAAC,EACDR,OACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACApB,KAAK,CAACU,eAAe,GAAG,UACtBR,OAOC,EAEE;EAAA,IADHC,MAAW,GAAAf,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyB,SAAA,GAAAzB,SAAA,MAAG,CAAC,CAAC;EAEhB;EACA,IAAM0F,gBAAgB,GAAG3E,MAAM,CAAC4E,gBAAgB,IAAI,CAAC,CAAC;EACtD;EACA,IAAMC,oBAAoB,GAAG7E,MAAM,CAAC8E,eAAe,IAAI,IAAI;EAC3D;EACA,IAAMC,mBAAmB,GAAGhF,OAAO,CAACK,gBAAgB;EACpD,IAAM4E,oBAAoB,GAAGD,mBAAmB,IAAIA,mBAAmB,CAACE,gBAAgB;EACxF,IAAMC,gBAAgB,GAAGH,mBAAmB,IAAIA,mBAAmB,CAACI,aAAa;EACjF,IAAAC,gBAAA,GACEC,eAAM,CAAC1B,QAAQ;IADViB,gBAAgB,GAAAQ,gBAAA,CAAhBR,gBAAgB;IAAEU,UAAU,GAAAF,gBAAA,CAAVE,UAAU;IAAEC,mBAAmB,GAAAH,gBAAA,CAAnBG,mBAAmB;IAAET,eAAe,GAAAM,gBAAA,CAAfN,eAAe;IAAEU,WAAW,GAAAJ,gBAAA,CAAXI,WAAW;EAGtF,IAAIP,gBAAqB,GAAG;IAC1BQ,MAAM,EAAEC,iCAAsB,CAACC,MAAM,CAACC,MAAM;IAC5CJ,WAAW,EAAXA;EACF,CAAC;EAED,IAAIR,oBAAoB,EAAE;IACxBC,gBAAgB,GAAGF,mBAAmB,CAACE,gBAAgB;EACzD,CAAC,MAAM,IAAIC,gBAAgB,EAAE;IAC3BD,gBAAgB,GAAAjG,aAAA,CAAAA,aAAA,KACXiG,gBAAgB;MACnBY,SAAS,EAAEN,mBAAmB;MAC9BO,MAAM,EAAER,UAAU,CAACS,WAAW;MAC9BC,KAAK,EAAEV,UAAU,CAACW;IAAU,GACzBjG,MAAM,CAACsF,UAAU,CACrB;EACH,CAAC,MAAM;IACLL,gBAAgB,GAAAjG,aAAA,CAAAA,aAAA,KACXiG,gBAAgB;MACnBY,SAAS,EAAEhB,oBAAoB,IAAIC,eAAe;MAClDgB,MAAM,EAAEnB,gBAAgB,CAACoB,WAAW,IAAInB,gBAAgB,CAACmB,WAAW;MACpEC,KAAK,EAAErB,gBAAgB,CAACsB,UAAU,IAAIrB,gBAAgB,CAACqB;IAAU,GAC9DjG,MAAM,CAAC4E,gBAAgB,CAC3B;EACH;;EAEA;EACA;EACA;EACA;EACA;EACA;;EAEA,IAAIhF,SAAS,CAAC,SAAS,CAAC,EAAE;IACxB,IAAMsG,WAAgB,GAAG;MACvBzC,KAAK,EAAE1D,OAAO,CAACE,SAAS;MACxB4D,KAAK,EAAE9D,OAAO,CAACI;IACjB,CAAC;IAED,OAAOgG,SAAS,CAACC,YAAY,CAC1B7F,eAAe,CAAC;MAACkD,KAAK,EAAE1D,OAAO,CAACE,SAAS;MAAE4D,KAAK,EAAEqC;IAAW,CAAC,CAAC,CAC/DG,IAAI,CAAC,UAACC,MAAM,EAAK;MAChB,IAAIvG,OAAO,CAACI,SAAS,IAAImG,MAAM,CAACC,cAAc,CAAC,CAAC,CAACrH,MAAM,GAAG,CAAC,EAAE;QAC3D;QACA;QACA;QACAoH,MAAM,CAACC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAACC,gBAAgB,CAACvB,gBAAgB,CAAC;MAC/D;MAEA,OAAOqB,MAAM;IACf,CAAC,CAAC;EACN;EAEA,IAAMG,qBAA0B,GAAG;IAAC5C,KAAK,EAAE9D,OAAO,CAACI,SAAS,GAAG8E,gBAAgB,GAAG;EAAK,CAAC;;EAExF;EACA;EACA,IAAIlF,OAAO,CAACE,SAAS,IAAIL,SAAS,CAAC,QAAQ,CAAC,EAAE;IAC5C6G,qBAAqB,CAAChD,KAAK,GAAG1D,OAAO,CAACE,SAAS;EACjD;EAEA,OAAOkG,SAAS,CAACC,YAAY,CAAC7F,eAAe,CAACkG,qBAAqB,CAAC;AACtE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA5G,KAAK,CAACS,QAAQ,GAAG,UAACmD,KAAoB,EAAEI,KAAoB,EAAE7D,MAAW,EAAK;EAC5E,IAAM0G,YAAY,GAAG;IAACC,KAAK,EAAE3G,MAAM,CAACsF,UAAU,CAACW,UAAU;IAAEW,GAAG,EAAE5G,MAAM,CAACsF,UAAU,CAACuB;EAAQ,CAAC;EAC3F,IAAMC,aAAa,GAAG;IAACH,KAAK,EAAE3G,MAAM,CAACsF,UAAU,CAACS,WAAW;IAAEa,GAAG,EAAE5G,MAAM,CAACsF,UAAU,CAACyB;EAAS,CAAC;EAC9F,IAAMb,WAAW,GAAG;IAClBzC,KAAK,EAALA,KAAK;IACL;IACA;IACAI,KAAK,EAAEA,KAAK,GACRjE,SAAS,CAAC,SAAS,CAAC,IAAIiE,KAAK,CAACmC,KAAK,IAAInC,KAAK,CAACmC,KAAK,CAACY,GAAG,KAAK,GAAG,GAC5D;MACEI,QAAQ,EAAEnD,KAAK,CAACmD,QAAQ,GAAGnD,KAAK,CAACmD,QAAQ,GAAGtG,SAAS;MACrDsF,KAAK,EAAE,GAAG;MACVF,MAAM,EAAE,GAAG;MACXD,SAAS,EAAEhC,KAAK,CAACgC,SAAS,GAAGhC,KAAK,CAACgC,SAAS,GAAGnF,SAAS;MACxDuG,UAAU,EAAEpD,KAAK,CAACoD,UAAU,GAAGpD,KAAK,CAACoD,UAAU,GAAGvG;IACpD,CAAC,GACD;MACEsG,QAAQ,EAAEnD,KAAK,CAACmD,QAAQ,GAAGnD,KAAK,CAACmD,QAAQ,GAAGtG,SAAS;MACrDsF,KAAK,EAAEnC,KAAK,CAACmC,KAAK,GAAGnC,KAAK,CAACmC,KAAK,GAAGU,YAAY;MAC/CZ,MAAM,EAAEjC,KAAK,CAACiC,MAAM,GAAGjC,KAAK,CAACiC,MAAM,GAAGgB,aAAa;MACnDjB,SAAS,EAAEhC,KAAK,CAACgC,SAAS,GAAGhC,KAAK,CAACgC,SAAS,GAAGnF,SAAS;MACxDuG,UAAU,EAAEpD,KAAK,CAACoD,UAAU,GAAGpD,KAAK,CAACoD,UAAU,GAAGvG;IACpD,CAAC,GACH,KAAK;IACTwG,IAAI,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,CAAE;EACzC,CAAC;;EAED,OAAOlB,SAAS,CAACC,YAAY,CAACkB,YAAY,CAACpB,WAAW,CAAC,CAACqB,KAAK,CAAC,UAACC,GAAG,EAAK;IACrE,IAAMC,OAAO,GAAG,8DAA8D;IAE9EC,oBAAW,CAACC,MAAM,CAACC,KAAK,IAAAC,MAAA,CAAIJ,OAAO,gBAAAI,MAAA,CAAaL,GAAG,QAAAK,MAAA,CAAKL,GAAG,CAACM,UAAU,MAAG,CAAC;IAC1E,MAAMN,GAAG;EACX,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA3H,KAAK,CAACkI,YAAY,GAAG,YAAM,CAAC,CAAC;;AAE7B;AACA;AACA;AACA;AACA;AACAlI,KAAK,CAACmI,UAAU,GAAG,UAAC1B,MAAmB,EAAK;EAC1C,IAAI,CAACA,MAAM,EAAE;IACX,OAAO9F,QAAA,CAAAlB,OAAA,CAAQmB,OAAO,CAAC,CAAC;EAC1B;EAEA,OAAOD,QAAA,CAAAlB,OAAA,CAAQmB,OAAO,CAAC,CAAC,CAAC4F,IAAI,CAAC,YAAM;IAClC,IAAI;MACFC,MAAM,CAAC2B,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,OAAO5J,CAAC,EAAE;MACVqJ,oBAAW,CAACC,MAAM,CAACC,KAAK,6EAAAC,MAAA,CACsDvB,MAAM,CAAC4B,UAAU,eAAAL,MAAA,CAAYxJ,CAAC,CAC5G,CAAC;IACH;EACF,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAwB,KAAK,CAACyH,YAAY,GAAG,UACnBa,YAKC,EACDC,UAGC,EACDhI,gBAGC,EACDJ,MAAc;EAAA,OAEdH,KAAK,CAACC,aAAa,CACjB;IACEG,SAAS,EAAEkI,YAAY,CAAClI,SAAS,GAAGmI,UAAU,CAAC3E,KAAK,IAAI0E,YAAY,CAAClI,SAAS,GAAG,KAAK;IACtFC,SAAS,EAAEiI,YAAY,CAACjI,SAAS,GAAGkI,UAAU,CAACvE,KAAK,IAAIsE,YAAY,CAACjI,SAAS,GAAG;EACnF,CAAC,EACDF,MACF,CAAC,CAACqG,IAAI,CAAC,UAACgC,WAAW;IAAA,OACjBxI,KAAK,CAACC,aAAa,CACjB;MACEK,SAAS,EAAEgI,YAAY,CAAChI,SAAS;MACjCE,SAAS,EAAE8H,YAAY,CAAC9H,SAAS;MACjCD,gBAAgB,EAAhBA;IACF,CAAC,EACDJ,MACF,CAAC,CAACqG,IAAI,CAAC,UAACiC,WAAW;MAAA,OAAK,CAACD,WAAW,EAAEC,WAAW,CAAC;IAAA,EAAC;EAAA,CACrD,CAAC;AAAA;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAlJ,OAAA,GAEWO,KAAK"}
@@ -98,6 +98,7 @@ var InMeetingActions = exports.default = /*#__PURE__*/(0, _createClass2.default)
98
98
  (0, _defineProperty2.default)(this, "enforceVirtualBackground", null);
99
99
  (0, _defineProperty2.default)(this, "supportHDV", null);
100
100
  (0, _defineProperty2.default)(this, "canShareWhiteBoard", null);
101
+ (0, _defineProperty2.default)(this, "canPollingAndQA", null);
101
102
  /**
102
103
  * Returns all meeting action options
103
104
  * @returns {Object}
@@ -176,7 +177,8 @@ var InMeetingActions = exports.default = /*#__PURE__*/(0, _createClass2.default)
176
177
  enforceVirtualBackground: _this.enforceVirtualBackground,
177
178
  supportHQV: _this.supportHQV,
178
179
  supportHDV: _this.supportHDV,
179
- canShareWhiteBoard: _this.canShareWhiteBoard
180
+ canShareWhiteBoard: _this.canShareWhiteBoard,
181
+ canPollingAndQA: _this.canPollingAndQA
180
182
  };
181
183
  });
182
184
  /**
@@ -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","canRaiseHand","canLowerAllHands","canLowerSomeoneElsesHand","bothLeaveAndEndMeetingAvailable","canEnableClosedCaption","canStartTranscribing","canStopTranscribing","isClosedCaptionActive","canStartManualCaption","canStopManualCaption","isManualCaptionActive","isSaveTranscriptsEnabled","isWebexAssistantActive","canViewCaptionPanel","isRealTimeTranslationEnabled","canSelectSpokenLanguages","waitingForOthersToJoin","canSendReactions","canManageBreakout","canBroadcastMessageToBreakout","canAdmitLobbyToBreakout","isBreakoutPreassignmentsEnabled","canUserAskForHelp","canUserRenameSelfAndObserved","canUserRenameOthers","canMuteAll","canUnmuteAll","canEnableHardMute","canDisableHardMute","canEnableMuteOnEntry","canDisableMuteOnEntry","canEnableReactions","canDisableReactions","canEnableReactionDisplayNames","canDisableReactionDisplayNames","canUpdateShareControl","canEnableViewTheParticipantsList","canDisableViewTheParticipantsList","canEnableRaiseHand","canDisableRaiseHand","canEnableVideo","canDisableVideo","canShareFile","canShareApplication","canShareCamera","canShareDesktop","canShareContent","canTransferFile","canChat","canDoVideo","canAnnotate","canUseVoip","enforceVirtualBackground","supportHQV","supportHDV","canShareWhiteBoard","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';\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 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 isManualCaptionActive?: boolean;\n isSaveTranscriptsEnabled?: boolean;\n isWebexAssistantActive?: boolean;\n canViewCaptionPanel?: boolean;\n isRealTimeTranslationEnabled?: boolean;\n canSelectSpokenLanguages?: boolean;\n waitingForOthersToJoin?: boolean;\n canSendReactions?: boolean;\n canManageBreakout?: 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 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 canChat?: boolean;\n canDoVideo?: boolean;\n canAnnotate?: boolean;\n canUseVoip?: boolean;\n supportHQV?: boolean;\n supportHDV?: boolean;\n canShareWhiteBoard?: boolean;\n enforceVirtualBackground?: 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 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 isManualCaptionActive = null;\n\n isSaveTranscriptsEnabled = 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 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 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 canChat = null;\n\n canDoVideo = null;\n\n canAnnotate = null;\n\n canUseVoip = null;\n\n supportHQV = null;\n\n enforceVirtualBackground = null;\n\n supportHDV = null;\n\n canShareWhiteBoard = 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 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 canStopManualCaption: this.canStopManualCaption,\n isManualCaptionActive: this.isManualCaptionActive,\n isSaveTranscriptsEnabled: this.isSaveTranscriptsEnabled,\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 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 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 canShareDesktop: this.canShareDesktop,\n canShareContent: this.canShareContent,\n canTransferFile: this.canTransferFile,\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 });\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","canRaiseHand","canLowerAllHands","canLowerSomeoneElsesHand","bothLeaveAndEndMeetingAvailable","canEnableClosedCaption","canStartTranscribing","canStopTranscribing","isClosedCaptionActive","canStartManualCaption","canStopManualCaption","isManualCaptionActive","isSaveTranscriptsEnabled","isWebexAssistantActive","canViewCaptionPanel","isRealTimeTranslationEnabled","canSelectSpokenLanguages","waitingForOthersToJoin","canSendReactions","canManageBreakout","canBroadcastMessageToBreakout","canAdmitLobbyToBreakout","isBreakoutPreassignmentsEnabled","canUserAskForHelp","canUserRenameSelfAndObserved","canUserRenameOthers","canMuteAll","canUnmuteAll","canEnableHardMute","canDisableHardMute","canEnableMuteOnEntry","canDisableMuteOnEntry","canEnableReactions","canDisableReactions","canEnableReactionDisplayNames","canDisableReactionDisplayNames","canUpdateShareControl","canEnableViewTheParticipantsList","canDisableViewTheParticipantsList","canEnableRaiseHand","canDisableRaiseHand","canEnableVideo","canDisableVideo","canShareFile","canShareApplication","canShareCamera","canShareDesktop","canShareContent","canTransferFile","canChat","canDoVideo","canAnnotate","canUseVoip","enforceVirtualBackground","supportHQV","supportHDV","canShareWhiteBoard","canPollingAndQA","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';\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 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 isManualCaptionActive?: boolean;\n isSaveTranscriptsEnabled?: boolean;\n isWebexAssistantActive?: boolean;\n canViewCaptionPanel?: boolean;\n isRealTimeTranslationEnabled?: boolean;\n canSelectSpokenLanguages?: boolean;\n waitingForOthersToJoin?: boolean;\n canSendReactions?: boolean;\n canManageBreakout?: 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 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 canChat?: boolean;\n canDoVideo?: boolean;\n canAnnotate?: boolean;\n canUseVoip?: boolean;\n supportHQV?: boolean;\n supportHDV?: boolean;\n canShareWhiteBoard?: boolean;\n enforceVirtualBackground?: boolean;\n canPollingAndQA?: 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 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 isManualCaptionActive = null;\n\n isSaveTranscriptsEnabled = 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 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 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 canChat = null;\n\n canDoVideo = null;\n\n canAnnotate = null;\n\n canUseVoip = null;\n\n supportHQV = null;\n\n enforceVirtualBackground = null;\n\n supportHDV = null;\n\n canShareWhiteBoard = null;\n\n canPollingAndQA = null;\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 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 canStopManualCaption: this.canStopManualCaption,\n isManualCaptionActive: this.isManualCaptionActive,\n isSaveTranscriptsEnabled: this.isSaveTranscriptsEnabled,\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 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 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 canShareDesktop: this.canShareDesktop,\n canShareContent: this.canShareContent,\n canTransferFile: this.canTransferFile,\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 });\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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"}
@@ -86,7 +86,6 @@ var _controlsOptionsManager = _interopRequireDefault(require("../controls-option
86
86
  var _permission = _interopRequireDefault(require("../common/errors/permission"));
87
87
  var _locusMediaRequest = require("./locusMediaRequest");
88
88
  var _connectionStateHandler = require("./connectionStateHandler");
89
- var _rtcMetrics = _interopRequireDefault(require("../rtcMetrics"));
90
89
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
91
90
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
92
91
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
@@ -381,7 +380,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
381
380
  * @memberof Meeting
382
381
  */
383
382
  function Meeting(attrs, _options) {
384
- var _attrs$callStateForMe, _this$locusInfo, _this$locusInfo$links, _this$locusInfo$links2, _this$locusInfo$links3, _this$locusInfo2, _this$locusInfo2$full, _this$locusInfo3, _this$locusInfo4;
383
+ var _attrs$callStateForMe, _attrs$callStateForMe2, _this$locusInfo, _this$locusInfo$links, _this$locusInfo$links2, _this$locusInfo$links3, _this$locusInfo2, _this$locusInfo2$full, _this$locusInfo3, _this$locusInfo4;
385
384
  var _this;
386
385
  (0, _classCallCheck2.default)(this, Meeting);
387
386
  _this = _super.call(this, {}, _options);
@@ -1410,10 +1409,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
1410
1409
  */
1411
1410
  _this.callStateForMetrics = attrs.callStateForMetrics || {};
1412
1411
  var _correlationId = attrs.correlationId || ((_attrs$callStateForMe = attrs.callStateForMetrics) === null || _attrs$callStateForMe === void 0 ? void 0 : _attrs$callStateForMe.correlationId);
1412
+ var sessionCorrelationId = attrs.sessionCorrelationId || ((_attrs$callStateForMe2 = attrs.callStateForMetrics) === null || _attrs$callStateForMe2 === void 0 ? void 0 : _attrs$callStateForMe2.sessionCorrelationId);
1413
+ if (sessionCorrelationId) {
1414
+ _loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with session correlation id from app ".concat(_correlationId));
1415
+ _this.callStateForMetrics.sessionCorrelationId = sessionCorrelationId;
1416
+ } else {
1417
+ _loggerProxy.default.logger.log("Meetings:index#constructor --> No session correlation id supplied. None will be generated and this field will remain blank");
1418
+ // TODO: supply a session from the meetings instance
1419
+ _this.callStateForMetrics.sessionCorrelationId = '';
1420
+ }
1413
1421
  if (_correlationId) {
1414
1422
  _loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with correlation id from app ".concat(_correlationId));
1415
1423
  _this.callStateForMetrics.correlationId = _correlationId;
1416
1424
  } else {
1425
+ _loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with generated correlation id from sdk ".concat(_this.id));
1417
1426
  _this.callStateForMetrics.correlationId = _this.id;
1418
1427
  }
1419
1428
  /**
@@ -2236,6 +2245,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2236
2245
  this.callStateForMetrics.correlationId = correlationId;
2237
2246
  }
2238
2247
 
2248
+ /**
2249
+ * Getter - Returns callStateForMetrics.sessionCorrelationId
2250
+ * @returns {string}
2251
+ */
2252
+ }, {
2253
+ key: "sessionCorrelationId",
2254
+ get: function get() {
2255
+ return this.callStateForMetrics.sessionCorrelationId;
2256
+ }
2257
+
2258
+ /**
2259
+ * Setter - sets callStateForMetrics.sessionCorrelationId
2260
+ * @param {string} sessionCorrelationId
2261
+ */,
2262
+ set: function set(sessionCorrelationId) {
2263
+ this.callStateForMetrics.sessionCorrelationId = sessionCorrelationId;
2264
+ }
2265
+
2239
2266
  /**
2240
2267
  * Getter - Returns isoLocalClientMeetingJoinTime
2241
2268
  * This will be set once on meeting join, and not updated again
@@ -4223,6 +4250,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4223
4250
  requiredPolicies: [_constants.SELF_POLICY.SUPPORT_CHAT],
4224
4251
  policies: this.selfUserPolicies
4225
4252
  }),
4253
+ canPollingAndQA: _util5.default.hasPolicies({
4254
+ requiredPolicies: [_constants.SELF_POLICY.SUPPORT_POLLING_AND_QA],
4255
+ policies: this.selfUserPolicies
4256
+ }),
4226
4257
  canShareApplication: _util5.default.hasHints({
4227
4258
  requiredHints: [_constants.DISPLAY_HINTS.SHARE_APPLICATION],
4228
4259
  displayHints: this.userDisplayHints
@@ -6110,7 +6141,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6110
6141
  case 0:
6111
6142
  this.rtcMetrics = this.isMultistream ?
6112
6143
  // @ts-ignore
6113
- new _rtcMetrics.default(this.webex, this.id, this.correlationId) : undefined;
6144
+ new _internalPluginMetrics.RtcMetrics(this.webex, {
6145
+ meetingId: this.id
6146
+ }, this.correlationId) : undefined;
6114
6147
  mc = _media.default.createMediaConnection(this.isMultistream, this.getMediaConnectionDebugId(), this.id, {
6115
6148
  rtcMetrics: this.rtcMetrics,
6116
6149
  mediaProperties: this.mediaProperties,
@@ -6120,7 +6153,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6120
6153
  // @ts-ignore - config coming from registerPlugin
6121
6154
  enableExtmap: this.config.enableExtmap,
6122
6155
  turnServerInfo: turnServerInfo,
6123
- bundlePolicy: bundlePolicy
6156
+ bundlePolicy: bundlePolicy,
6157
+ // @ts-ignore - config coming from registerPlugin
6158
+ iceCandidatesTimeout: this.config.iceCandidatesGatheringTimeout
6124
6159
  });
6125
6160
  this.mediaProperties.setMediaPeerConnection(mc);
6126
6161
  this.setupMediaConnectionListeners();