@webex/plugin-meetings 3.0.0-beta.4 → 3.0.0-beta.400
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 +58 -8
- 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/no-meeting-info.js +51 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- 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/reclaim-host-role-errors.js +158 -0
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- 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 +54 -48
- 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 +41 -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 +11 -15
- package/dist/config.js.map +1 -1
- package/dist/constants.js +347 -74
- 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 +125 -18
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js +15 -0
- package/dist/interceptors/index.js.map +1 -0
- package/dist/interceptors/locusRetry.js +93 -0
- package/dist/interceptors/locusRetry.js.map +1 -0
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +380 -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 +564 -246
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +10 -38
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +82 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +314 -163
- 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 +107 -231
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +137 -222
- 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 +316 -501
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +97 -14
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +5311 -3871
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +292 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +260 -183
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +421 -347
- 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 +672 -585
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting/voicea-meeting.js +172 -0
- package/dist/meeting/voicea-meeting.js.map +1 -0
- package/dist/meeting-info/collection.js +6 -25
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +87 -39
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +352 -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 +99 -183
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +147 -234
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +43 -19
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +895 -600
- 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 +184 -157
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +134 -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 +158 -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 +194 -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 +324 -259
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +19 -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 +263 -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 +82 -45
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +657 -448
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +255 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- 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/clusterReachability.js +356 -0
- package/dist/reachability/clusterReachability.js.map +1 -0
- package/dist/reachability/index.js +297 -460
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +20 -26
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.js +29 -0
- package/dist/reachability/util.js.map +1 -0
- 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 +413 -483
- 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 +362 -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 +102 -86
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +131 -135
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +437 -116
- 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 +179 -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 +557 -583
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +326 -130
- 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/no-meeting-info.d.ts +14 -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/reclaim-host-role-errors.d.ts +60 -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 +93 -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 +36 -0
- package/dist/types/common/queue.d.ts +34 -0
- package/dist/types/config.d.ts +72 -0
- package/dist/types/constants.d.ts +1088 -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/interceptors/index.d.ts +2 -0
- package/dist/types/interceptors/locusRetry.d.ts +27 -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 +272 -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 +241 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +167 -0
- package/dist/types/meeting/index.d.ts +1824 -0
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +178 -0
- package/dist/types/meeting/request.d.ts +293 -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 +118 -0
- package/dist/types/meeting/voicea-meeting.d.ts +16 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +69 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +123 -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 +40 -0
- package/dist/types/meetings/index.d.ts +389 -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 +160 -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 +25 -0
- package/dist/types/members/util.d.ts +215 -0
- package/dist/types/metrics/constants.d.ts +70 -0
- package/dist/types/metrics/index.d.ts +45 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +120 -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 +49 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +301 -0
- package/dist/types/multistream/sendSlotManager.d.ts +70 -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/clusterReachability.d.ts +109 -0
- package/dist/types/reachability/index.d.ts +105 -0
- package/dist/types/reachability/request.d.ts +39 -0
- package/dist/types/reachability/util.d.ts +8 -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 +136 -0
- package/dist/types/recording-controller/enums.d.ts +7 -0
- package/dist/types/recording-controller/index.d.ts +207 -0
- package/dist/types/recording-controller/util.d.ts +14 -0
- package/dist/types/roap/index.d.ts +86 -0
- package/dist/types/roap/request.d.ts +39 -0
- package/dist/types/roap/turnDiscovery.d.ts +155 -0
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +61 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +217 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/dist/types/webinar/collection.d.ts +16 -0
- package/dist/types/webinar/index.d.ts +5 -0
- package/dist/webinar/collection.js +44 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.js +69 -0
- package/dist/webinar/index.js.map +1 -0
- package/internal-README.md +7 -6
- package/package.json +30 -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/no-meeting-info.ts +24 -0
- 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/reclaim-host-role-errors.ts +134 -0
- 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} +51 -8
- 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} +26 -9
- package/src/common/queue.ts +22 -9
- package/src/{config.js → config.ts} +19 -21
- package/src/constants.ts +296 -27
- 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 +45 -0
- package/src/interceptors/index.ts +3 -0
- package/src/interceptors/locusRetry.ts +67 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +349 -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} +561 -119
- package/src/locus-info/{infoUtils.js → infoUtils.ts} +29 -10
- package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +97 -17
- package/src/locus-info/{parser.js → parser.ts} +303 -104
- package/src/locus-info/{selfUtils.js → selfUtils.ts} +199 -68
- package/src/media/index.ts +460 -0
- package/src/media/properties.ts +283 -0
- package/src/media/{util.js → util.ts} +2 -2
- package/src/mediaQualityMetrics/config.ts +249 -0
- package/src/meeting/in-meeting-actions.ts +199 -3
- package/src/meeting/index.ts +8494 -0
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +465 -0
- package/src/meeting/request.ts +912 -0
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/{state.js → state.ts} +50 -35
- package/src/meeting/util.ts +799 -0
- package/src/meeting/voicea-meeting.ts +122 -0
- package/src/meeting-info/{collection.js → collection.ts} +6 -2
- package/src/meeting-info/index.ts +210 -0
- package/src/meeting-info/meeting-info-v2.ts +423 -0
- package/src/meeting-info/{request.js → request.ts} +14 -4
- package/src/meeting-info/{util.js → util.ts} +70 -58
- package/src/meeting-info/{utilv2.js → utilv2.ts} +99 -82
- package/src/meetings/collection.ts +76 -0
- package/src/meetings/index.ts +1539 -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} +133 -38
- package/src/member/{index.js → index.ts} +159 -56
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +397 -0
- package/src/members/{collection.js → collection.ts} +10 -2
- package/src/members/{index.js → index.ts} +351 -146
- package/src/members/request.ts +255 -0
- package/src/members/types.ts +29 -0
- package/src/members/util.ts +353 -0
- package/src/metrics/{constants.js → constants.ts} +17 -6
- package/src/metrics/index.ts +73 -0
- package/src/multistream/mediaRequestManager.ts +341 -64
- 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 +82 -3
- package/src/multistream/remoteMediaManager.ts +401 -81
- package/src/multistream/sendSlotManager.ts +199 -0
- 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/clusterReachability.ts +320 -0
- package/src/reachability/index.ts +371 -0
- package/src/reachability/request.ts +50 -35
- package/src/reachability/util.ts +24 -0
- 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.ts +643 -0
- package/src/recording-controller/enums.ts +8 -0
- package/src/recording-controller/index.ts +332 -0
- package/src/recording-controller/util.ts +75 -0
- package/src/roap/index.ts +288 -0
- package/src/roap/request.ts +153 -0
- package/src/roap/turnDiscovery.ts +374 -70
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +166 -0
- package/src/statsAnalyzer/global.ts +37 -0
- package/src/statsAnalyzer/index.ts +1275 -0
- package/src/statsAnalyzer/mqaUtil.ts +440 -0
- package/src/transcription/{index.js → index.ts} +46 -39
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +791 -531
- 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 +238 -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 +1793 -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/interceptors/locusRetry.ts +131 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +625 -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 +1458 -21
- package/test/unit/spec/locus-info/infoUtils.js +71 -40
- package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
- package/test/unit/spec/locus-info/lib/SeqCmp.json +529 -685
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +41 -0
- package/test/unit/spec/locus-info/parser.js +119 -44
- package/test/unit/spec/locus-info/selfConstant.js +120 -103
- package/test/unit/spec/locus-info/selfUtils.js +291 -12
- package/test/unit/spec/media/index.ts +194 -111
- package/test/unit/spec/media/properties.ts +11 -11
- package/test/unit/spec/meeting/in-meeting-actions.ts +96 -3
- package/test/unit/spec/meeting/index.js +8616 -1921
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +568 -207
- package/test/unit/spec/meeting/request.js +602 -82
- package/test/unit/spec/meeting/utils.js +867 -179
- package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
- package/test/unit/spec/meeting-info/index.js +300 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +631 -78
- 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 +27 -1
- package/test/unit/spec/meetings/index.js +1826 -374
- package/test/unit/spec/meetings/utils.js +243 -14
- package/test/unit/spec/member/index.js +61 -7
- package/test/unit/spec/member/util.js +526 -26
- package/test/unit/spec/members/index.js +536 -55
- package/test/unit/spec/members/request.js +228 -40
- package/test/unit/spec/members/utils.js +217 -4
- package/test/unit/spec/metrics/index.js +13 -68
- package/test/unit/spec/multistream/mediaRequestManager.ts +1032 -110
- 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 +350 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +937 -65
- package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
- 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/clusterReachability.ts +279 -0
- package/test/unit/spec/reachability/index.ts +606 -26
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reachability/util.ts +40 -0
- package/test/unit/spec/reconnection-manager/index.js +222 -34
- package/test/unit/spec/recording-controller/index.js +306 -0
- package/test/unit/spec/recording-controller/util.js +229 -0
- package/test/unit/spec/roap/index.ts +238 -82
- package/test/unit/spec/roap/request.ts +255 -0
- package/test/unit/spec/roap/turnDiscovery.ts +707 -110
- package/test/unit/spec/rtcMetrics/index.ts +122 -0
- package/test/unit/spec/stats-analyzer/index.js +1331 -62
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- 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 +65 -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/media/properties.js +0 -289
- 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/request.js +0 -684
- 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/collection.js +0 -40
- 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/reachability/index.js +0 -464
- package/src/reconnection-manager/index.js +0 -519
- package/src/roap/index.js +0 -220
- 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,144 +1,210 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
_Object$defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
|
|
11
|
-
exports.default = void 0;
|
|
12
|
-
|
|
8
|
+
exports.createMuteState = exports.MuteState = void 0;
|
|
13
9
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
14
|
-
|
|
15
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
16
|
-
|
|
17
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
18
|
-
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
19
13
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
20
|
-
|
|
21
14
|
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
22
|
-
|
|
23
|
-
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
|
24
|
-
|
|
25
|
-
var _media = _interopRequireDefault(require("../media"));
|
|
26
|
-
|
|
27
|
-
var _util = _interopRequireDefault(require("../meeting/util"));
|
|
28
|
-
|
|
15
|
+
var _util = _interopRequireDefault(require("./util"));
|
|
29
16
|
var _constants = require("../constants");
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
*/
|
|
34
|
-
var createMuteState = function createMuteState(type, meeting, mediaDirection) {
|
|
35
|
-
if (type === _constants.AUDIO && !mediaDirection.sendAudio) {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
if (type === _constants.VIDEO && !mediaDirection.sendVideo) {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
17
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
18
|
+
var createMuteState = function createMuteState(type, meeting, enabled) {
|
|
19
|
+
// todo: remove the meeting argument (SPARK-399695)
|
|
42
20
|
|
|
43
21
|
_loggerProxy.default.logger.info("Meeting:muteState#createMuteState --> ".concat(type, ": creating MuteState for meeting id ").concat(meeting === null || meeting === void 0 ? void 0 : meeting.id));
|
|
44
|
-
|
|
45
|
-
return
|
|
22
|
+
var muteState = new MuteState(type, meeting, enabled);
|
|
23
|
+
return muteState;
|
|
46
24
|
};
|
|
25
|
+
|
|
47
26
|
/** The purpose of this class is to manage the local and remote mute state and make sure that the server state always matches
|
|
48
27
|
the last requested state by the client.
|
|
49
28
|
|
|
50
29
|
More info about Locus muting API: https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html#
|
|
51
|
-
*/
|
|
52
|
-
|
|
53
30
|
|
|
31
|
+
This class is exported only for unit tests. It should never be instantiated directly with new MuteState(), instead createMuteState() should be called
|
|
32
|
+
*/
|
|
33
|
+
exports.createMuteState = createMuteState;
|
|
54
34
|
var MuteState = /*#__PURE__*/function () {
|
|
55
35
|
/**
|
|
56
36
|
* Constructor
|
|
57
37
|
*
|
|
58
38
|
* @param {String} type - audio or video
|
|
59
39
|
* @param {Object} meeting - the meeting object (used for reading current remote mute status)
|
|
40
|
+
* @param {boolean} enabled - whether the client audio/video is enabled at all
|
|
60
41
|
*/
|
|
61
|
-
function MuteState(type, meeting) {
|
|
42
|
+
function MuteState(type, meeting, enabled) {
|
|
43
|
+
var _meeting$remoteVideoM, _meeting$unmuteVideoA;
|
|
62
44
|
(0, _classCallCheck2.default)(this, MuteState);
|
|
63
|
-
|
|
45
|
+
(0, _defineProperty2.default)(this, "state", void 0);
|
|
46
|
+
(0, _defineProperty2.default)(this, "type", void 0);
|
|
47
|
+
(0, _defineProperty2.default)(this, "ignoreMuteStateChange", void 0);
|
|
64
48
|
if (type !== _constants.AUDIO && type !== _constants.VIDEO) {
|
|
65
49
|
throw new _parameter.default('Mute state is designed for handling audio or video only');
|
|
66
50
|
}
|
|
67
|
-
|
|
68
51
|
this.type = type;
|
|
52
|
+
this.ignoreMuteStateChange = false;
|
|
69
53
|
this.state = {
|
|
70
54
|
client: {
|
|
71
|
-
|
|
55
|
+
enabled: enabled,
|
|
56
|
+
localMute: true
|
|
72
57
|
},
|
|
73
58
|
server: {
|
|
74
|
-
localMute:
|
|
75
|
-
//
|
|
76
|
-
remoteMute: type === _constants.AUDIO ? meeting.remoteMuted : false,
|
|
77
|
-
unmuteAllowed: type === _constants.AUDIO ? meeting.unmuteAllowed : true
|
|
59
|
+
localMute: true,
|
|
60
|
+
// because remoteVideoMuted and unmuteVideoAllowed are updated seperately, they might be undefined
|
|
61
|
+
remoteMute: type === _constants.AUDIO ? meeting.remoteMuted : (_meeting$remoteVideoM = meeting.remoteVideoMuted) !== null && _meeting$remoteVideoM !== void 0 ? _meeting$remoteVideoM : false,
|
|
62
|
+
unmuteAllowed: type === _constants.AUDIO ? meeting.unmuteAllowed : (_meeting$unmuteVideoA = meeting.unmuteVideoAllowed) !== null && _meeting$unmuteVideoA !== void 0 ? _meeting$unmuteVideoA : true
|
|
78
63
|
},
|
|
79
64
|
syncToServerInProgress: false
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
this.pendingPromiseResolve = null;
|
|
83
|
-
this.pendingPromiseReject = null;
|
|
65
|
+
};
|
|
84
66
|
}
|
|
67
|
+
|
|
85
68
|
/**
|
|
86
|
-
*
|
|
87
|
-
* at the point that this request becomese superseded by another client request.
|
|
88
|
-
*
|
|
89
|
-
* The client doesn't have to wait for the returned promise to resolve before calling handleClientRequest() again. If
|
|
90
|
-
* handleClientRequest() is called again before the previous one resolved, the MuteState class will make sure that eventually
|
|
91
|
-
* the server state will match the last requested state from the client.
|
|
69
|
+
* Starts the mute state machine. Needs to be called after a new MuteState instance is created.
|
|
92
70
|
*
|
|
93
|
-
* @
|
|
94
|
-
* @
|
|
95
|
-
* @param {Object} [meeting] the meeting object
|
|
96
|
-
* @param {Boolean} [mute] true for muting, false for unmuting request
|
|
97
|
-
* @returns {Promise}
|
|
71
|
+
* @param {Object} meeting - the meeting object
|
|
72
|
+
* @returns {void}
|
|
98
73
|
*/
|
|
99
|
-
|
|
100
|
-
|
|
101
74
|
(0, _createClass2.default)(MuteState, [{
|
|
102
|
-
key: "
|
|
103
|
-
value: function
|
|
104
|
-
var
|
|
105
|
-
|
|
106
|
-
|
|
75
|
+
key: "init",
|
|
76
|
+
value: function init(meeting) {
|
|
77
|
+
var _meeting$mediaPropert, _meeting$mediaPropert2;
|
|
78
|
+
this.applyUnmuteAllowedToStream(meeting);
|
|
79
|
+
|
|
80
|
+
// if we are remotely muted, we need to apply that to the local stream now (mute on-entry)
|
|
81
|
+
if (this.state.server.remoteMute) {
|
|
82
|
+
this.muteLocalStream(meeting, this.state.server.remoteMute, 'remotelyMuted');
|
|
83
|
+
}
|
|
84
|
+
var initialMute = this.type === _constants.AUDIO ? (_meeting$mediaPropert = meeting.mediaProperties.audioStream) === null || _meeting$mediaPropert === void 0 ? void 0 : _meeting$mediaPropert.muted : (_meeting$mediaPropert2 = meeting.mediaProperties.videoStream) === null || _meeting$mediaPropert2 === void 0 ? void 0 : _meeting$mediaPropert2.muted;
|
|
85
|
+
_loggerProxy.default.logger.info("Meeting:muteState#init --> ".concat(this.type, ": local stream initial mute state: ").concat(initialMute));
|
|
86
|
+
if (initialMute !== undefined) {
|
|
87
|
+
this.state.client.localMute = initialMute;
|
|
88
|
+
} else {
|
|
89
|
+
// there is no stream, so it's like we are locally muted
|
|
90
|
+
// (this is important especially for transcoded meetings, in which the SDP m-line direction always stays "sendrecv")
|
|
91
|
+
this.state.client.localMute = true;
|
|
92
|
+
}
|
|
93
|
+
this.applyClientStateToServer(meeting);
|
|
94
|
+
}
|
|
107
95
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
96
|
+
/**
|
|
97
|
+
* This method needs to be called whenever the local audio/video stream has changed.
|
|
98
|
+
* It reapplies the remote mute state onto the new stream and also reads the current
|
|
99
|
+
* local mute state from the stream and updates the internal state machine and sends
|
|
100
|
+
* any required requests to the server.
|
|
101
|
+
*
|
|
102
|
+
* @param {Object} meeting - the meeting object
|
|
103
|
+
* @returns {void}
|
|
104
|
+
*/
|
|
105
|
+
}, {
|
|
106
|
+
key: "handleLocalStreamChange",
|
|
107
|
+
value: function handleLocalStreamChange(meeting) {
|
|
108
|
+
return this.init(meeting);
|
|
109
|
+
}
|
|
112
110
|
|
|
111
|
+
/**
|
|
112
|
+
* Enables/disables audio/video
|
|
113
|
+
*
|
|
114
|
+
* @param {Object} meeting - the meeting object
|
|
115
|
+
* @param {boolean} enable
|
|
116
|
+
* @returns {void}
|
|
117
|
+
*/
|
|
118
|
+
}, {
|
|
119
|
+
key: "enable",
|
|
120
|
+
value: function enable(meeting, _enable) {
|
|
121
|
+
this.state.client.enabled = _enable;
|
|
122
|
+
this.applyClientStateToServer(meeting);
|
|
123
|
+
}
|
|
113
124
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
125
|
+
/**
|
|
126
|
+
* Mutes/unmutes local stream
|
|
127
|
+
*
|
|
128
|
+
* @param {Object} meeting - the meeting object
|
|
129
|
+
* @param {Boolean} mute - true to mute the stream, false to unmute it
|
|
130
|
+
* @param {ServerMuteReason} reason - reason for muting/unmuting
|
|
131
|
+
* @returns {void}
|
|
132
|
+
*/
|
|
133
|
+
}, {
|
|
134
|
+
key: "muteLocalStream",
|
|
135
|
+
value: function muteLocalStream(meeting, mute, reason) {
|
|
136
|
+
this.ignoreMuteStateChange = true;
|
|
137
|
+
if (this.type === _constants.AUDIO) {
|
|
138
|
+
var _meeting$mediaPropert3;
|
|
139
|
+
(_meeting$mediaPropert3 = meeting.mediaProperties.audioStream) === null || _meeting$mediaPropert3 === void 0 ? void 0 : _meeting$mediaPropert3.setServerMuted(mute, reason);
|
|
140
|
+
} else {
|
|
141
|
+
var _meeting$mediaPropert4;
|
|
142
|
+
(_meeting$mediaPropert4 = meeting.mediaProperties.videoStream) === null || _meeting$mediaPropert4 === void 0 ? void 0 : _meeting$mediaPropert4.setServerMuted(mute, reason);
|
|
143
|
+
}
|
|
144
|
+
this.ignoreMuteStateChange = false;
|
|
145
|
+
}
|
|
121
146
|
|
|
122
|
-
|
|
123
|
-
|
|
147
|
+
/**
|
|
148
|
+
* This method should be called when the local stream mute state is changed
|
|
149
|
+
* @public
|
|
150
|
+
* @memberof MuteState
|
|
151
|
+
* @param {Object} [meeting] the meeting object
|
|
152
|
+
* @param {Boolean} [mute] true for muting, false for unmuting request
|
|
153
|
+
* @returns {void}
|
|
154
|
+
*/
|
|
155
|
+
}, {
|
|
156
|
+
key: "handleLocalStreamMuteStateChange",
|
|
157
|
+
value: function handleLocalStreamMuteStateChange(meeting) {
|
|
158
|
+
if (this.ignoreMuteStateChange) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
124
161
|
|
|
125
|
-
|
|
126
|
-
|
|
162
|
+
// either user or system may have triggered a mute state change, but localMute should reflect both
|
|
163
|
+
var newMuteState;
|
|
164
|
+
var userMuteState;
|
|
165
|
+
var systemMuteState;
|
|
166
|
+
if (this.type === _constants.AUDIO) {
|
|
167
|
+
var _meeting$mediaPropert5, _meeting$mediaPropert6, _meeting$mediaPropert7;
|
|
168
|
+
newMuteState = (_meeting$mediaPropert5 = meeting.mediaProperties.audioStream) === null || _meeting$mediaPropert5 === void 0 ? void 0 : _meeting$mediaPropert5.muted;
|
|
169
|
+
userMuteState = (_meeting$mediaPropert6 = meeting.mediaProperties.audioStream) === null || _meeting$mediaPropert6 === void 0 ? void 0 : _meeting$mediaPropert6.userMuted;
|
|
170
|
+
systemMuteState = (_meeting$mediaPropert7 = meeting.mediaProperties.audioStream) === null || _meeting$mediaPropert7 === void 0 ? void 0 : _meeting$mediaPropert7.systemMuted;
|
|
171
|
+
} else {
|
|
172
|
+
var _meeting$mediaPropert8, _meeting$mediaPropert9, _meeting$mediaPropert10;
|
|
173
|
+
newMuteState = (_meeting$mediaPropert8 = meeting.mediaProperties.videoStream) === null || _meeting$mediaPropert8 === void 0 ? void 0 : _meeting$mediaPropert8.muted;
|
|
174
|
+
userMuteState = (_meeting$mediaPropert9 = meeting.mediaProperties.videoStream) === null || _meeting$mediaPropert9 === void 0 ? void 0 : _meeting$mediaPropert9.userMuted;
|
|
175
|
+
systemMuteState = (_meeting$mediaPropert10 = meeting.mediaProperties.videoStream) === null || _meeting$mediaPropert10 === void 0 ? void 0 : _meeting$mediaPropert10.systemMuted;
|
|
176
|
+
}
|
|
177
|
+
_loggerProxy.default.logger.info("Meeting:muteState#handleLocalStreamMuteStateChange --> ".concat(this.type, ": local stream new mute state: ").concat(newMuteState, " (user mute: ").concat(userMuteState, ", system mute: ").concat(systemMuteState, ")"));
|
|
178
|
+
this.state.client.localMute = newMuteState;
|
|
179
|
+
this.applyClientStateToServer(meeting);
|
|
127
180
|
}
|
|
181
|
+
|
|
128
182
|
/**
|
|
129
|
-
* Applies the current mute state to the local
|
|
183
|
+
* Applies the current mute state to the local stream (by enabling or disabling it accordingly)
|
|
130
184
|
*
|
|
131
185
|
* @public
|
|
132
186
|
* @param {Object} [meeting] the meeting object
|
|
187
|
+
* @param {ServerMuteReason} reason - reason why we're applying our client state to the local stream
|
|
133
188
|
* @memberof MuteState
|
|
134
189
|
* @returns {void}
|
|
135
190
|
*/
|
|
136
|
-
|
|
137
191
|
}, {
|
|
138
192
|
key: "applyClientStateLocally",
|
|
139
|
-
value: function applyClientStateLocally(meeting) {
|
|
140
|
-
|
|
193
|
+
value: function applyClientStateLocally(meeting, reason) {
|
|
194
|
+
this.muteLocalStream(meeting, this.state.client.localMute, reason);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/** Returns true if client is locally muted - it takes into account not just the client local mute state,
|
|
198
|
+
* but also whether audio/video is enabled at all
|
|
199
|
+
*
|
|
200
|
+
* @returns {boolean}
|
|
201
|
+
*/
|
|
202
|
+
}, {
|
|
203
|
+
key: "getClientLocalMuteState",
|
|
204
|
+
value: function getClientLocalMuteState() {
|
|
205
|
+
return this.state.client.enabled ? this.state.client.localMute : true;
|
|
141
206
|
}
|
|
207
|
+
|
|
142
208
|
/**
|
|
143
209
|
* Updates the server local and remote mute values so that they match the current client desired state.
|
|
144
210
|
*
|
|
@@ -147,62 +213,47 @@ var MuteState = /*#__PURE__*/function () {
|
|
|
147
213
|
* @memberof MuteState
|
|
148
214
|
* @returns {void}
|
|
149
215
|
*/
|
|
150
|
-
|
|
151
216
|
}, {
|
|
152
217
|
key: "applyClientStateToServer",
|
|
153
218
|
value: function applyClientStateToServer(meeting) {
|
|
154
|
-
var
|
|
155
|
-
|
|
219
|
+
var _this = this;
|
|
156
220
|
if (this.state.syncToServerInProgress) {
|
|
157
221
|
_loggerProxy.default.logger.info("Meeting:muteState#applyClientStateToServer --> ".concat(this.type, ": request to server in progress, we need to wait for it to complete"));
|
|
158
|
-
|
|
159
222
|
return;
|
|
160
223
|
}
|
|
161
|
-
|
|
162
|
-
var localMuteRequiresSync =
|
|
163
|
-
var remoteMuteRequiresSync = !
|
|
164
|
-
|
|
165
|
-
_loggerProxy.default.logger.info("Meeting:muteState#applyClientStateToServer --> ".concat(this.type, ": localMuteRequiresSync: ").concat(localMuteRequiresSync, " (").concat(this.state.client.localMute, " ?= ").concat(this.state.server.localMute, ")"));
|
|
166
|
-
|
|
224
|
+
var localMuteState = this.getClientLocalMuteState();
|
|
225
|
+
var localMuteRequiresSync = localMuteState !== this.state.server.localMute;
|
|
226
|
+
var remoteMuteRequiresSync = !localMuteState && this.state.server.remoteMute;
|
|
227
|
+
_loggerProxy.default.logger.info("Meeting:muteState#applyClientStateToServer --> ".concat(this.type, ": localMuteRequiresSync: ").concat(localMuteRequiresSync, " (").concat(localMuteState, " ?= ").concat(this.state.server.localMute, ")"));
|
|
167
228
|
_loggerProxy.default.logger.info("Meeting:muteState#applyClientStateToServer --> ".concat(this.type, ": remoteMuteRequiresSync: ").concat(remoteMuteRequiresSync));
|
|
168
|
-
|
|
169
229
|
if (!localMuteRequiresSync && !remoteMuteRequiresSync) {
|
|
170
230
|
_loggerProxy.default.logger.info("Meeting:muteState#applyClientStateToServer --> ".concat(this.type, ": client state already matching server state, nothing to do"));
|
|
171
|
-
|
|
172
|
-
if (this.pendingPromiseResolve) {
|
|
173
|
-
this.pendingPromiseResolve();
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
this.pendingPromiseResolve = null;
|
|
177
|
-
this.pendingPromiseReject = null;
|
|
178
231
|
return;
|
|
179
232
|
}
|
|
233
|
+
this.state.syncToServerInProgress = true;
|
|
180
234
|
|
|
181
|
-
|
|
182
|
-
|
|
235
|
+
// first sync local mute with server
|
|
183
236
|
var localMuteSyncPromise = localMuteRequiresSync ? this.sendLocalMuteRequestToServer(meeting) : _promise.default.resolve();
|
|
184
237
|
localMuteSyncPromise.then(function () {
|
|
185
|
-
return (
|
|
186
|
-
|
|
238
|
+
return (
|
|
239
|
+
// then follow it up with remote mute sync
|
|
240
|
+
remoteMuteRequiresSync ? _this.sendRemoteMuteRequestToServer(meeting) : _promise.default.resolve()
|
|
187
241
|
);
|
|
188
242
|
}).then(function () {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
_loggerProxy.default.logger.info("Meeting:muteState#applyClientStateToServer --> ".concat(_this2.type, ": sync with server completed")); // need to check if a new sync is required, because this.state.client may have changed while we were doing the current sync
|
|
243
|
+
_this.state.syncToServerInProgress = false;
|
|
244
|
+
_loggerProxy.default.logger.info("Meeting:muteState#applyClientStateToServer --> ".concat(_this.type, ": sync with server completed"));
|
|
192
245
|
|
|
193
|
-
|
|
194
|
-
|
|
246
|
+
// need to check if a new sync is required, because this.state.client may have changed while we were doing the current sync
|
|
247
|
+
_this.applyClientStateToServer(meeting);
|
|
195
248
|
}).catch(function (e) {
|
|
196
|
-
|
|
249
|
+
_this.state.syncToServerInProgress = false;
|
|
250
|
+
_loggerProxy.default.logger.warn("Meeting:muteState#applyClientStateToServer --> ".concat(_this.type, ": error: ").concat(e));
|
|
197
251
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
_this2.pendingPromiseResolve = null;
|
|
203
|
-
_this2.pendingPromiseReject = null;
|
|
252
|
+
// failed to apply client state to server, so revert stream mute state to server state
|
|
253
|
+
_this.muteLocalStream(meeting, _this.state.server.localMute || _this.state.server.remoteMute, 'clientRequestFailed');
|
|
204
254
|
});
|
|
205
255
|
}
|
|
256
|
+
|
|
206
257
|
/**
|
|
207
258
|
* Sets the local mute value in the server
|
|
208
259
|
*
|
|
@@ -211,31 +262,26 @@ var MuteState = /*#__PURE__*/function () {
|
|
|
211
262
|
* @memberof MuteState
|
|
212
263
|
* @returns {Promise}
|
|
213
264
|
*/
|
|
214
|
-
|
|
215
265
|
}, {
|
|
216
266
|
key: "sendLocalMuteRequestToServer",
|
|
217
267
|
value: function sendLocalMuteRequestToServer(meeting) {
|
|
218
|
-
var
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
var audioMuted = this.type === _constants.AUDIO ? this.state.client.localMute : (_meeting$audio = meeting.audio) === null || _meeting$audio === void 0 ? void 0 : _meeting$audio.state.client.localMute;
|
|
223
|
-
var videoMuted = this.type === _constants.VIDEO ? this.state.client.localMute : (_meeting$video = meeting.video) === null || _meeting$video === void 0 ? void 0 : _meeting$video.state.client.localMute;
|
|
224
|
-
|
|
268
|
+
var _this2 = this;
|
|
269
|
+
var audioMuted = this.type === _constants.AUDIO ? this.getClientLocalMuteState() : undefined;
|
|
270
|
+
var videoMuted = this.type === _constants.VIDEO ? this.getClientLocalMuteState() : undefined;
|
|
225
271
|
_loggerProxy.default.logger.info("Meeting:muteState#sendLocalMuteRequestToServer --> ".concat(this.type, ": sending local mute (audio=").concat(audioMuted, ", video=").concat(videoMuted, ") to server"));
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
272
|
+
return _util.default.remoteUpdateAudioVideo(meeting, audioMuted, videoMuted).then(function (locus) {
|
|
273
|
+
_loggerProxy.default.logger.info("Meeting:muteState#sendLocalMuteRequestToServer --> ".concat(_this2.type, ": local mute (audio=").concat(audioMuted, ", video=").concat(videoMuted, ") applied to server"));
|
|
274
|
+
_this2.state.server.localMute = _this2.type === _constants.AUDIO ? audioMuted : videoMuted;
|
|
275
|
+
if (locus) {
|
|
276
|
+
meeting.locusInfo.handleLocusDelta(locus, meeting);
|
|
277
|
+
}
|
|
232
278
|
return locus;
|
|
233
279
|
}).catch(function (remoteUpdateError) {
|
|
234
|
-
_loggerProxy.default.logger.warn("Meeting:muteState#sendLocalMuteRequestToServer --> ".concat(
|
|
235
|
-
|
|
280
|
+
_loggerProxy.default.logger.warn("Meeting:muteState#sendLocalMuteRequestToServer --> ".concat(_this2.type, ": failed to apply local mute (audio=").concat(audioMuted, ", video=").concat(videoMuted, ") to server: ").concat(remoteUpdateError));
|
|
236
281
|
return _promise.default.reject(remoteUpdateError);
|
|
237
282
|
});
|
|
238
283
|
}
|
|
284
|
+
|
|
239
285
|
/**
|
|
240
286
|
* Sets the remote mute value in the server
|
|
241
287
|
*
|
|
@@ -244,50 +290,63 @@ var MuteState = /*#__PURE__*/function () {
|
|
|
244
290
|
* @memberof MuteState
|
|
245
291
|
* @returns {Promise}
|
|
246
292
|
*/
|
|
247
|
-
|
|
248
293
|
}, {
|
|
249
294
|
key: "sendRemoteMuteRequestToServer",
|
|
250
295
|
value: function sendRemoteMuteRequestToServer(meeting) {
|
|
251
|
-
var
|
|
296
|
+
var _this3 = this;
|
|
297
|
+
var remoteMute = this.getClientLocalMuteState();
|
|
298
|
+
_loggerProxy.default.logger.info("Meeting:muteState#sendRemoteMuteRequestToServer --> ".concat(this.type, ": sending remote mute:").concat(remoteMute, " to server"));
|
|
299
|
+
return meeting.members.muteMember(meeting.members.selfId, remoteMute, this.type === _constants.AUDIO).then(function () {
|
|
300
|
+
_loggerProxy.default.logger.info("Meeting:muteState#sendRemoteMuteRequestToServer --> ".concat(_this3.type, ": remote mute:").concat(remoteMute, " applied to server"));
|
|
301
|
+
_this3.state.server.remoteMute = remoteMute;
|
|
302
|
+
}).catch(function (remoteUpdateError) {
|
|
303
|
+
_loggerProxy.default.logger.warn("Meeting:muteState#sendRemoteMuteRequestToServer --> ".concat(_this3.type, ": failed to apply remote mute ").concat(remoteMute, " to server: ").concat(remoteUpdateError));
|
|
304
|
+
return _promise.default.reject(remoteUpdateError);
|
|
305
|
+
});
|
|
306
|
+
}
|
|
252
307
|
|
|
308
|
+
/** Applies the current value for unmute allowed to the underlying stream
|
|
309
|
+
*
|
|
310
|
+
* @param {Meeting} meeting
|
|
311
|
+
* @returns {void}
|
|
312
|
+
*/
|
|
313
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
314
|
+
}, {
|
|
315
|
+
key: "applyUnmuteAllowedToStream",
|
|
316
|
+
value: function applyUnmuteAllowedToStream(meeting) {
|
|
253
317
|
if (this.type === _constants.AUDIO) {
|
|
254
|
-
var
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
_this4.state.server.remoteMute = remoteMute;
|
|
262
|
-
}).catch(function (remoteUpdateError) {
|
|
263
|
-
_loggerProxy.default.logger.warn("Meeting:muteState#sendRemoteMuteRequestToServer --> ".concat(_this4.type, ": failed to apply remote mute ").concat(remoteMute, " to server: ").concat(remoteUpdateError));
|
|
264
|
-
|
|
265
|
-
return _promise.default.reject(remoteUpdateError);
|
|
266
|
-
});
|
|
267
|
-
} // for now we don't need to support remote muting of video (REMOTE_MUTE_VIDEO_MISSING_IMPLEMENTATION)
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
this.state.server.remoteMute = this.state.client.localMute;
|
|
271
|
-
return _promise.default.resolve();
|
|
318
|
+
var _meeting$mediaPropert11;
|
|
319
|
+
(_meeting$mediaPropert11 = meeting.mediaProperties.audioStream) === null || _meeting$mediaPropert11 === void 0 ? void 0 : _meeting$mediaPropert11.setUnmuteAllowed(this.state.server.unmuteAllowed);
|
|
320
|
+
} else {
|
|
321
|
+
var _meeting$mediaPropert12;
|
|
322
|
+
(_meeting$mediaPropert12 = meeting.mediaProperties.videoStream) === null || _meeting$mediaPropert12 === void 0 ? void 0 : _meeting$mediaPropert12.setUnmuteAllowed(this.state.server.unmuteAllowed);
|
|
323
|
+
}
|
|
272
324
|
}
|
|
325
|
+
|
|
273
326
|
/**
|
|
274
327
|
* This method should be called whenever the server remote mute state is changed
|
|
275
328
|
*
|
|
276
329
|
* @public
|
|
277
330
|
* @memberof MuteState
|
|
331
|
+
* @param {Meeting} meeting
|
|
278
332
|
* @param {Boolean} [muted] true if user is remotely muted, false otherwise
|
|
279
333
|
* @param {Boolean} [unmuteAllowed] indicates if user is allowed to unmute self (false when "hard mute" feature is used)
|
|
280
334
|
* @returns {undefined}
|
|
281
335
|
*/
|
|
282
|
-
|
|
283
336
|
}, {
|
|
284
337
|
key: "handleServerRemoteMuteUpdate",
|
|
285
|
-
value: function handleServerRemoteMuteUpdate(muted, unmuteAllowed) {
|
|
338
|
+
value: function handleServerRemoteMuteUpdate(meeting, muted, unmuteAllowed) {
|
|
286
339
|
_loggerProxy.default.logger.info("Meeting:muteState#handleServerRemoteMuteUpdate --> ".concat(this.type, ": updating server remoteMute to (").concat(muted, ")"));
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
340
|
+
if (unmuteAllowed !== undefined) {
|
|
341
|
+
this.state.server.unmuteAllowed = unmuteAllowed;
|
|
342
|
+
this.applyUnmuteAllowedToStream(meeting);
|
|
343
|
+
}
|
|
344
|
+
if (muted !== undefined) {
|
|
345
|
+
this.state.server.remoteMute = muted;
|
|
346
|
+
this.muteLocalStream(meeting, muted, 'remotelyMuted');
|
|
347
|
+
}
|
|
290
348
|
}
|
|
349
|
+
|
|
291
350
|
/**
|
|
292
351
|
* This method should be called whenever we receive from the server a requirement to locally unmute
|
|
293
352
|
*
|
|
@@ -296,66 +355,84 @@ var MuteState = /*#__PURE__*/function () {
|
|
|
296
355
|
* @param {Object} [meeting] the meeting object
|
|
297
356
|
* @returns {undefined}
|
|
298
357
|
*/
|
|
299
|
-
|
|
300
358
|
}, {
|
|
301
359
|
key: "handleServerLocalUnmuteRequired",
|
|
302
360
|
value: function handleServerLocalUnmuteRequired(meeting) {
|
|
303
|
-
|
|
361
|
+
if (!this.state.client.enabled) {
|
|
362
|
+
_loggerProxy.default.logger.warn("Meeting:muteState#handleServerLocalUnmuteRequired --> ".concat(this.type, ": localAudioUnmuteRequired received while ").concat(this.type, " is disabled -> local unmute will not result in ").concat(this.type, " being sent"));
|
|
363
|
+
} else {
|
|
364
|
+
_loggerProxy.default.logger.info("Meeting:muteState#handleServerLocalUnmuteRequired --> ".concat(this.type, ": localAudioUnmuteRequired received -> doing local unmute"));
|
|
365
|
+
}
|
|
304
366
|
|
|
367
|
+
// todo: I'm seeing "you can now unmute yourself " popup when this happens - but same thing happens on web.w.c so we can ignore for now
|
|
305
368
|
this.state.server.remoteMute = false;
|
|
306
|
-
this.state.client.localMute = false;
|
|
307
369
|
|
|
308
|
-
if
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
370
|
+
// change user mute state to false, but keep localMute true if overall mute state is still true
|
|
371
|
+
this.muteLocalStream(meeting, false, 'localUnmuteRequired');
|
|
372
|
+
if (this.type === _constants.AUDIO) {
|
|
373
|
+
var _meeting$mediaPropert13;
|
|
374
|
+
this.state.client.localMute = (_meeting$mediaPropert13 = meeting.mediaProperties.audioStream) === null || _meeting$mediaPropert13 === void 0 ? void 0 : _meeting$mediaPropert13.muted;
|
|
375
|
+
} else {
|
|
376
|
+
var _meeting$mediaPropert14;
|
|
377
|
+
this.state.client.localMute = (_meeting$mediaPropert14 = meeting.mediaProperties.videoStream) === null || _meeting$mediaPropert14 === void 0 ? void 0 : _meeting$mediaPropert14.muted;
|
|
312
378
|
}
|
|
313
|
-
|
|
314
|
-
this.applyClientStateLocally(meeting);
|
|
315
379
|
this.applyClientStateToServer(meeting);
|
|
316
380
|
}
|
|
381
|
+
|
|
317
382
|
/**
|
|
318
|
-
* Returns true if the user is locally or remotely muted
|
|
383
|
+
* Returns true if the user is locally or remotely muted.
|
|
384
|
+
* It only checks the mute status, ignoring the fact whether audio/video is enabled.
|
|
319
385
|
*
|
|
320
386
|
* @public
|
|
321
387
|
* @memberof MuteState
|
|
322
388
|
* @returns {Boolean}
|
|
323
389
|
*/
|
|
324
|
-
|
|
325
390
|
}, {
|
|
326
391
|
key: "isMuted",
|
|
327
392
|
value: function isMuted() {
|
|
328
393
|
return this.state.client.localMute || this.state.server.localMute || this.state.server.remoteMute;
|
|
329
394
|
}
|
|
395
|
+
|
|
330
396
|
/**
|
|
331
|
-
* Returns true if the user is
|
|
397
|
+
* Returns true if the user is remotely muted
|
|
332
398
|
*
|
|
333
399
|
* @public
|
|
334
400
|
* @memberof MuteState
|
|
335
401
|
* @returns {Boolean}
|
|
336
402
|
*/
|
|
337
|
-
|
|
338
403
|
}, {
|
|
339
|
-
key: "
|
|
340
|
-
value: function
|
|
341
|
-
return this.state.
|
|
342
|
-
}
|
|
404
|
+
key: "isRemotelyMuted",
|
|
405
|
+
value: function isRemotelyMuted() {
|
|
406
|
+
return this.state.server.remoteMute;
|
|
407
|
+
}
|
|
343
408
|
|
|
409
|
+
/**
|
|
410
|
+
* Returns true if unmute is allowed
|
|
411
|
+
*
|
|
412
|
+
* @public
|
|
413
|
+
* @memberof MuteState
|
|
414
|
+
* @returns {Boolean}
|
|
415
|
+
*/
|
|
344
416
|
}, {
|
|
345
|
-
key: "
|
|
346
|
-
|
|
347
|
-
return this.
|
|
348
|
-
}
|
|
417
|
+
key: "isUnmuteAllowed",
|
|
418
|
+
value: function isUnmuteAllowed() {
|
|
419
|
+
return this.state.server.unmuteAllowed;
|
|
420
|
+
}
|
|
349
421
|
|
|
422
|
+
/**
|
|
423
|
+
* Returns true if the user is locally muted or audio/video is disabled
|
|
424
|
+
*
|
|
425
|
+
* @public
|
|
426
|
+
* @memberof MuteState
|
|
427
|
+
* @returns {Boolean}
|
|
428
|
+
*/
|
|
350
429
|
}, {
|
|
351
|
-
key: "
|
|
352
|
-
|
|
353
|
-
return this.
|
|
430
|
+
key: "isLocallyMuted",
|
|
431
|
+
value: function isLocallyMuted() {
|
|
432
|
+
return this.getClientLocalMuteState();
|
|
354
433
|
}
|
|
355
434
|
}]);
|
|
356
435
|
return MuteState;
|
|
357
436
|
}();
|
|
358
|
-
|
|
359
|
-
var _default = createMuteState;
|
|
360
|
-
exports.default = _default;
|
|
437
|
+
exports.MuteState = MuteState;
|
|
361
438
|
//# sourceMappingURL=muteState.js.map
|