@webex/plugin-meetings 3.6.0-next.9 → 3.7.0-ipv6-multi-turn-urls.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 (159) hide show
  1. package/README.md +2 -1
  2. package/dist/breakouts/breakout.js +1 -1
  3. package/dist/breakouts/index.js +1 -1
  4. package/dist/common/errors/{webinar-registration-error.js → join-webinar-error.js} +12 -12
  5. package/dist/common/errors/join-webinar-error.js.map +1 -0
  6. package/dist/config.js +3 -1
  7. package/dist/config.js.map +1 -1
  8. package/dist/constants.js +50 -7
  9. package/dist/constants.js.map +1 -1
  10. package/dist/controls-options-manager/enums.js +1 -0
  11. package/dist/controls-options-manager/enums.js.map +1 -1
  12. package/dist/controls-options-manager/index.js +10 -3
  13. package/dist/controls-options-manager/index.js.map +1 -1
  14. package/dist/controls-options-manager/types.js.map +1 -1
  15. package/dist/controls-options-manager/util.js +12 -0
  16. package/dist/controls-options-manager/util.js.map +1 -1
  17. package/dist/index.js +7 -7
  18. package/dist/index.js.map +1 -1
  19. package/dist/interpretation/index.js +1 -1
  20. package/dist/interpretation/siLanguage.js +1 -1
  21. package/dist/locus-info/controlsUtils.js +28 -4
  22. package/dist/locus-info/controlsUtils.js.map +1 -1
  23. package/dist/locus-info/fullState.js +2 -1
  24. package/dist/locus-info/fullState.js.map +1 -1
  25. package/dist/locus-info/index.js +61 -3
  26. package/dist/locus-info/index.js.map +1 -1
  27. package/dist/media/index.js +29 -1
  28. package/dist/media/index.js.map +1 -1
  29. package/dist/meeting/in-meeting-actions.js +29 -1
  30. package/dist/meeting/in-meeting-actions.js.map +1 -1
  31. package/dist/meeting/index.js +692 -472
  32. package/dist/meeting/index.js.map +1 -1
  33. package/dist/meeting/locusMediaRequest.js +2 -6
  34. package/dist/meeting/locusMediaRequest.js.map +1 -1
  35. package/dist/meeting/request.js +21 -29
  36. package/dist/meeting/request.js.map +1 -1
  37. package/dist/meeting/util.js +95 -59
  38. package/dist/meeting/util.js.map +1 -1
  39. package/dist/meeting-info/meeting-info-v2.js +29 -17
  40. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  41. package/dist/meetings/index.js +8 -3
  42. package/dist/meetings/index.js.map +1 -1
  43. package/dist/members/index.js +3 -2
  44. package/dist/members/index.js.map +1 -1
  45. package/dist/members/util.js +13 -7
  46. package/dist/members/util.js.map +1 -1
  47. package/dist/metrics/constants.js +3 -1
  48. package/dist/metrics/constants.js.map +1 -1
  49. package/dist/multistream/remoteMedia.js +30 -15
  50. package/dist/multistream/remoteMedia.js.map +1 -1
  51. package/dist/reachability/clusterReachability.js +12 -15
  52. package/dist/reachability/clusterReachability.js.map +1 -1
  53. package/dist/reachability/index.js +433 -136
  54. package/dist/reachability/index.js.map +1 -1
  55. package/dist/reachability/reachability.types.js +7 -0
  56. package/dist/reachability/reachability.types.js.map +1 -0
  57. package/dist/reachability/request.js +23 -9
  58. package/dist/reachability/request.js.map +1 -1
  59. package/dist/recording-controller/enums.js +8 -4
  60. package/dist/recording-controller/enums.js.map +1 -1
  61. package/dist/recording-controller/index.js +18 -9
  62. package/dist/recording-controller/index.js.map +1 -1
  63. package/dist/recording-controller/util.js +13 -9
  64. package/dist/recording-controller/util.js.map +1 -1
  65. package/dist/roap/index.js +5 -7
  66. package/dist/roap/index.js.map +1 -1
  67. package/dist/roap/request.js +45 -79
  68. package/dist/roap/request.js.map +1 -1
  69. package/dist/roap/turnDiscovery.js +3 -6
  70. package/dist/roap/turnDiscovery.js.map +1 -1
  71. package/dist/types/common/errors/{webinar-registration-error.d.ts → join-webinar-error.d.ts} +2 -2
  72. package/dist/types/config.d.ts +2 -0
  73. package/dist/types/constants.d.ts +38 -1
  74. package/dist/types/controls-options-manager/enums.d.ts +2 -1
  75. package/dist/types/controls-options-manager/index.d.ts +2 -1
  76. package/dist/types/controls-options-manager/types.d.ts +2 -0
  77. package/dist/types/index.d.ts +2 -2
  78. package/dist/types/locus-info/index.d.ts +9 -0
  79. package/dist/types/meeting/in-meeting-actions.d.ts +28 -0
  80. package/dist/types/meeting/index.d.ts +34 -3
  81. package/dist/types/meeting/locusMediaRequest.d.ts +2 -3
  82. package/dist/types/meeting/request.d.ts +2 -2
  83. package/dist/types/meeting/util.d.ts +2 -2
  84. package/dist/types/meeting-info/meeting-info-v2.d.ts +4 -4
  85. package/dist/types/meetings/index.d.ts +4 -1
  86. package/dist/types/members/index.d.ts +2 -1
  87. package/dist/types/members/util.d.ts +5 -1
  88. package/dist/types/metrics/constants.d.ts +3 -1
  89. package/dist/types/reachability/clusterReachability.d.ts +1 -10
  90. package/dist/types/reachability/index.d.ts +74 -35
  91. package/dist/types/reachability/reachability.types.d.ts +64 -0
  92. package/dist/types/reachability/request.d.ts +5 -1
  93. package/dist/types/recording-controller/enums.d.ts +5 -2
  94. package/dist/types/recording-controller/index.d.ts +1 -0
  95. package/dist/types/recording-controller/util.d.ts +2 -1
  96. package/dist/types/roap/request.d.ts +1 -13
  97. package/dist/webinar/index.js +382 -19
  98. package/dist/webinar/index.js.map +1 -1
  99. package/package.json +22 -22
  100. package/src/common/errors/join-webinar-error.ts +24 -0
  101. package/src/config.ts +2 -0
  102. package/src/constants.ts +49 -3
  103. package/src/controls-options-manager/enums.ts +1 -0
  104. package/src/controls-options-manager/index.ts +19 -2
  105. package/src/controls-options-manager/types.ts +2 -0
  106. package/src/controls-options-manager/util.ts +12 -0
  107. package/src/index.ts +2 -2
  108. package/src/locus-info/controlsUtils.ts +46 -2
  109. package/src/locus-info/fullState.ts +1 -0
  110. package/src/locus-info/index.ts +60 -0
  111. package/src/media/index.ts +15 -0
  112. package/src/meeting/in-meeting-actions.ts +58 -0
  113. package/src/meeting/index.ts +232 -25
  114. package/src/meeting/locusMediaRequest.ts +4 -8
  115. package/src/meeting/request.ts +4 -11
  116. package/src/meeting/util.ts +25 -4
  117. package/src/meeting-info/meeting-info-v2.ts +23 -11
  118. package/src/meetings/index.ts +54 -41
  119. package/src/members/index.ts +4 -2
  120. package/src/members/util.ts +4 -1
  121. package/src/metrics/constants.ts +3 -1
  122. package/src/multistream/remoteMedia.ts +28 -15
  123. package/src/reachability/clusterReachability.ts +5 -15
  124. package/src/reachability/index.ts +285 -77
  125. package/src/reachability/reachability.types.ts +85 -0
  126. package/src/reachability/request.ts +55 -30
  127. package/src/recording-controller/enums.ts +5 -2
  128. package/src/recording-controller/index.ts +17 -4
  129. package/src/recording-controller/util.ts +20 -5
  130. package/src/roap/index.ts +4 -5
  131. package/src/roap/request.ts +30 -44
  132. package/src/roap/turnDiscovery.ts +2 -4
  133. package/src/webinar/index.ts +223 -17
  134. package/test/unit/spec/controls-options-manager/index.js +56 -32
  135. package/test/unit/spec/controls-options-manager/util.js +44 -0
  136. package/test/unit/spec/locus-info/controlsUtils.js +80 -4
  137. package/test/unit/spec/locus-info/index.js +59 -2
  138. package/test/unit/spec/meeting/in-meeting-actions.ts +31 -1
  139. package/test/unit/spec/meeting/index.js +369 -103
  140. package/test/unit/spec/meeting/locusMediaRequest.ts +18 -11
  141. package/test/unit/spec/meeting/request.js +3 -26
  142. package/test/unit/spec/meeting/utils.js +55 -13
  143. package/test/unit/spec/meeting-info/meetinginfov2.js +9 -4
  144. package/test/unit/spec/meetings/index.js +25 -6
  145. package/test/unit/spec/members/index.js +25 -2
  146. package/test/unit/spec/members/request.js +37 -3
  147. package/test/unit/spec/members/utils.js +110 -1
  148. package/test/unit/spec/multistream/remoteMedia.ts +11 -7
  149. package/test/unit/spec/reachability/clusterReachability.ts +7 -0
  150. package/test/unit/spec/reachability/index.ts +265 -1
  151. package/test/unit/spec/reachability/request.js +56 -15
  152. package/test/unit/spec/recording-controller/index.js +61 -5
  153. package/test/unit/spec/recording-controller/util.js +39 -3
  154. package/test/unit/spec/roap/index.ts +1 -1
  155. package/test/unit/spec/roap/request.ts +51 -109
  156. package/test/unit/spec/roap/turnDiscovery.ts +202 -147
  157. package/test/unit/spec/webinar/index.ts +443 -14
  158. package/dist/common/errors/webinar-registration-error.js.map +0 -1
  159. package/src/common/errors/webinar-registration-error.ts +0 -27
