@webex/plugin-meetings 3.0.0-beta.2 → 3.0.0-beta.200
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -7
- package/UPGRADING.md +9 -9
- package/browsers.js +19 -24
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +216 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.js +23 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +1048 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +67 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/browser-detection.js +1 -20
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +5 -20
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +0 -7
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +10 -24
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +11 -24
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +12 -25
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +10 -24
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.js +5 -33
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +10 -24
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +9 -23
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.js +0 -17
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +10 -24
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +10 -24
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +9 -43
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +5 -25
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +0 -22
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +0 -23
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +0 -12
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +0 -15
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +0 -4
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -8
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +37 -60
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +28 -23
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +8 -13
- package/dist/config.js.map +1 -1
- package/dist/constants.js +250 -66
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +14 -0
- package/dist/controls-options-manager/constants.js.map +1 -0
- package/dist/controls-options-manager/enums.js +27 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +297 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +319 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +108 -17
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +366 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +101 -29
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -26
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +0 -15
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +4 -12
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +532 -240
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +3 -37
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +54 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +284 -154
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +110 -92
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +95 -226
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +99 -194
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +2 -9
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +505 -495
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +83 -14
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +3478 -3563
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +291 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +247 -183
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +344 -344
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js +7 -0
- package/dist/meeting/request.type.js.map +1 -0
- package/dist/meeting/state.js +21 -31
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.js +529 -588
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +6 -25
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +62 -39
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +328 -283
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +3 -15
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +98 -183
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +156 -232
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +26 -19
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +795 -574
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +26 -41
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +186 -155
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +126 -85
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +25 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +147 -88
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +13 -12
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +178 -204
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +113 -68
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +314 -260
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +4 -7
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +11 -558
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +264 -50
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +58 -65
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +76 -95
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +62 -76
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +66 -43
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +502 -442
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +40 -59
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +21 -45
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +1 -31
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +0 -13
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.js +192 -191
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +15 -23
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/constants.js +13 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.js +109 -0
- package/dist/reactions/reactions.js.map +1 -0
- package/dist/reactions/reactions.type.js +36 -0
- package/dist/reactions/reactions.type.js.map +1 -0
- package/dist/reconnection-manager/index.js +384 -476
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +17 -0
- package/dist/recording-controller/enums.js.map +1 -0
- package/dist/recording-controller/index.js +363 -0
- package/dist/recording-controller/index.js.map +1 -0
- package/dist/recording-controller/util.js +64 -0
- package/dist/recording-controller/util.js.map +1 -0
- package/dist/roap/index.js +58 -91
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +137 -135
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +148 -100
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +115 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/global.js +1 -95
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +385 -460
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +143 -87
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +22 -47
- package/dist/transcription/index.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/breakout.d.ts +8 -0
- package/dist/types/breakouts/collection.d.ts +5 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/index.d.ts +5 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/browser-detection.d.ts +9 -0
- package/dist/types/common/collection.d.ts +48 -0
- package/dist/types/common/config.d.ts +2 -0
- package/dist/types/common/errors/captcha-error.d.ts +15 -0
- package/dist/types/common/errors/intent-to-join.d.ts +16 -0
- package/dist/types/common/errors/join-meeting.d.ts +17 -0
- package/dist/types/common/errors/media.d.ts +15 -0
- package/dist/types/common/errors/parameter.d.ts +15 -0
- package/dist/types/common/errors/password-error.d.ts +15 -0
- package/dist/types/common/errors/permission.d.ts +14 -0
- package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/types/common/errors/reconnection.d.ts +15 -0
- package/dist/types/common/errors/stats.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +69 -0
- package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/types/common/events/events-scope.d.ts +17 -0
- package/dist/types/common/events/events.d.ts +12 -0
- package/dist/types/common/events/trigger-proxy.d.ts +2 -0
- package/dist/types/common/events/util.d.ts +2 -0
- package/dist/types/common/logs/logger-config.d.ts +2 -0
- package/dist/types/common/logs/logger-proxy.d.ts +2 -0
- package/dist/types/common/logs/request.d.ts +34 -0
- package/dist/types/common/queue.d.ts +34 -0
- package/dist/types/config.d.ts +72 -0
- package/dist/types/constants.d.ts +1016 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +15 -0
- package/dist/types/controls-options-manager/index.d.ts +136 -0
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/controlsUtils.d.ts +2 -0
- package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/types/locus-info/fullState.d.ts +2 -0
- package/dist/types/locus-info/hostUtils.d.ts +2 -0
- package/dist/types/locus-info/index.d.ts +322 -0
- package/dist/types/locus-info/infoUtils.d.ts +2 -0
- package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/types/locus-info/parser.d.ts +271 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/index.d.ts +34 -0
- package/dist/types/media/properties.d.ts +93 -0
- package/dist/types/media/util.d.ts +2 -0
- package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +153 -0
- package/dist/types/meeting/index.d.ts +1471 -0
- package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
- package/dist/types/meeting/muteState.d.ts +184 -0
- package/dist/types/meeting/request.d.ts +257 -0
- package/dist/types/meeting/request.type.d.ts +11 -0
- package/dist/types/meeting/state.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +78 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +62 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
- package/dist/types/meeting-info/request.d.ts +22 -0
- package/dist/types/meeting-info/util.d.ts +2 -0
- package/dist/types/meeting-info/utilv2.d.ts +2 -0
- package/dist/types/meetings/collection.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +367 -0
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/meetings/request.d.ts +27 -0
- package/dist/types/meetings/util.d.ts +18 -0
- package/dist/types/member/index.d.ts +159 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/member/util.d.ts +2 -0
- package/dist/types/members/collection.d.ts +29 -0
- package/dist/types/members/index.d.ts +353 -0
- package/dist/types/members/request.d.ts +114 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +210 -0
- package/dist/types/metrics/constants.d.ts +55 -0
- package/dist/types/metrics/index.d.ts +45 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/types/multistream/remoteMedia.d.ts +72 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
- package/dist/types/networkQualityMonitor/index.d.ts +70 -0
- package/dist/types/personal-meeting-room/index.d.ts +47 -0
- package/dist/types/personal-meeting-room/request.d.ts +14 -0
- package/dist/types/personal-meeting-room/util.d.ts +2 -0
- package/dist/types/reachability/index.d.ts +152 -0
- package/dist/types/reachability/request.d.ts +37 -0
- package/dist/types/reactions/constants.d.ts +3 -0
- package/dist/types/reactions/reactions.d.ts +4 -0
- package/dist/types/reactions/reactions.type.d.ts +52 -0
- package/dist/types/reconnection-manager/index.d.ts +126 -0
- package/dist/types/recording-controller/enums.d.ts +7 -0
- package/dist/types/recording-controller/index.d.ts +208 -0
- package/dist/types/recording-controller/util.d.ts +14 -0
- package/dist/types/roap/index.d.ts +77 -0
- package/dist/types/roap/request.d.ts +36 -0
- package/dist/types/roap/turnDiscovery.d.ts +91 -0
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +46 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +200 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/internal-README.md +7 -6
- package/package.json +29 -21
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +220 -0
- package/src/breakouts/breakout.ts +188 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +925 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
- package/src/common/collection.ts +9 -7
- package/src/common/{config.js → config.ts} +1 -1
- package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
- package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
- package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
- package/src/common/errors/{media.js → media.ts} +11 -7
- package/src/common/errors/parameter.ts +11 -7
- package/src/common/errors/{password-error.js → password-error.ts} +11 -7
- package/src/common/errors/{permission.js → permission.ts} +10 -6
- package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
- package/src/common/errors/{stats.js → stats.ts} +11 -7
- package/src/common/errors/{webex-errors.js → webex-errors.ts} +14 -9
- package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
- package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
- package/src/common/events/{events.js → events.ts} +5 -1
- package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
- package/src/common/events/{util.js → util.ts} +2 -3
- package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
- package/src/common/logs/logger-proxy.ts +44 -0
- package/src/common/logs/{request.js → request.ts} +22 -9
- package/src/common/queue.ts +22 -9
- package/src/{config.js → config.ts} +17 -17
- package/src/constants.ts +197 -22
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +18 -0
- package/src/controls-options-manager/index.ts +278 -0
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +300 -0
- package/src/index.ts +39 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +222 -0
- package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
- package/src/locus-info/{fullState.js → fullState.ts} +16 -12
- package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
- package/src/locus-info/{index.js → index.ts} +518 -111
- package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
- package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +65 -17
- package/src/locus-info/{parser.js → parser.ts} +271 -98
- package/src/locus-info/{selfUtils.js → selfUtils.ts} +199 -68
- package/src/media/index.ts +456 -0
- package/src/media/{properties.js → properties.ts} +80 -102
- package/src/media/{util.js → util.ts} +2 -2
- package/src/mediaQualityMetrics/config.ts +384 -0
- package/src/meeting/in-meeting-actions.ts +171 -3
- package/src/meeting/index.ts +7070 -0
- package/src/meeting/locusMediaRequest.ts +309 -0
- package/src/meeting/muteState.ts +450 -0
- package/src/meeting/{request.js → request.ts} +354 -214
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/{state.js → state.ts} +50 -35
- package/src/meeting/util.ts +615 -0
- package/src/meeting-info/{collection.js → collection.ts} +6 -2
- package/src/meeting-info/index.ts +183 -0
- package/src/meeting-info/meeting-info-v2.ts +407 -0
- package/src/meeting-info/{request.js → request.ts} +14 -4
- package/src/meeting-info/{util.js → util.ts} +60 -51
- package/src/meeting-info/{utilv2.js → utilv2.ts} +77 -60
- package/src/meetings/{collection.js → collection.ts} +26 -3
- package/src/meetings/index.ts +1467 -0
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/{request.js → request.ts} +34 -25
- package/src/meetings/{util.js → util.ts} +137 -36
- package/src/member/{index.js → index.ts} +151 -56
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +383 -0
- package/src/members/{collection.js → collection.ts} +10 -2
- package/src/members/{index.js → index.ts} +323 -145
- package/src/members/request.ts +255 -0
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +339 -0
- package/src/metrics/{constants.js → constants.ts} +2 -6
- package/src/metrics/index.ts +73 -0
- package/src/multistream/mediaRequestManager.ts +337 -61
- package/src/multistream/receiveSlot.ts +69 -26
- package/src/multistream/receiveSlotManager.ts +66 -42
- package/src/multistream/remoteMedia.ts +40 -5
- package/src/multistream/remoteMediaGroup.ts +63 -3
- package/src/multistream/remoteMediaManager.ts +263 -66
- package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
- package/src/personal-meeting-room/{index.js → index.ts} +28 -19
- package/src/personal-meeting-room/{request.js → request.ts} +13 -4
- package/src/personal-meeting-room/{util.js → util.ts} +4 -4
- package/src/reachability/{index.js → index.ts} +157 -94
- package/src/reachability/request.ts +46 -35
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +104 -0
- package/src/reactions/reactions.type.ts +62 -0
- package/src/reconnection-manager/{index.js → index.ts} +254 -136
- package/src/recording-controller/enums.ts +8 -0
- package/src/recording-controller/index.ts +333 -0
- package/src/recording-controller/util.ts +75 -0
- package/src/roap/{index.js → index.ts} +86 -78
- package/src/roap/request.ts +163 -0
- package/src/roap/turnDiscovery.ts +111 -49
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +96 -0
- package/src/statsAnalyzer/global.ts +37 -0
- package/src/statsAnalyzer/index.ts +1272 -0
- package/src/statsAnalyzer/mqaUtil.ts +291 -0
- package/src/transcription/{index.js → index.ts} +46 -39
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +804 -526
- package/test/integration/spec/space-meeting.js +391 -204
- package/test/integration/spec/transcription.js +7 -8
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +237 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1790 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/common/browser-detection.js +9 -28
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +287 -0
- package/test/unit/spec/controls-options-manager/util.js +582 -0
- package/test/unit/spec/fixture/locus.js +93 -90
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +325 -32
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
- package/test/unit/spec/locus-info/index.js +1176 -18
- package/test/unit/spec/locus-info/infoUtils.js +41 -32
- package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
- package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/parser.js +65 -31
- package/test/unit/spec/locus-info/selfConstant.js +120 -103
- package/test/unit/spec/locus-info/selfUtils.js +296 -12
- package/test/unit/spec/media/index.ts +162 -68
- package/test/unit/spec/media/properties.ts +9 -9
- package/test/unit/spec/meeting/in-meeting-actions.ts +82 -3
- package/test/unit/spec/meeting/index.js +4569 -1773
- package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
- package/test/unit/spec/meeting/muteState.js +382 -211
- package/test/unit/spec/meeting/request.js +444 -78
- package/test/unit/spec/meeting/utils.js +517 -192
- package/test/unit/spec/meeting-info/index.js +181 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +481 -76
- package/test/unit/spec/meeting-info/request.js +7 -9
- package/test/unit/spec/meeting-info/util.js +11 -12
- package/test/unit/spec/meeting-info/utilv2.js +131 -74
- package/test/unit/spec/meetings/collection.js +15 -1
- package/test/unit/spec/meetings/index.js +1254 -330
- package/test/unit/spec/meetings/utils.js +220 -14
- package/test/unit/spec/member/index.js +58 -5
- package/test/unit/spec/member/util.js +494 -26
- package/test/unit/spec/members/index.js +423 -55
- package/test/unit/spec/members/request.js +228 -40
- package/test/unit/spec/members/utils.js +191 -4
- package/test/unit/spec/metrics/index.js +12 -66
- package/test/unit/spec/multistream/mediaRequestManager.ts +1013 -106
- package/test/unit/spec/multistream/receiveSlot.ts +77 -18
- package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
- package/test/unit/spec/multistream/remoteMedia.ts +40 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +730 -65
- package/test/unit/spec/networkQualityMonitor/index.js +24 -18
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
- package/test/unit/spec/reachability/index.ts +176 -27
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +155 -9
- package/test/unit/spec/recording-controller/index.js +307 -0
- package/test/unit/spec/recording-controller/util.js +229 -0
- package/test/unit/spec/roap/index.ts +28 -52
- package/test/unit/spec/roap/request.ts +225 -0
- package/test/unit/spec/roap/turnDiscovery.ts +92 -50
- package/test/unit/spec/rtcMetrics/index.ts +60 -0
- package/test/unit/spec/stats-analyzer/index.js +116 -60
- package/test/utils/cmr.js +44 -42
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +63 -99
- package/test/utils/webex-config.js +22 -18
- package/test/utils/webex-test-users.js +57 -50
- package/tsconfig.json +6 -0
- package/dist/media/internal-media-core-wrapper.js +0 -22
- package/dist/media/internal-media-core-wrapper.js.map +0 -1
- package/dist/meeting/effectsState.js +0 -327
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.js +0 -301
- package/dist/metrics/config.js.map +0 -1
- package/dist/multistream/multistreamMedia.js +0 -116
- package/dist/multistream/multistreamMedia.js.map +0 -1
- package/dist/peer-connection-manager/util.js +0 -124
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/src/common/logs/logger-proxy.js +0 -33
- package/src/index.js +0 -15
- package/src/locus-info/controlsUtils.js +0 -102
- package/src/media/index.js +0 -459
- package/src/media/internal-media-core-wrapper.ts +0 -9
- package/src/mediaQualityMetrics/config.js +0 -382
- package/src/meeting/effectsState.js +0 -205
- package/src/meeting/index.js +0 -6284
- package/src/meeting/muteState.js +0 -318
- package/src/meeting/util.js +0 -506
- package/src/meeting-info/index.js +0 -131
- package/src/meeting-info/meeting-info-v2.js +0 -255
- package/src/meetings/index.js +0 -1015
- package/src/member/util.js +0 -254
- package/src/members/request.js +0 -131
- package/src/members/util.js +0 -258
- package/src/metrics/config.js +0 -324
- package/src/metrics/index.js +0 -530
- package/src/multistream/multistreamMedia.ts +0 -92
- package/src/peer-connection-manager/util.ts +0 -117
- package/src/roap/request.js +0 -127
- package/src/statsAnalyzer/global.js +0 -133
- package/src/statsAnalyzer/index.js +0 -1006
- package/src/statsAnalyzer/mqaUtil.js +0 -173
- package/test/unit/spec/meeting/effectsState.js +0 -291
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
- /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["errorDescription","UNKNOWN_CALL_FAILURE","LOCUS_RATE_LIMITED_INCOMING","LOCUS_RATE_LIMITED_OUTGOING","LOCUS_UNAVAILABLE","LOCUS_CONFLICT","TIMEOUT","LOCUS_INVALID_SEQUENCE_HASH","UPDATE_MEDIA_FAILED","FAILED_TO_CONNECT_MEDIA","MEDIA_ENGINE_LOST","MEDIA_CONNECTION_LOST","ICE_FAILURE","MEDIA_ENGINE_HANG","ICE_SERVER_REJECTED","CALL_FULL","ROOM_TOO_LARGE","GUEST_ALREADY_ADDED","LOCUS_USER_NOT_AUTHORISED","CLOUDBERRY_UNAVAILABLE","ROOM_TOO_LARGE_FREE_ACCOUNT","MEETING_INACTIVE","MEETING_LOCKED","MEETING_TERMINATING","MODERATOR_PIN_OR_GUEST_REQUIRED","MODERATOR_PIN_OR_GUEST_PIN_REQUIRED","MODERATOR_REQUIRED","USER_NOT_MEMBER_OF_ROOM","NEW_LOCUS_ERROR","NET_WORK_UNAVAILABLE","MEETING_UNAVAILABLE","MEETING_ID_INVALID","MEETING_SITE_INVALID","LOCUS_INVALID_JOINTIME","LOBBY_EXPIRED","MEDIA_CONNECTION_LOST_PAIRED","PHONE_NUMBER_NOT_A_NUMBER","PHONE_NUMBER_TOO_LONG","INVALID_DIALABLE_KEY","ONE_ON_ONE_TO_SELF_NOT_ALLOWED","REMOVED_PARTICIPANT","MEETING_LINK_NOT_FOUND","PHONE_NUMBER_TOO_SHORT_AFTER_IDD","INVALID_INVITEE_ADDRESS","PMR_USER_ACCOUNT_LOCKED_OUT","GUEST_FORBIDDEN","PMR_ACCOUNT_SUSPENDED","EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE","CONVERSATION_NOT_FOUND","SIP_CALLEE_BUSY","SIP_CALLEE_NOT_FOUND","START_RECORDING_FAILED","RECORDING_IN_PROGRESS_FAILED","errorCategory","SIGNALING","MEDIA","OTHER","EXPECTED","errorFailureType","CALL_INITIATION_FAILURE","MEDIA_CONNECTION_FAILURE","EXPECTED_FAILURE","ACCESS_RIGHTS","eventType","MEDIA_QUALITY","CALL_INITIATED","MERCURY_CONNECTION_LOST","MERCURY_CONNECTION_RESTORED","MOVE_MEDIA","LOCAL_SDP_GENERATED","REMOTE_SDP_RECEIVED","LOCUS_JOIN_REQUEST","LOCUS_JOIN_RESPONSE","ALERT_DISPLAYED","ICE_START","ICE_END","ICE_DISCONNECT","RECEIVING_MEDIA_START","RECEIVING_MEDIA_STOP","SENDING_MEDIA_START","SENDING_MEDIA_STOP","MEDIA_RENDER_START","MEDIA_RENDER_STOP","MEDIA_CAPABILITIES","MEDIA_RECONNECTING","MEDIA_RECOVERED","CALL_ABORTED","PIN_PROMPT","PIN_COLLECTED","LOBBY_ENTERED","LOBBY_EXITED","SHARE_INITIATED","SHARE_STOPPED","LOCAL_SHARE_FLOOR_GRANTED","SHARE_LAYOUT_DISPLAYED","WHITEBOARD_SHARE_INITIATED","WHITEBOARD_SHARE_STOPPED","WHITEBOARD_SHARE_FLOOR_GRANTED","MUTED","UNMUTED","LEAVE","REMOTE_ENDED","REMOTE_STARTED","MEDIA_REQUEST","MEDIA_RESPONSE","PSTN_AUDIO_ATTEMPT_START","PSTN_AUDIO_ATTEMPT_FINISH","PSTN_AUDIO_ATTEMPT_SKIP","error","name","MEDIA_ENGINE","ICE_FAILED","LOCUS_RESPONSE","LOCUS_LEAVE","notFatalErrorList","errors","trigger","USER_INTERACTION","MERCURY_EVENT","LOCI_UPDATE","MEDIA_ENGINE_EVENT","pstnAudioType","DIAL_IN","DIAL_OUT","displayLocation","TOAST","ROOM_LIST","CALL_PANE","CALL_VIEW","mediaType","AUDIO","VIDEO","SHARE","WHITEBOARD","reconnection","RECOVERED_BY_NEW","RECOVERED_BY_RETRY","errorCodes","USER_CREATE_FAILED","USER_ALREADY_PARTICIPANT","CONVO_ALREADY_EXISTS","ALREADY_ANNOUNCEMENT_SPACE","NOT_ANNOUNCEMENT_SPACE","USER_NOT_MODERATOR_IN_ANNOUNCEMENT_SPACE","TEMP_ID_ALREADY_EXISTS","PARENT_ACTIVITY_ID_NOT_FOUND_OR_INVALID","statusCodes","NETWORK_OR_CORS","BAD_REQUEST","FORBIDDEN","NOT_FOUND","CONFLICT","errorObjects","category","media","expected","mediaEngine","UNKNOWN","OS_NAME","WINDOWS","MAC","IOS","ANDROID","CHROME","LINUX","OTHERS","CLIENT_NAME","PLATFORM"],"sources":["config.js"],"sourcesContent":["\n\nconst errorDescription = {\n UNKNOWN_CALL_FAILURE: 'UnknownCallFailure',\n LOCUS_RATE_LIMITED_INCOMING: 'LocusRateLimitedIncoming',\n LOCUS_RATE_LIMITED_OUTGOING: 'LocusRateLimitedOutgoing',\n LOCUS_UNAVAILABLE: 'LocusUnavailable',\n LOCUS_CONFLICT: 'LocusConflict',\n TIMEOUT: 'Timeout',\n LOCUS_INVALID_SEQUENCE_HASH: 'LocusInvalidSequenceHash',\n UPDATE_MEDIA_FAILED: 'UpdateMediaFailed',\n FAILED_TO_CONNECT_MEDIA: 'FailedToConnectMedia',\n MEDIA_ENGINE_LOST: 'MediaEngineLost',\n MEDIA_CONNECTION_LOST: 'MediaConnectionLost',\n ICE_FAILURE: 'IceFailure',\n MEDIA_ENGINE_HANG: 'MediaEngineHang',\n ICE_SERVER_REJECTED: 'IceServerRejected',\n CALL_FULL: 'CallFull',\n ROOM_TOO_LARGE: 'RoomTooLarge',\n GUEST_ALREADY_ADDED: 'GuestAlreadyAdded',\n LOCUS_USER_NOT_AUTHORISED: 'LocusUserNotAuthorised',\n CLOUDBERRY_UNAVAILABLE: 'CloudberryUnavailable',\n ROOM_TOO_LARGE_FREE_ACCOUNT: 'RoomTooLarge_FreeAccount',\n MEETING_INACTIVE: 'MeetingInactive',\n MEETING_LOCKED: 'MeetingLocked',\n MEETING_TERMINATING: 'MeetingTerminating',\n MODERATOR_PIN_OR_GUEST_REQUIRED: 'Moderator_Pin_Or_Guest_Required',\n MODERATOR_PIN_OR_GUEST_PIN_REQUIRED: 'Moderator_Pin_Or_Guest_PIN_Required',\n MODERATOR_REQUIRED: 'Moderator_Required',\n USER_NOT_MEMBER_OF_ROOM: 'UserNotMemberOfRoom',\n NEW_LOCUS_ERROR: 'NewLocusError',\n NET_WORK_UNAVAILABLE: 'NetworkUnavailable',\n MEETING_UNAVAILABLE: 'MeetingUnavailable',\n MEETING_ID_INVALID: 'MeetingIDInvalid',\n MEETING_SITE_INVALID: 'MeetingSiteInvalid',\n LOCUS_INVALID_JOINTIME: 'LocusInvalidJoinTime',\n LOBBY_EXPIRED: 'LobbyExpired',\n MEDIA_CONNECTION_LOST_PAIRED: 'MediaConnectionLostPaired',\n PHONE_NUMBER_NOT_A_NUMBER: 'PhoneNumberNotANumber',\n PHONE_NUMBER_TOO_LONG: 'PhoneNumberTooLong',\n INVALID_DIALABLE_KEY: 'InvalidDialableKey',\n ONE_ON_ONE_TO_SELF_NOT_ALLOWED: 'OneOnOneToSelfNotAllowed',\n REMOVED_PARTICIPANT: 'RemovedParticipant',\n MEETING_LINK_NOT_FOUND: 'MeetingLinkNotFound',\n PHONE_NUMBER_TOO_SHORT_AFTER_IDD: 'PhoneNumberTooShortAfterIdd',\n INVALID_INVITEE_ADDRESS: 'InvalidInviteeAddress',\n PMR_USER_ACCOUNT_LOCKED_OUT: 'PMRUserAccountLockedOut',\n GUEST_FORBIDDEN: 'GuestForbidden',\n PMR_ACCOUNT_SUSPENDED: 'PMRAccountSuspended',\n EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE: 'EmptyPhoneNumberOrCountryCode',\n CONVERSATION_NOT_FOUND: 'ConversationNotFound',\n SIP_CALLEE_BUSY: 'SIPCalleeBusy',\n SIP_CALLEE_NOT_FOUND: 'SIPCalleeNotFound',\n START_RECORDING_FAILED: 'StartRecordingFailed',\n RECORDING_IN_PROGRESS_FAILED: 'RecordingInProgressFailed'\n};\n\nconst errorCategory = {\n SIGNALING: 'signaling',\n MEDIA: 'media',\n OTHER: 'other',\n EXPECTED: 'expected'\n};\n\nconst errorFailureType = {\n CALL_INITIATION_FAILURE: 'CallInitiationFailure',\n MEDIA_CONNECTION_FAILURE: 'MediaConnectionFailure',\n EXPECTED_FAILURE: 'ExpectedFailure',\n ACCESS_RIGHTS: 'AccessRights'\n};\n\nexport const eventType = {\n // media quality events every 60 seconds\n MEDIA_QUALITY: 'client.mediaquality.event',\n CALL_INITIATED: 'client.call.initiated',\n MERCURY_CONNECTION_LOST: 'client.mercury.connection.lost',\n MERCURY_CONNECTION_RESTORED: 'client.mercury.connection.restored',\n MOVE_MEDIA: 'client.call.move-media',\n LOCAL_SDP_GENERATED: 'client.media-engine.local-sdp-generated',\n REMOTE_SDP_RECEIVED: 'client.media-engine.remote-sdp-received',\n LOCUS_JOIN_REQUEST: 'client.locus.join.request',\n LOCUS_JOIN_RESPONSE: 'client.locus.join.response',\n ALERT_DISPLAYED: 'client.alert.displayed',\n // when ICE negotiation starts\n ICE_START: 'client.ice.start',\n ICE_END: 'client.ice.end',\n ICE_DISCONNECT: 'client.ice.disconnect',\n // Fired when the media engine reports receiving a new media stream. Media events MUST have the mediaType property.\n RECEIVING_MEDIA_START: 'client.media.rx.start',\n // Fired when the media engine reports the end of receiving a media stream.\n // Media events MUST have the mediaType property.\n RECEIVING_MEDIA_STOP: 'client.media.rx.stop',\n // Fired when the media engine reports sending a new media stream. Media events MUST have the mediaType property.\n SENDING_MEDIA_START: 'client.media.tx.start',\n // Fired when the media engine reports it stopped sending a media stream.\n // Media events MUST have the mediaType property.\n SENDING_MEDIA_STOP: 'client.media.tx.stop',\n MEDIA_RENDER_START: 'client.media.render.start',\n MEDIA_RENDER_STOP: 'client.media.render.stop',\n // static media event when outside of the normal scenario\n // call-analyzer assumes that a client is capable of receiving audio, video, and share\n // fired on change, or at beginning of a call\n // every media type is required, so must be indicated with boolean\n MEDIA_CAPABILITIES: 'client.media.capabilities',\n // Sent when the client notices that a media session has been lost\n MEDIA_RECONNECTING: 'client.media.reconnecting',\n // Sent when the client recovers a media session that was lost\n MEDIA_RECOVERED: 'client.media.recovered',\n CALL_ABORTED: 'client.call.aborted',\n // Fired when the \"please enter your PIN\" or similar prompt is displayed\n // to the user, to authenticate them into the meeting\n PIN_PROMPT: 'client.pin.prompt',\n // Fired when PIN entry has been completed\n PIN_COLLECTED: 'client.pin.collected',\n // Fired when the client displays the native lobby\n LOBBY_ENTERED: 'client.lobby.entered',\n // Fired when the client leaves the native lobby\n LOBBY_EXITED: 'client.lobby.exited',\n // Fired when the user of the client starts a share (e.g. click 'Share' button).\n // This should be sent from all clients that support sending a share.\n SHARE_INITIATED: 'client.share.initiated',\n // Fired when the user stops sharing (usually when they click the 'Stop' button for share)\n SHARE_STOPPED: 'client.share.stopped',\n // When the client receives a successful response from locus indicating that it has the floor for content sharing.\n LOCAL_SHARE_FLOOR_GRANTED: 'client.share.floor-granted.local',\n // Fired when the client changes its local UI/layout to a content sharing view,\n // because it is expecting to display share media.\n SHARE_LAYOUT_DISPLAYED: 'client.share.layout.displayed',\n // Fired when the user of the client starts a whiteboard share (e.g. click 'Share Live' button).\n WHITEBOARD_SHARE_INITIATED: 'client.whiteboard.share.initiated',\n // Fired when the meeting floor is released for whiteboard share\n WHITEBOARD_SHARE_STOPPED: 'client.whiteboard.share.stopped',\n // When the client receives a successful response from locus indicating that it has the floor for whiteboard sharing.\n WHITEBOARD_SHARE_FLOOR_GRANTED: 'client.whiteboard.share.floor-granted',\n MUTED: 'client.muted',\n UNMUTED: 'client.unmuted',\n LEAVE: 'client.call.leave',\n REMOTE_ENDED: 'client.call.remote-ended',\n REMOTE_STARTED: 'client.call.remote-started',\n MEDIA_REQUEST: 'client.locus.media.request',\n MEDIA_RESPONSE: 'client.locus.media.response',\n PSTN_AUDIO_ATTEMPT_START: 'client.pstnaudio.attempt.start',\n PSTN_AUDIO_ATTEMPT_FINISH: 'client.pstnaudio.attempt.finish',\n PSTN_AUDIO_ATTEMPT_SKIP: 'client.pstnaudio.attempt.skip'\n};\n\nexport const error = {\n name: {\n MEDIA_ENGINE: 'media-engine',\n ICE_FAILED: 'ice.failed',\n LOCUS_RESPONSE: 'locus.response',\n LOCUS_LEAVE: 'locus.leave',\n OTHER: 'other'\n },\n\n notFatalErrorList: [3003, 3004, 4004, 4005, 4006, 4015],\n errors: {\n // https://sqbu-github.cisco.com/WebExSquared/event-dictionary/wiki/Error-codes-for-metric-events\n // [errorDescription, errorFailureType, errorCategory]\n 1000: [errorDescription.UNKNOWN_CALL_FAILURE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1001: [errorDescription.LOCUS_RATE_LIMITED_INCOMING,\n errorFailureType.CALL_INITIATION_FAILURE,\n errorCategory.SIGNALING\n ],\n 1002: [errorDescription.LOCUS_RATE_LIMITED_OUTGOING,\n errorFailureType.CALL_INITIATION_FAILURE,\n errorCategory.SIGNALING\n ],\n 1003: [errorDescription.LOCUS_UNAVAILABLE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1004: [errorDescription.LOCUS_CONFLICT, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1005: [errorDescription.TIMEOUT, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 1006: [errorDescription.LOCUS_INVALID_SEQUENCE_HASH,\n errorFailureType.CALL_INITIATION_FAILURE,\n errorCategory.SIGNALING\n ],\n 1007: [errorDescription.UPDATE_MEDIA_FAILED, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.SIGNALING],\n 2001: [errorDescription.FAILED_TO_CONNECT_MEDIA,\n errorFailureType.MEDIA_CONNECTION_FAILURE,\n errorCategory.SIGNALING\n ],\n 2002: [errorDescription.MEDIA_ENGINE_LOST, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 2003: [errorDescription.MEDIA_CONNECTION_LOST,\n errorFailureType.MEDIA_CONNECTION_FAILURE,\n errorCategory.SIGNALING\n ],\n 2004: [errorDescription.ICE_FAILURE, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 2005: [errorDescription.MEDIA_ENGINE_HANG, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 2006: [errorDescription.ICE_SERVER_REJECTED, errorFailureType.MEDIA_CONNECTION_FAILURE, errorCategory.SIGNALING],\n 3001: [errorDescription.CALL_FULL, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3002: [errorDescription.ROOM_TOO_LARGE, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3004: [errorDescription.GUEST_ALREADY_ADDED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3005: [errorDescription.LOCUS_USER_NOT_AUTHORISED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3006: [errorDescription.CLOUDBERRY_UNAVAILABLE, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 3007: [errorDescription.ROOM_TOO_LARGE_FREE_ACCOUNT, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4001: [errorDescription.MEETING_INACTIVE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4002: [errorDescription.MEETING_LOCKED, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4003: [errorDescription.MEETING_TERMINATING, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4004: [errorDescription.MODERATOR_PIN_OR_GUEST_REQUIRED, errorFailureType.ACCESS_RIGHTS, errorCategory.EXPECTED],\n 4005: [errorDescription.MODERATOR_PIN_OR_GUEST_PIN_REQUIRED,\n errorFailureType.ACCESS_RIGHTS,\n errorCategory.EXPECTED\n ],\n 4006: [errorDescription.MODERATOR_REQUIRED, errorFailureType.ACCESS_RIGHTS, errorCategory.EXPECTED],\n 4007: [errorDescription.USER_NOT_MEMBER_OF_ROOM, errorFailureType.ACCESS_RIGHTS, errorCategory.EXPECTED],\n 4008: [errorDescription.NEW_LOCUS_ERROR, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4009: [errorDescription.NET_WORK_UNAVAILABLE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4010: [errorDescription.MEETING_UNAVAILABLE, errorFailureType.CALL_INITIATION_FAILURE, errorCategory.EXPECTED],\n 4011: [errorDescription.MEETING_ID_INVALID, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4012: [errorDescription.MEETING_SITE_INVALID, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4013: [errorDescription.LOCUS_INVALID_JOINTIME, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4014: [errorDescription.LOBBY_EXPIRED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4015: [errorDescription.MEDIA_CONNECTION_LOST_PAIRED,\n errorFailureType.MEDIA_CONNECTION_FAILURE,\n errorCategory.EXPECTED\n ],\n 4016: [errorDescription.PHONE_NUMBER_NOT_A_NUMBER, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4017: [errorDescription.PHONE_NUMBER_TOO_LONG, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4018: [errorDescription.INVALID_DIALABLE_KEY, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4019: [errorDescription.ONE_ON_ONE_TO_SELF_NOT_ALLOWED,\n errorFailureType.EXPECTED_FAILURE,\n errorCategory.EXPECTED\n ],\n 4020: [errorDescription.REMOVED_PARTICIPANT, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4021: [errorDescription.MEETING_LINK_NOT_FOUND, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4022: [errorDescription.PHONE_NUMBER_TOO_SHORT_AFTER_IDD,\n errorFailureType.EXPECTED_FAILURE,\n errorCategory.EXPECTED\n ],\n 4023: [errorDescription.INVALID_INVITEE_ADDRESS, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4024: [errorDescription.PMR_USER_ACCOUNT_LOCKED_OUT, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4025: [errorDescription.GUEST_FORBIDDEN, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4026: [errorDescription.PMR_ACCOUNT_SUSPENDED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4027: [errorDescription.EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE,\n errorFailureType.EXPECTED_FAILURE,\n errorCategory.EXPECTED\n ],\n 4028: [errorDescription.CONVERSATION_NOT_FOUND, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4029: [errorDescription.START_RECORDING_FAILED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 4030: [errorDescription.RECORDING_IN_PROGRESS_FAILED, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 5000: [errorDescription.SIP_CALLEE_BUSY, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],\n 5001: [errorDescription.SIP_CALLEE_NOT_FOUND, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED]\n }\n};\n\nexport const trigger = {\n USER_INTERACTION: 'user-interaction',\n MERCURY_EVENT: 'mercury-event',\n LOCI_UPDATE: 'loci-update',\n MEDIA_ENGINE_EVENT: 'media-engine-event',\n TIMEOUT: 'timeout',\n SIGNALING: 'signaling',\n OTHER: 'other'\n};\n\nexport const pstnAudioType = {\n DIAL_IN: 'dial-in',\n DIAL_OUT: 'dial-out'\n};\n\nexport const displayLocation = {\n TOAST: 'toast',\n ROOM_LIST: 'room-list',\n CALL_PANE: 'call-pane',\n CALL_VIEW: 'call-view',\n OTHER: 'other'\n};\n\nexport const mediaType = {\n AUDIO: 'audio',\n VIDEO: 'video',\n SHARE: 'share',\n WHITEBOARD: 'whiteboard'\n};\n\nexport const reconnection = {\n RECOVERED_BY_NEW: 'new', // always set to new due to /media request, no retries with ice restart\n RECOVERED_BY_RETRY: 'retry'\n};\n\n\nexport const errorCodes = {\n // ordered by error code values\n USER_CREATE_FAILED: 1400006,\n USER_ALREADY_PARTICIPANT: 1403001,\n CONVO_ALREADY_EXISTS: 1403010,\n ALREADY_ANNOUNCEMENT_SPACE: 1403014,\n NOT_ANNOUNCEMENT_SPACE: 1403015,\n USER_NOT_MODERATOR_IN_ANNOUNCEMENT_SPACE: 1403016,\n TEMP_ID_ALREADY_EXISTS: 1409001,\n PARENT_ACTIVITY_ID_NOT_FOUND_OR_INVALID: 14000015\n};\nexport const statusCodes = {\n // ordered by status codes\n NETWORK_OR_CORS: 0,\n BAD_REQUEST: 400,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n CONFLICT: 409\n};\n\nexport const errorObjects = {\n category: {\n media: 'media',\n expected: 'expected'\n },\n name: {\n mediaEngine: 'media-engine'\n }\n};\n\nexport const UNKNOWN = 'unknown';\n\nexport const OS_NAME = {\n WINDOWS: 'windows',\n MAC: 'mac',\n IOS: 'ios',\n ANDROID: 'android',\n CHROME: 'chrome',\n LINUX: 'linux',\n OTHERS: 'other'\n};\n\nexport const CLIENT_NAME = 'webex-js-sdk';\nexport const PLATFORM = 'Web';\n"],"mappings":"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"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
|
-
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
exports.MultistreamMedia = void 0;
|
|
12
|
-
|
|
13
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
14
|
-
|
|
15
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
16
|
-
|
|
17
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
18
|
-
|
|
19
|
-
var _constants = require("../constants");
|
|
20
|
-
|
|
21
|
-
var _muteState = _interopRequireDefault(require("../meeting/muteState"));
|
|
22
|
-
|
|
23
|
-
/* eslint-disable import/prefer-default-export */
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Class wrapping all the multistream specific APIs that need to be exposed at meeting level.
|
|
27
|
-
*
|
|
28
|
-
*/
|
|
29
|
-
var MultistreamMedia = /*#__PURE__*/function () {
|
|
30
|
-
/**
|
|
31
|
-
* Constructor
|
|
32
|
-
* @param {Meeting} meeting
|
|
33
|
-
*/
|
|
34
|
-
function MultistreamMedia(meeting) {
|
|
35
|
-
(0, _classCallCheck2.default)(this, MultistreamMedia);
|
|
36
|
-
(0, _defineProperty2.default)(this, "meeting", void 0);
|
|
37
|
-
this.meeting = meeting;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* throws if we don't have a media connection created
|
|
41
|
-
*/
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
(0, _createClass2.default)(MultistreamMedia, [{
|
|
45
|
-
key: "checkMediaConnection",
|
|
46
|
-
value: function checkMediaConnection() {
|
|
47
|
-
var _this$meeting, _this$meeting$mediaPr;
|
|
48
|
-
|
|
49
|
-
if ((_this$meeting = this.meeting) !== null && _this$meeting !== void 0 && (_this$meeting$mediaPr = _this$meeting.mediaProperties) !== null && _this$meeting$mediaPr !== void 0 && _this$meeting$mediaPr.webrtcMediaConnection) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
throw new Error('Webrtc media connection is missing');
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Publishes a local track in the meeting
|
|
57
|
-
*
|
|
58
|
-
* @param {MediaStreamTrack} track
|
|
59
|
-
* @returns {Promise}
|
|
60
|
-
*/
|
|
61
|
-
|
|
62
|
-
}, {
|
|
63
|
-
key: "publishTrack",
|
|
64
|
-
value: function publishTrack(track) {
|
|
65
|
-
this.checkMediaConnection();
|
|
66
|
-
/* todo: for now we don't support screen share (waiting for server to support bundling, see SPARK-377812)
|
|
67
|
-
for sharing:
|
|
68
|
-
we have to call meeting.stopFloorRequest() before unpublishing a track
|
|
69
|
-
we have to call meeting.share() after publishing a track
|
|
70
|
-
*/
|
|
71
|
-
// todo: depending on how muting is done with Local tracks, this code here might need to change...
|
|
72
|
-
|
|
73
|
-
if (track.kind === 'audio') {
|
|
74
|
-
this.meeting.setLocalAudioTrack(track);
|
|
75
|
-
this.meeting.mediaProperties.mediaDirection.sendAudio = true; // audio state could be undefined if you have not sent audio before
|
|
76
|
-
|
|
77
|
-
this.meeting.audio = this.meeting.audio || (0, _muteState.default)(_constants.AUDIO, this.meeting, this.meeting.mediaProperties.mediaDirection);
|
|
78
|
-
} else if (track.kind === 'video') {
|
|
79
|
-
this.meeting.setLocalVideoTrack(track);
|
|
80
|
-
this.meeting.mediaProperties.mediaDirection.sendVideo = true; // video state could be undefined if you have not sent video before
|
|
81
|
-
|
|
82
|
-
this.meeting.video = this.meeting.video || (0, _muteState.default)(_constants.VIDEO, this.meeting, this.meeting.mediaProperties.mediaDirection);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return this.meeting.mediaProperties.webrtcMediaConnection.publishTrack(track);
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Unpublishes a local track in the meeting
|
|
89
|
-
*
|
|
90
|
-
* @param {MediaStreamTrack} track
|
|
91
|
-
* @returns {Promise}
|
|
92
|
-
*/
|
|
93
|
-
|
|
94
|
-
}, {
|
|
95
|
-
key: "unpublishTrack",
|
|
96
|
-
value: function unpublishTrack(track) {
|
|
97
|
-
// todo: see todos in publishTrack() - they all apply here too:
|
|
98
|
-
// screen sharing - SPARK-377812
|
|
99
|
-
// muting etc
|
|
100
|
-
if (track.kind === 'audio') {
|
|
101
|
-
this.meeting.setLocalVideoTrack(null);
|
|
102
|
-
this.meeting.mediaProperties.mediaDirection.sendAudio = false;
|
|
103
|
-
} else if (track.kind === 'video') {
|
|
104
|
-
this.meeting.setLocalAudioTrack(null);
|
|
105
|
-
this.meeting.mediaProperties.mediaDirection.sendVideo = false;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
this.checkMediaConnection();
|
|
109
|
-
return this.meeting.mediaProperties.webrtcMediaConnection.unpublishTrack(track);
|
|
110
|
-
}
|
|
111
|
-
}]);
|
|
112
|
-
return MultistreamMedia;
|
|
113
|
-
}();
|
|
114
|
-
|
|
115
|
-
exports.MultistreamMedia = MultistreamMedia;
|
|
116
|
-
//# sourceMappingURL=multistreamMedia.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["MultistreamMedia","meeting","mediaProperties","webrtcMediaConnection","Error","track","checkMediaConnection","kind","setLocalAudioTrack","mediaDirection","sendAudio","audio","createMuteState","AUDIO","setLocalVideoTrack","sendVideo","video","VIDEO","publishTrack","unpublishTrack"],"sources":["multistreamMedia.ts"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\n\nimport {AUDIO, VIDEO} from '../constants';\nimport createMuteState from '../meeting/muteState';\nimport Meeting from '../meeting';\n\n/**\n * Class wrapping all the multistream specific APIs that need to be exposed at meeting level.\n *\n */\nexport class MultistreamMedia {\n private meeting: Meeting;\n\n /**\n * Constructor\n * @param {Meeting} meeting\n */\n constructor(meeting: Meeting) {\n this.meeting = meeting;\n }\n\n /**\n * throws if we don't have a media connection created\n */\n private checkMediaConnection() {\n if (this.meeting?.mediaProperties?.webrtcMediaConnection) {\n return;\n }\n throw new Error('Webrtc media connection is missing');\n }\n\n /**\n * Publishes a local track in the meeting\n *\n * @param {MediaStreamTrack} track\n * @returns {Promise}\n */\n publishTrack(track: MediaStreamTrack): Promise<void> {\n this.checkMediaConnection();\n\n /* todo: for now we don't support screen share (waiting for server to support bundling, see SPARK-377812)\n for sharing:\n we have to call meeting.stopFloorRequest() before unpublishing a track\n we have to call meeting.share() after publishing a track\n */\n\n // todo: depending on how muting is done with Local tracks, this code here might need to change...\n\n if (track.kind === 'audio') {\n this.meeting.setLocalAudioTrack(track);\n this.meeting.mediaProperties.mediaDirection.sendAudio = true;\n\n // audio state could be undefined if you have not sent audio before\n this.meeting.audio =\n this.meeting.audio ||\n createMuteState(AUDIO, this.meeting, this.meeting.mediaProperties.mediaDirection);\n } else if (track.kind === 'video') {\n this.meeting.setLocalVideoTrack(track);\n this.meeting.mediaProperties.mediaDirection.sendVideo = true;\n\n // video state could be undefined if you have not sent video before\n this.meeting.video =\n this.meeting.video ||\n createMuteState(VIDEO, this.meeting, this.meeting.mediaProperties.mediaDirection);\n }\n\n return this.meeting.mediaProperties.webrtcMediaConnection.publishTrack(track);\n }\n\n /**\n * Unpublishes a local track in the meeting\n *\n * @param {MediaStreamTrack} track\n * @returns {Promise}\n */\n unpublishTrack(track: MediaStreamTrack): Promise<void> {\n // todo: see todos in publishTrack() - they all apply here too:\n // screen sharing - SPARK-377812\n // muting etc\n\n if (track.kind === 'audio') {\n this.meeting.setLocalVideoTrack(null);\n this.meeting.mediaProperties.mediaDirection.sendAudio = false;\n } else if (track.kind === 'video') {\n this.meeting.setLocalAudioTrack(null);\n this.meeting.mediaProperties.mediaDirection.sendVideo = false;\n }\n this.checkMediaConnection();\n\n return this.meeting.mediaProperties.webrtcMediaConnection.unpublishTrack(track);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAEA;;AACA;;AAHA;;AAMA;AACA;AACA;AACA;IACaA,gB;EAGX;AACF;AACA;AACA;EACE,0BAAYC,OAAZ,EAA8B;IAAA;IAAA;IAC5B,KAAKA,OAAL,GAAeA,OAAf;EACD;EAED;AACF;AACA;;;;;WACE,gCAA+B;MAAA;;MAC7B,qBAAI,KAAKA,OAAT,mEAAI,cAAcC,eAAlB,kDAAI,sBAA+BC,qBAAnC,EAA0D;QACxD;MACD;;MACD,MAAM,IAAIC,KAAJ,CAAU,oCAAV,CAAN;IACD;IAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,sBAAaC,KAAb,EAAqD;MACnD,KAAKC,oBAAL;MAEA;AACJ;AACA;AACA;AACA;MAEI;;MAEA,IAAID,KAAK,CAACE,IAAN,KAAe,OAAnB,EAA4B;QAC1B,KAAKN,OAAL,CAAaO,kBAAb,CAAgCH,KAAhC;QACA,KAAKJ,OAAL,CAAaC,eAAb,CAA6BO,cAA7B,CAA4CC,SAA5C,GAAwD,IAAxD,CAF0B,CAI1B;;QACA,KAAKT,OAAL,CAAaU,KAAb,GACE,KAAKV,OAAL,CAAaU,KAAb,IACA,IAAAC,kBAAA,EAAgBC,gBAAhB,EAAuB,KAAKZ,OAA5B,EAAqC,KAAKA,OAAL,CAAaC,eAAb,CAA6BO,cAAlE,CAFF;MAGD,CARD,MAQO,IAAIJ,KAAK,CAACE,IAAN,KAAe,OAAnB,EAA4B;QACjC,KAAKN,OAAL,CAAaa,kBAAb,CAAgCT,KAAhC;QACA,KAAKJ,OAAL,CAAaC,eAAb,CAA6BO,cAA7B,CAA4CM,SAA5C,GAAwD,IAAxD,CAFiC,CAIjC;;QACA,KAAKd,OAAL,CAAae,KAAb,GACE,KAAKf,OAAL,CAAae,KAAb,IACA,IAAAJ,kBAAA,EAAgBK,gBAAhB,EAAuB,KAAKhB,OAA5B,EAAqC,KAAKA,OAAL,CAAaC,eAAb,CAA6BO,cAAlE,CAFF;MAGD;;MAED,OAAO,KAAKR,OAAL,CAAaC,eAAb,CAA6BC,qBAA7B,CAAmDe,YAAnD,CAAgEb,KAAhE,CAAP;IACD;IAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,wBAAeA,KAAf,EAAuD;MACrD;MACA;MACA;MAEA,IAAIA,KAAK,CAACE,IAAN,KAAe,OAAnB,EAA4B;QAC1B,KAAKN,OAAL,CAAaa,kBAAb,CAAgC,IAAhC;QACA,KAAKb,OAAL,CAAaC,eAAb,CAA6BO,cAA7B,CAA4CC,SAA5C,GAAwD,KAAxD;MACD,CAHD,MAGO,IAAIL,KAAK,CAACE,IAAN,KAAe,OAAnB,EAA4B;QACjC,KAAKN,OAAL,CAAaO,kBAAb,CAAgC,IAAhC;QACA,KAAKP,OAAL,CAAaC,eAAb,CAA6BO,cAA7B,CAA4CM,SAA5C,GAAwD,KAAxD;MACD;;MACD,KAAKT,oBAAL;MAEA,OAAO,KAAKL,OAAL,CAAaC,eAAb,CAA6BC,qBAA7B,CAAmDgB,cAAnD,CAAkEd,KAAlE,CAAP;IACD"}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
|
-
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
exports.default = void 0;
|
|
12
|
-
|
|
13
|
-
var _parseInt2 = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/parse-int"));
|
|
14
|
-
|
|
15
|
-
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
16
|
-
|
|
17
|
-
var _tsSdp = require("@webex/ts-sdp");
|
|
18
|
-
|
|
19
|
-
var PeerConnectionUtils = {}; // max-fs values for all H264 profile levels
|
|
20
|
-
|
|
21
|
-
var maxFsForProfileLevel = {
|
|
22
|
-
10: 99,
|
|
23
|
-
11: 396,
|
|
24
|
-
12: 396,
|
|
25
|
-
13: 396,
|
|
26
|
-
20: 396,
|
|
27
|
-
21: 792,
|
|
28
|
-
22: 1620,
|
|
29
|
-
30: 1620,
|
|
30
|
-
31: 3600,
|
|
31
|
-
32: 5120,
|
|
32
|
-
40: 8192,
|
|
33
|
-
41: 8192,
|
|
34
|
-
42: 8704,
|
|
35
|
-
50: 22080,
|
|
36
|
-
51: 36864,
|
|
37
|
-
52: 36864,
|
|
38
|
-
60: 139264,
|
|
39
|
-
61: 139264,
|
|
40
|
-
62: 139264
|
|
41
|
-
};
|
|
42
|
-
var framesPerSecond = 30;
|
|
43
|
-
/**
|
|
44
|
-
* Convert C line to IPv4
|
|
45
|
-
* @param {string} sdp
|
|
46
|
-
* @returns {string}
|
|
47
|
-
*/
|
|
48
|
-
|
|
49
|
-
PeerConnectionUtils.convertCLineToIpv4 = function (sdp) {
|
|
50
|
-
var replaceSdp = sdp; // TODO: remove this once linus supports Ipv6 c line.currently linus rejects SDP with c line having ipv6 candidates we are
|
|
51
|
-
// mocking ipv6 to ipv4 candidates
|
|
52
|
-
// https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-299232
|
|
53
|
-
|
|
54
|
-
replaceSdp = replaceSdp.replace(/c=IN IP6 .*/gi, 'c=IN IP4 0.0.0.0');
|
|
55
|
-
return replaceSdp;
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* estimate profile levels for max-fs & max-mbps values
|
|
59
|
-
* @param {string} sdp
|
|
60
|
-
* @param {number} maxFsValue
|
|
61
|
-
* @returns {string}
|
|
62
|
-
*/
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
PeerConnectionUtils.adjustH264Profile = function (sdp, maxFsValue) {
|
|
66
|
-
// converting with ts-sdp parser, no munging
|
|
67
|
-
var parsedSdp = (0, _tsSdp.parse)(sdp);
|
|
68
|
-
parsedSdp.avMedia.forEach(function (media) {
|
|
69
|
-
if (media.type === 'video') {
|
|
70
|
-
media.codecs.forEach(function (codec) {
|
|
71
|
-
var _codec$name;
|
|
72
|
-
|
|
73
|
-
if (((_codec$name = codec.name) === null || _codec$name === void 0 ? void 0 : _codec$name.toUpperCase()) === 'H264') {
|
|
74
|
-
// there should really be just 1 fmtp line, but just in case, we process all of them
|
|
75
|
-
codec.fmtParams = codec.fmtParams.map(function (fmtp) {
|
|
76
|
-
var parsedRegex = fmtp.match(/(.*)profile-level-id=(\w{4})(\w{2})(.*)/);
|
|
77
|
-
|
|
78
|
-
if (parsedRegex && parsedRegex.length === 5) {
|
|
79
|
-
var stuffBeforeProfileLevelId = parsedRegex[1];
|
|
80
|
-
var profile = parsedRegex[2].toLowerCase();
|
|
81
|
-
var levelId = (0, _parseInt2.default)(parsedRegex[3], 16);
|
|
82
|
-
var stuffAfterProfileLevelId = parsedRegex[4];
|
|
83
|
-
|
|
84
|
-
if (!maxFsForProfileLevel[levelId]) {
|
|
85
|
-
throw new Error("found unsupported h264 profile level id value in the SDP: ".concat(levelId));
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
if (maxFsForProfileLevel[levelId] === maxFsValue) {
|
|
89
|
-
// profile level already matches our desired max-fs value, so we don't need to do anything
|
|
90
|
-
return fmtp;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
if (maxFsForProfileLevel[levelId] < maxFsValue) {
|
|
94
|
-
// profile level has too low max-fs, so we need to override it (this is upgrading)
|
|
95
|
-
return "".concat(fmtp, ";max-fs=").concat(maxFsValue, ";max-mbps=").concat(maxFsValue * framesPerSecond);
|
|
96
|
-
} // profile level has too high max-fs value, so we need to use a lower level
|
|
97
|
-
// find highest level that has the matching maxFs
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
var newLevelId = (0, _keys.default)(maxFsForProfileLevel).reverse().find(function (key) {
|
|
101
|
-
return maxFsForProfileLevel[key] === maxFsValue;
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
if (newLevelId) {
|
|
105
|
-
// Object.keys returns keys as strings, so we need to parse it to an int again and then convert to hex
|
|
106
|
-
var newLevelIdHex = (0, _parseInt2.default)(newLevelId, 10).toString(16);
|
|
107
|
-
return "".concat(stuffBeforeProfileLevelId, "profile-level-id=").concat(profile).concat(newLevelIdHex, ";max-mbps=").concat(maxFsValue * framesPerSecond).concat(stuffAfterProfileLevelId);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
throw new Error("unsupported maxFsValue: ".concat(maxFsValue));
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
return fmtp;
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
return parsedSdp.toString();
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
var _default = PeerConnectionUtils;
|
|
123
|
-
exports.default = _default;
|
|
124
|
-
//# sourceMappingURL=util.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["PeerConnectionUtils","maxFsForProfileLevel","framesPerSecond","convertCLineToIpv4","sdp","replaceSdp","replace","adjustH264Profile","maxFsValue","parsedSdp","parse","avMedia","forEach","media","type","codecs","codec","name","toUpperCase","fmtParams","map","fmtp","parsedRegex","match","length","stuffBeforeProfileLevelId","profile","toLowerCase","levelId","stuffAfterProfileLevelId","Error","newLevelId","reverse","find","key","newLevelIdHex","toString"],"sources":["util.ts"],"sourcesContent":["import { parse } from '@webex/ts-sdp';\n\ninterface IPeerConnectionUtils {\n convertCLineToIpv4: (sdp: string) => string;\n adjustH264Profile: (sdp: string, maxFsValue: number) => string;\n}\n\nconst PeerConnectionUtils = {} as IPeerConnectionUtils;\n\n// max-fs values for all H264 profile levels\nconst maxFsForProfileLevel = {\n 10: 99,\n 11: 396,\n 12: 396,\n 13: 396,\n 20: 396,\n 21: 792,\n 22: 1620,\n 30: 1620,\n 31: 3600,\n 32: 5120,\n 40: 8192,\n 41: 8192,\n 42: 8704,\n 50: 22080,\n 51: 36864,\n 52: 36864,\n 60: 139264,\n 61: 139264,\n 62: 139264,\n};\n\nconst framesPerSecond = 30;\n\n/**\n * Convert C line to IPv4\n * @param {string} sdp\n * @returns {string}\n */\nPeerConnectionUtils.convertCLineToIpv4 = (sdp: string) => {\n let replaceSdp = sdp;\n\n // TODO: remove this once linus supports Ipv6 c line.currently linus rejects SDP with c line having ipv6 candidates we are\n // mocking ipv6 to ipv4 candidates\n // https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-299232\n replaceSdp = replaceSdp.replace(/c=IN IP6 .*/gi, 'c=IN IP4 0.0.0.0');\n\n return replaceSdp;\n};\n\n/**\n * estimate profile levels for max-fs & max-mbps values\n * @param {string} sdp\n * @param {number} maxFsValue\n * @returns {string}\n */\nPeerConnectionUtils.adjustH264Profile = (sdp: string, maxFsValue: number) => {\n // converting with ts-sdp parser, no munging\n const parsedSdp = parse(sdp);\n\n parsedSdp.avMedia.forEach((media) => {\n if (media.type === 'video') {\n media.codecs.forEach((codec) => {\n if (codec.name?.toUpperCase() === 'H264') {\n // there should really be just 1 fmtp line, but just in case, we process all of them\n codec.fmtParams = codec.fmtParams.map((fmtp) => {\n const parsedRegex = fmtp.match(/(.*)profile-level-id=(\\w{4})(\\w{2})(.*)/);\n\n if (parsedRegex && parsedRegex.length === 5) {\n const stuffBeforeProfileLevelId = parsedRegex[1];\n const profile = parsedRegex[2].toLowerCase();\n const levelId = parseInt(parsedRegex[3], 16);\n const stuffAfterProfileLevelId = parsedRegex[4];\n\n if (!maxFsForProfileLevel[levelId]) {\n throw new Error(\n `found unsupported h264 profile level id value in the SDP: ${levelId}`\n );\n }\n\n if (maxFsForProfileLevel[levelId] === maxFsValue) {\n // profile level already matches our desired max-fs value, so we don't need to do anything\n return fmtp;\n }\n if (maxFsForProfileLevel[levelId] < maxFsValue) {\n // profile level has too low max-fs, so we need to override it (this is upgrading)\n return `${fmtp};max-fs=${maxFsValue};max-mbps=${maxFsValue * framesPerSecond}`;\n }\n\n // profile level has too high max-fs value, so we need to use a lower level\n\n // find highest level that has the matching maxFs\n const newLevelId = Object.keys(maxFsForProfileLevel)\n .reverse()\n .find((key) => maxFsForProfileLevel[key] === maxFsValue);\n\n if (newLevelId) {\n // Object.keys returns keys as strings, so we need to parse it to an int again and then convert to hex\n const newLevelIdHex = parseInt(newLevelId, 10).toString(16);\n\n return `${stuffBeforeProfileLevelId}profile-level-id=${profile}${newLevelIdHex};max-mbps=${maxFsValue * framesPerSecond}${stuffAfterProfileLevelId}`;\n }\n\n throw new Error(`unsupported maxFsValue: ${maxFsValue}`);\n }\n\n return fmtp;\n });\n }\n });\n }\n });\n\n return parsedSdp.toString();\n};\n\nexport default PeerConnectionUtils;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;;AAOA,IAAMA,mBAAmB,GAAG,EAA5B,C,CAEA;;AACA,IAAMC,oBAAoB,GAAG;EAC3B,IAAI,EADuB;EAE3B,IAAI,GAFuB;EAG3B,IAAI,GAHuB;EAI3B,IAAI,GAJuB;EAK3B,IAAI,GALuB;EAM3B,IAAI,GANuB;EAO3B,IAAI,IAPuB;EAQ3B,IAAI,IARuB;EAS3B,IAAI,IATuB;EAU3B,IAAI,IAVuB;EAW3B,IAAI,IAXuB;EAY3B,IAAI,IAZuB;EAa3B,IAAI,IAbuB;EAc3B,IAAI,KAduB;EAe3B,IAAI,KAfuB;EAgB3B,IAAI,KAhBuB;EAiB3B,IAAI,MAjBuB;EAkB3B,IAAI,MAlBuB;EAmB3B,IAAI;AAnBuB,CAA7B;AAsBA,IAAMC,eAAe,GAAG,EAAxB;AAEA;AACA;AACA;AACA;AACA;;AACAF,mBAAmB,CAACG,kBAApB,GAAyC,UAACC,GAAD,EAAiB;EACxD,IAAIC,UAAU,GAAGD,GAAjB,CADwD,CAGxD;EACA;EACA;;EACAC,UAAU,GAAGA,UAAU,CAACC,OAAX,CAAmB,eAAnB,EAAoC,kBAApC,CAAb;EAEA,OAAOD,UAAP;AACD,CATD;AAWA;AACA;AACA;AACA;AACA;AACA;;;AACAL,mBAAmB,CAACO,iBAApB,GAAwC,UAACH,GAAD,EAAcI,UAAd,EAAqC;EAC3E;EACA,IAAMC,SAAS,GAAG,IAAAC,YAAA,EAAMN,GAAN,CAAlB;EAEAK,SAAS,CAACE,OAAV,CAAkBC,OAAlB,CAA0B,UAACC,KAAD,EAAW;IACnC,IAAIA,KAAK,CAACC,IAAN,KAAe,OAAnB,EAA4B;MAC1BD,KAAK,CAACE,MAAN,CAAaH,OAAb,CAAqB,UAACI,KAAD,EAAW;QAAA;;QAC9B,IAAI,gBAAAA,KAAK,CAACC,IAAN,4DAAYC,WAAZ,QAA8B,MAAlC,EAA0C;UACxC;UACAF,KAAK,CAACG,SAAN,GAAkBH,KAAK,CAACG,SAAN,CAAgBC,GAAhB,CAAoB,UAACC,IAAD,EAAU;YAC9C,IAAMC,WAAW,GAAGD,IAAI,CAACE,KAAL,CAAW,yCAAX,CAApB;;YAEA,IAAID,WAAW,IAAIA,WAAW,CAACE,MAAZ,KAAuB,CAA1C,EAA6C;cAC3C,IAAMC,yBAAyB,GAAGH,WAAW,CAAC,CAAD,CAA7C;cACA,IAAMI,OAAO,GAAGJ,WAAW,CAAC,CAAD,CAAX,CAAeK,WAAf,EAAhB;cACA,IAAMC,OAAO,GAAG,wBAASN,WAAW,CAAC,CAAD,CAApB,EAAyB,EAAzB,CAAhB;cACA,IAAMO,wBAAwB,GAAGP,WAAW,CAAC,CAAD,CAA5C;;cAEA,IAAI,CAACrB,oBAAoB,CAAC2B,OAAD,CAAzB,EAAoC;gBAClC,MAAM,IAAIE,KAAJ,qEACyDF,OADzD,EAAN;cAGD;;cAED,IAAI3B,oBAAoB,CAAC2B,OAAD,CAApB,KAAkCpB,UAAtC,EAAkD;gBAChD;gBACA,OAAOa,IAAP;cACD;;cACD,IAAIpB,oBAAoB,CAAC2B,OAAD,CAApB,GAAgCpB,UAApC,EAAgD;gBAC9C;gBACA,iBAAUa,IAAV,qBAAyBb,UAAzB,uBAAgDA,UAAU,GAAGN,eAA7D;cACD,CAnB0C,CAqB3C;cAEA;;;cACA,IAAM6B,UAAU,GAAG,mBAAY9B,oBAAZ,EAChB+B,OADgB,GAEhBC,IAFgB,CAEX,UAACC,GAAD;gBAAA,OAASjC,oBAAoB,CAACiC,GAAD,CAApB,KAA8B1B,UAAvC;cAAA,CAFW,CAAnB;;cAIA,IAAIuB,UAAJ,EAAgB;gBACd;gBACA,IAAMI,aAAa,GAAG,wBAASJ,UAAT,EAAqB,EAArB,EAAyBK,QAAzB,CAAkC,EAAlC,CAAtB;gBAEA,iBAAUX,yBAAV,8BAAuDC,OAAvD,SAAiES,aAAjE,uBAA2F3B,UAAU,GAAGN,eAAxG,SAA0H2B,wBAA1H;cACD;;cAED,MAAM,IAAIC,KAAJ,mCAAqCtB,UAArC,EAAN;YACD;;YAED,OAAOa,IAAP;UACD,CA1CiB,CAAlB;QA2CD;MACF,CA/CD;IAgDD;EACF,CAnDD;EAqDA,OAAOZ,SAAS,CAAC2B,QAAV,EAAP;AACD,CA1DD;;eA4DepC,mB"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-unused-vars */
|
|
2
|
-
import LoggerConfig from './logger-config';
|
|
3
|
-
|
|
4
|
-
const LoggerProxy = {
|
|
5
|
-
logger: {
|
|
6
|
-
info: (args) => { console.error('LoggerProxy->info#NO LOGGER DEFINED'); },
|
|
7
|
-
log: (args) => { console.error('LoggerProxy->log#NO LOGGER DEFINED'); },
|
|
8
|
-
error: (args) => { console.error('LoggerProxy->error#NO LOGGER DEFINED'); },
|
|
9
|
-
warn: (args) => { console.error('LoggerProxy->warn#NO LOGGER DEFINED'); },
|
|
10
|
-
trace: (args) => { console.error('LoggerProxy->trace#NO LOGGER DEFINED'); },
|
|
11
|
-
debug: (args) => { console.error('LoggerProxy->debug#NO LOGGER DEFINED'); }
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
LoggerProxy.set = (logger) => {
|
|
16
|
-
if (!LoggerConfig.enable) {
|
|
17
|
-
LoggerProxy.logger = {
|
|
18
|
-
info: () => {},
|
|
19
|
-
log: () => {},
|
|
20
|
-
error: () => {},
|
|
21
|
-
warn: () => {},
|
|
22
|
-
trace: () => {},
|
|
23
|
-
debug: () => {}
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
LoggerProxy.logger = logger;
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
LoggerProxy.get = () => LoggerProxy.logger;
|
|
32
|
-
|
|
33
|
-
export default LoggerProxy;
|
package/src/index.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/* eslint-env browser */
|
|
2
|
-
import {registerPlugin} from '@webex/webex-core';
|
|
3
|
-
|
|
4
|
-
import Meetings from './meetings';
|
|
5
|
-
import config from './config';
|
|
6
|
-
|
|
7
|
-
registerPlugin('meetings', Meetings, {
|
|
8
|
-
config
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
export default Meetings;
|
|
12
|
-
|
|
13
|
-
export * as CONSTANTS from './constants';
|
|
14
|
-
|
|
15
|
-
export {default as TriggerProxy} from './common/events/trigger-proxy';
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import {isEqual} from 'lodash';
|
|
2
|
-
|
|
3
|
-
const ControlsUtils = {};
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Controls
|
|
7
|
-
* @typedef {Object} LocusControls
|
|
8
|
-
* @property {Object} record
|
|
9
|
-
* @property {Boolean} record.recording
|
|
10
|
-
* @property {Object} record.meta
|
|
11
|
-
* @property {String} record.meta.modifiedBy
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* parse the relevant host values that we care about: id
|
|
16
|
-
* @param {LocusControls} controls
|
|
17
|
-
* @returns {Object} parsedObject - parsed host or null if host was undefined
|
|
18
|
-
* @returns {String} parsedObject.recordingId
|
|
19
|
-
*/
|
|
20
|
-
ControlsUtils.parse = (controls) => {
|
|
21
|
-
const parsedControls = {...controls};
|
|
22
|
-
|
|
23
|
-
if (controls && controls.record) {
|
|
24
|
-
parsedControls.record = {
|
|
25
|
-
modifiedBy: ControlsUtils.getId(controls),
|
|
26
|
-
paused: controls.record.paused ? controls.record.paused : false,
|
|
27
|
-
recording: controls.record.recording,
|
|
28
|
-
lastModified: controls.record.meta.lastModified
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
if (controls && controls.meetingContainer) {
|
|
33
|
-
parsedControls.meetingContainer = {
|
|
34
|
-
meetingContainerUrl: controls.meetingContainer.meetingContainerUrl
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (controls && controls.transcribe) {
|
|
39
|
-
parsedControls.transcribe = {
|
|
40
|
-
transcribing: controls.transcribe.transcribing,
|
|
41
|
-
caption: controls.transcribe.caption
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
if (controls && controls.entryExitTone) {
|
|
46
|
-
parsedControls.entryExitTone = controls.entryExitTone.enabled ? controls.entryExitTone.mode : null;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return parsedControls;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* parses and returns previous state vs current state and triggers the changes.
|
|
54
|
-
* @param {LocusControls} oldControls previous state
|
|
55
|
-
* @param {LocusControls} newControls current state
|
|
56
|
-
* @returns {Object} combination of state plus the changes
|
|
57
|
-
*/
|
|
58
|
-
ControlsUtils.getControls = (oldControls, newControls) => {
|
|
59
|
-
const previous = ControlsUtils.parse(oldControls);
|
|
60
|
-
const current = ControlsUtils.parse(newControls);
|
|
61
|
-
|
|
62
|
-
return {
|
|
63
|
-
previous,
|
|
64
|
-
current,
|
|
65
|
-
updates: {
|
|
66
|
-
hasRecordingPausedChanged: current?.record &&
|
|
67
|
-
!isEqual(previous?.record?.paused, current.record.paused) &&
|
|
68
|
-
(previous?.record?.recording || current?.record?.recording), // see comments directly below
|
|
69
|
-
|
|
70
|
-
hasRecordingChanged: current?.record &&
|
|
71
|
-
!isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
|
|
72
|
-
(previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
|
|
73
|
-
|
|
74
|
-
hasMeetingContainerChanged: current?.meetingContainer &&
|
|
75
|
-
!isEqual(previous?.meetingContainer?.meetingContainerUrl,
|
|
76
|
-
current?.meetingContainer?.meetingContainerUrl),
|
|
77
|
-
|
|
78
|
-
hasTranscribeChanged: current?.transcribe &&
|
|
79
|
-
!isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
|
|
80
|
-
(previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
|
|
81
|
-
|
|
82
|
-
hasEntryExitToneChanged: !!(newControls.entryExitTone &&
|
|
83
|
-
!isEqual(previous?.entryExitTone, current?.entryExitTone) &&
|
|
84
|
-
(previous?.entryExitTone || current?.entryExitTone)),
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Extract the id from the record controls object
|
|
91
|
-
* @param {LocusControls} controls
|
|
92
|
-
* @returns {String|null}
|
|
93
|
-
*/
|
|
94
|
-
ControlsUtils.getId = (controls) => {
|
|
95
|
-
if (controls.record.meta) {
|
|
96
|
-
return controls.record.meta.modifiedBy;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
return null;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
export default ControlsUtils;
|