@@ -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","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":"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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","_createForOfIteratorHelper","allowArrayLike","it","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","i","F","s","n","done","value","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","_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","devTurnServers","window","webexTurnServers","console","log","_iterator","_step","devTurnServer","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","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 const devTurnServers = (window as any).webexTurnServers;\n\n if (devTurnServers) {\n console.log('adding webexTurnServers:', devTurnServers);\n\n for (const devTurnServer of devTurnServers) {\n iceServers.push({\n urls: devTurnServer.url || turnServerInfo.url.replace('.public', '.ds.public'),\n username: devTurnServer.username || turnServerInfo?.username || '',\n credential: devTurnServer.password || turnServerInfo?.password || '',\n });\n }\n }\n console.log('iceServers:', iceServers);\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":"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"}
@@ -33,6 +33,7 @@ var InMeetingActions = exports.default = /*#__PURE__*/(0, _createClass2.default)
33
33
  (0, _defineProperty2.default)(this, "canStartRecording", null);
34
34
  (0, _defineProperty2.default)(this, "canPauseRecording", null);
35
35
  (0, _defineProperty2.default)(this, "canResumeRecording", null);
36
+ (0, _defineProperty2.default)(this, "isPremiseRecordingEnabled", null);
36
37
  (0, _defineProperty2.default)(this, "canStopRecording", null);
37
38
  (0, _defineProperty2.default)(this, "canSetMuteOnEntry", null);
38
39
  (0, _defineProperty2.default)(this, "canSetPresenter", null);
@@ -80,6 +81,10 @@ var InMeetingActions = exports.default = /*#__PURE__*/(0, _createClass2.default)
80
81
  (0, _defineProperty2.default)(this, "canUpdateShareControl", null);
81
82
  (0, _defineProperty2.default)(this, "canEnableViewTheParticipantsList", null);
82
83
  (0, _defineProperty2.default)(this, "canDisableViewTheParticipantsList", null);
84
+ (0, _defineProperty2.default)(this, "canEnableViewTheParticipantsListPanelist", null);
85
+ (0, _defineProperty2.default)(this, "canDisableViewTheParticipantsListPanelist", null);
86
+ (0, _defineProperty2.default)(this, "canEnableShowAttendeeCount", null);
87
+ (0, _defineProperty2.default)(this, "canDisableShowAttendeeCount", null);
83
88
  (0, _defineProperty2.default)(this, "canEnableRaiseHand", null);
84
89
  (0, _defineProperty2.default)(this, "canDisableRaiseHand", null);
85
90
  (0, _defineProperty2.default)(this, "canEnableVideo", null);
@@ -99,6 +104,15 @@ var InMeetingActions = exports.default = /*#__PURE__*/(0, _createClass2.default)
99
104
  (0, _defineProperty2.default)(this, "supportHDV", null);
100
105
  (0, _defineProperty2.default)(this, "canShareWhiteBoard", null);
101
106
  (0, _defineProperty2.default)(this, "canPollingAndQA", null);
107
+ (0, _defineProperty2.default)(this, "canStartWebcast", null);
108
+ (0, _defineProperty2.default)(this, "canStopWebcast", null);
109
+ (0, _defineProperty2.default)(this, "canShowStageView", null);
110
+ (0, _defineProperty2.default)(this, "canEnableStageView", null);
111
+ (0, _defineProperty2.default)(this, "canDisableStageView", null);
112
+ (0, _defineProperty2.default)(this, "isPracticeSessionOn", null);
113
+ (0, _defineProperty2.default)(this, "isPracticeSessionOff", null);
114
+ (0, _defineProperty2.default)(this, "canStartPracticeSession", null);
115
+ (0, _defineProperty2.default)(this, "canStopPracticeSession", null);
102
116
  /**
103
117
  * Returns all meeting action options
104
118
  * @returns {Object}
@@ -122,6 +136,7 @@ var InMeetingActions = exports.default = /*#__PURE__*/(0, _createClass2.default)
122
136
  canPauseRecording: _this.canPauseRecording,
123
137
  canResumeRecording: _this.canResumeRecording,
124
138
  canStopRecording: _this.canStopRecording,
139
+ isPremiseRecordingEnabled: _this.isPremiseRecordingEnabled,
125
140
  canRaiseHand: _this.canRaiseHand,
126
141
  canLowerAllHands: _this.canLowerAllHands,
127
142
  canLowerSomeoneElsesHand: _this.canLowerSomeoneElsesHand,
@@ -160,6 +175,10 @@ var InMeetingActions = exports.default = /*#__PURE__*/(0, _createClass2.default)
160
175
  canUpdateShareControl: _this.canUpdateShareControl,
161
176
  canEnableViewTheParticipantsList: _this.canEnableViewTheParticipantsList,
162
177
  canDisableViewTheParticipantsList: _this.canDisableViewTheParticipantsList,
178
+ canEnableViewTheParticipantsListPanelist: _this.canEnableViewTheParticipantsListPanelist,
179
+ canDisableViewTheParticipantsListPanelist: _this.canDisableViewTheParticipantsListPanelist,
180
+ canEnableShowAttendeeCount: _this.canEnableShowAttendeeCount,
181
+ canDisableShowAttendeeCount: _this.canDisableShowAttendeeCount,
163
182
  canEnableRaiseHand: _this.canEnableRaiseHand,
164
183
  canDisableRaiseHand: _this.canDisableRaiseHand,
165
184
  canEnableVideo: _this.canEnableVideo,
@@ -178,7 +197,16 @@ var InMeetingActions = exports.default = /*#__PURE__*/(0, _createClass2.default)
178
197
  supportHQV: _this.supportHQV,
179
198
  supportHDV: _this.supportHDV,
180
199
  canShareWhiteBoard: _this.canShareWhiteBoard,
181
- canPollingAndQA: _this.canPollingAndQA
200
+ canPollingAndQA: _this.canPollingAndQA,
201
+ canStartWebcast: _this.canStartWebcast,
202
+ canStopWebcast: _this.canStopWebcast,
203
+ canShowStageView: _this.canShowStageView,
204
+ canEnableStageView: _this.canEnableStageView,
205
+ canDisableStageView: _this.canDisableStageView,
206
+ isPracticeSessionOn: _this.isPracticeSessionOn,
207
+ isPracticeSessionOff: _this.isPracticeSessionOff,
208
+ canStartPracticeSession: _this.canStartPracticeSession,
209
+ canStopPracticeSession: _this.canStopPracticeSession
182
210
  };
183
211
  });
184
212
  /**
@@ -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","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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"}
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","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","canEnableViewTheParticipantsListPanelist","canDisableViewTheParticipantsListPanelist","canEnableShowAttendeeCount","canDisableShowAttendeeCount","canEnableRaiseHand","canDisableRaiseHand","canEnableVideo","canDisableVideo","canShareFile","canShareApplication","canShareCamera","canShareDesktop","canShareContent","canTransferFile","canChat","canDoVideo","canAnnotate","canUseVoip","enforceVirtualBackground","supportHQV","supportHDV","canShareWhiteBoard","canPollingAndQA","canStartWebcast","canStopWebcast","canShowStageView","canEnableStageView","canDisableStageView","isPracticeSessionOn","isPracticeSessionOff","canStartPracticeSession","canStopPracticeSession","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 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 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 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 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}\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 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 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 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 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 /**\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 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 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 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 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 });\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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"}