@webex/plugin-meetings 3.0.0-test.1 → 3.1.0
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/.eslintrc.js +6 -0
- package/babel.config.js +3 -0
- package/dist/annotation/constants.js +12 -20
- package/dist/annotation/constants.js.map +1 -1
- package/dist/annotation/index.js +25 -10
- package/dist/annotation/index.js.map +1 -1
- package/dist/breakouts/breakout.js +2 -3
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/collection.js +1 -2
- package/dist/breakouts/collection.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +1 -2
- package/dist/breakouts/edit-lock-error.js.map +1 -1
- package/dist/breakouts/events.js +1 -2
- package/dist/breakouts/events.js.map +1 -1
- package/dist/breakouts/index.js +13 -14
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/request.js +1 -2
- package/dist/breakouts/request.js.map +1 -1
- package/dist/breakouts/utils.js +3 -6
- package/dist/breakouts/utils.js.map +1 -1
- package/dist/common/browser-detection.js +2 -3
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +3 -4
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +1 -2
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +1 -2
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +1 -2
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +1 -2
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +1 -2
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/no-meeting-info.js +1 -2
- package/dist/common/errors/no-meeting-info.js.map +1 -1
- package/dist/common/errors/parameter.js +3 -4
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +1 -2
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +1 -2
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reclaim-host-role-errors.js +6 -10
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.js +1 -2
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +1 -2
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +1 -2
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +14 -15
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +1 -2
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +1 -2
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +1 -2
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +1 -2
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +1 -2
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +1 -2
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -2
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/{types/common → common}/logs/request.d.ts +1 -1
- package/dist/common/logs/request.js +3 -4
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +2 -4
- package/dist/common/queue.js.map +1 -1
- package/dist/{types/config.d.ts → config.d.ts} +1 -0
- package/dist/config.js +4 -3
- package/dist/config.js.map +1 -1
- package/dist/{types/constants.d.ts → constants.d.ts} +10 -5
- package/dist/constants.js +207 -380
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +3 -6
- package/dist/controls-options-manager/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +7 -10
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +27 -32
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/util.js +1 -2
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js.map +1 -1
- package/dist/interceptors/locusRetry.js +4 -3
- package/dist/interceptors/locusRetry.js.map +1 -1
- package/dist/interpretation/collection.js +1 -2
- package/dist/interpretation/collection.js.map +1 -1
- package/dist/interpretation/index.js +4 -5
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +2 -3
- package/dist/interpretation/siLanguage.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +12 -13
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -4
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +1 -2
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +1 -2
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +23 -27
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +3 -4
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +16 -3
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +6 -10
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +12 -6
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/MediaConnectionAwaiter.d.ts +61 -0
- package/dist/media/MediaConnectionAwaiter.js +163 -0
- package/dist/media/MediaConnectionAwaiter.js.map +1 -0
- package/dist/media/index.js +9 -5
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +7 -28
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +1 -2
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +9 -18
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +14 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/{types/meeting → meeting}/index.d.ts +71 -16
- package/dist/meeting/index.js +1411 -1036
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +4 -5
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +2 -4
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/{types/meeting → meeting}/request.d.ts +3 -0
- package/dist/meeting/request.js +45 -36
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/state.js +1 -2
- package/dist/meeting/state.js.map +1 -1
- package/dist/{types/meeting → meeting}/util.d.ts +1 -0
- package/dist/meeting/util.js +13 -10
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting/voicea-meeting.d.ts +16 -0
- package/dist/meeting/voicea-meeting.js +169 -0
- package/dist/meeting/voicea-meeting.js.map +1 -0
- package/dist/meeting-info/collection.js +3 -4
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +5 -4
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +27 -29
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +1 -2
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +8 -8
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +15 -9
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +5 -6
- package/dist/meetings/collection.js.map +1 -1
- package/dist/{types/meetings → meetings}/index.d.ts +11 -2
- package/dist/meetings/index.js +44 -17
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +2 -3
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +1 -4
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +1 -3
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +6 -8
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +1 -2
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +1 -2
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +8 -7
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +2 -3
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +3 -4
- package/dist/members/types.js.map +1 -1
- package/dist/{types/members → members}/util.d.ts +1 -1
- package/dist/members/util.js +3 -4
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +1 -2
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +3 -2
- package/dist/metrics/index.js.map +1 -1
- package/dist/{types/multistream → multistream}/mediaRequestManager.d.ts +1 -2
- package/dist/multistream/mediaRequestManager.js +9 -11
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +3 -5
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +7 -9
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +3 -5
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/{types/multistream → multistream}/remoteMediaGroup.d.ts +1 -1
- package/dist/multistream/remoteMediaGroup.js +7 -6
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/{types/multistream → multistream}/remoteMediaManager.d.ts +1 -2
- package/dist/multistream/remoteMediaManager.js +32 -29
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/{types/multistream → multistream}/sendSlotManager.d.ts +1 -2
- package/dist/multistream/sendSlotManager.js +9 -6
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +1 -2
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +2 -3
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +2 -3
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +1 -2
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/{types/reachability → reachability}/clusterReachability.d.ts +1 -0
- package/dist/reachability/clusterReachability.js +35 -20
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/{types/reachability → reachability}/index.d.ts +4 -0
- package/dist/reachability/index.js +41 -12
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +25 -20
- package/dist/reachability/request.js.map +1 -1
- package/dist/{types/reachability → reachability}/util.d.ts +7 -0
- package/dist/reachability/util.js +19 -0
- package/dist/reachability/util.js.map +1 -1
- package/dist/reactions/constants.js +1 -2
- package/dist/reactions/constants.js.map +1 -1
- package/dist/reactions/reactions.js +2 -4
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.js +6 -8
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +18 -11
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +4 -5
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.js +43 -51
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +1 -2
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/{types/roap → roap}/index.d.ts +10 -2
- package/dist/roap/index.js +17 -3
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +10 -10
- package/dist/roap/request.js.map +1 -1
- package/dist/{types/roap → roap}/turnDiscovery.d.ts +64 -17
- package/dist/roap/turnDiscovery.js +316 -134
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +1 -2
- package/dist/rtcMetrics/constants.js.map +1 -1
- package/dist/rtcMetrics/index.js +4 -6
- package/dist/rtcMetrics/index.js.map +1 -1
- package/dist/statsAnalyzer/global.js +1 -2
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +123 -96
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +24 -31
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +1 -2
- package/dist/transcription/index.js.map +1 -1
- package/dist/webinar/collection.js +1 -2
- package/dist/webinar/collection.js.map +1 -1
- package/dist/webinar/index.js +2 -3
- package/dist/webinar/index.js.map +1 -1
- package/jest.config.js +3 -0
- package/package.json +44 -25
- package/process +1 -0
- package/src/config.ts +3 -4
- package/src/constants.ts +13 -4
- package/src/interpretation/index.ts +2 -2
- package/src/locus-info/mediaSharesUtils.ts +16 -0
- package/src/locus-info/selfUtils.ts +5 -0
- package/src/media/MediaConnectionAwaiter.ts +174 -0
- package/src/media/index.ts +3 -1
- package/src/media/properties.ts +6 -31
- package/src/meeting/index.ts +526 -227
- package/src/meeting/request.ts +18 -2
- package/src/meeting/util.ts +6 -1
- package/src/meeting/voicea-meeting.ts +122 -0
- package/src/meeting-info/meeting-info-v2.ts +5 -11
- package/src/meeting-info/util.ts +12 -9
- package/src/meeting-info/utilv2.ts +26 -15
- package/src/meetings/index.ts +18 -0
- package/src/member/index.ts +0 -1
- package/src/multistream/mediaRequestManager.ts +1 -1
- package/src/multistream/remoteMediaGroup.ts +1 -1
- package/src/multistream/remoteMediaManager.ts +1 -2
- package/src/multistream/sendSlotManager.ts +1 -2
- package/src/reachability/clusterReachability.ts +20 -5
- package/src/reachability/index.ts +24 -1
- package/src/reachability/request.ts +15 -11
- package/src/reachability/util.ts +21 -0
- package/src/reconnection-manager/index.ts +1 -1
- package/src/roap/index.ts +25 -3
- package/src/roap/request.ts +2 -2
- package/src/roap/turnDiscovery.ts +244 -78
- package/src/statsAnalyzer/index.ts +63 -27
- package/test/integration/spec/journey.js +2 -2
- package/test/unit/spec/breakouts/breakout.ts +2 -1
- package/test/unit/spec/breakouts/index.ts +7 -4
- package/test/unit/spec/interpretation/index.ts +4 -1
- package/test/unit/spec/locus-info/index.js +27 -18
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +9 -0
- package/test/unit/spec/locus-info/selfUtils.js +41 -11
- package/test/unit/spec/media/MediaConnectionAwaiter.ts +344 -0
- package/test/unit/spec/media/index.ts +94 -78
- package/test/unit/spec/media/properties.ts +16 -70
- package/test/unit/spec/meeting/index.js +757 -141
- package/test/unit/spec/meeting/request.js +21 -0
- package/test/unit/spec/meeting/utils.js +58 -11
- package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +20 -15
- package/test/unit/spec/meeting-info/utilv2.js +6 -0
- package/test/unit/spec/meetings/index.js +101 -13
- package/test/unit/spec/metrics/index.js +1 -2
- package/test/unit/spec/multistream/mediaRequestManager.ts +1 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +0 -1
- package/test/unit/spec/multistream/remoteMediaManager.ts +0 -1
- package/test/unit/spec/reachability/clusterReachability.ts +86 -22
- package/test/unit/spec/reachability/index.ts +197 -60
- package/test/unit/spec/reachability/request.js +15 -7
- package/test/unit/spec/reachability/util.ts +32 -2
- package/test/unit/spec/reconnection-manager/index.js +28 -0
- package/test/unit/spec/recording-controller/index.js +0 -1
- package/test/unit/spec/roap/index.ts +61 -6
- package/test/unit/spec/roap/turnDiscovery.ts +299 -17
- package/test/unit/spec/stats-analyzer/index.js +179 -0
- /package/dist/{types/annotation → annotation}/annotation.types.d.ts +0 -0
- /package/dist/{types/annotation → annotation}/constants.d.ts +0 -0
- /package/dist/{types/annotation → annotation}/index.d.ts +0 -0
- /package/dist/{types/breakouts → breakouts}/breakout.d.ts +0 -0
- /package/dist/{types/breakouts → breakouts}/collection.d.ts +0 -0
- /package/dist/{types/breakouts → breakouts}/edit-lock-error.d.ts +0 -0
- /package/dist/{types/breakouts → breakouts}/events.d.ts +0 -0
- /package/dist/{types/breakouts → breakouts}/index.d.ts +0 -0
- /package/dist/{types/breakouts → breakouts}/request.d.ts +0 -0
- /package/dist/{types/breakouts → breakouts}/utils.d.ts +0 -0
- /package/dist/{types/common → common}/browser-detection.d.ts +0 -0
- /package/dist/{types/common → common}/collection.d.ts +0 -0
- /package/dist/{types/common → common}/config.d.ts +0 -0
- /package/dist/{types/common → common}/errors/captcha-error.d.ts +0 -0
- /package/dist/{types/common → common}/errors/intent-to-join.d.ts +0 -0
- /package/dist/{types/common → common}/errors/join-meeting.d.ts +0 -0
- /package/dist/{types/common → common}/errors/media.d.ts +0 -0
- /package/dist/{types/common → common}/errors/no-meeting-info.d.ts +0 -0
- /package/dist/{types/common → common}/errors/parameter.d.ts +0 -0
- /package/dist/{types/common → common}/errors/password-error.d.ts +0 -0
- /package/dist/{types/common → common}/errors/permission.d.ts +0 -0
- /package/dist/{types/common → common}/errors/reclaim-host-role-errors.d.ts +0 -0
- /package/dist/{types/common → common}/errors/reconnection-in-progress.d.ts +0 -0
- /package/dist/{types/common → common}/errors/reconnection.d.ts +0 -0
- /package/dist/{types/common → common}/errors/stats.d.ts +0 -0
- /package/dist/{types/common → common}/errors/webex-errors.d.ts +0 -0
- /package/dist/{types/common → common}/errors/webex-meetings-error.d.ts +0 -0
- /package/dist/{types/common → common}/events/events-scope.d.ts +0 -0
- /package/dist/{types/common → common}/events/events.d.ts +0 -0
- /package/dist/{types/common → common}/events/trigger-proxy.d.ts +0 -0
- /package/dist/{types/common → common}/events/util.d.ts +0 -0
- /package/dist/{types/common → common}/logs/logger-config.d.ts +0 -0
- /package/dist/{types/common → common}/logs/logger-proxy.d.ts +0 -0
- /package/dist/{types/common → common}/queue.d.ts +0 -0
- /package/dist/{types/controls-options-manager → controls-options-manager}/constants.d.ts +0 -0
- /package/dist/{types/controls-options-manager → controls-options-manager}/enums.d.ts +0 -0
- /package/dist/{types/controls-options-manager → controls-options-manager}/index.d.ts +0 -0
- /package/dist/{types/controls-options-manager → controls-options-manager}/types.d.ts +0 -0
- /package/dist/{types/controls-options-manager → controls-options-manager}/util.d.ts +0 -0
- /package/dist/{types/index.d.ts → index.d.ts} +0 -0
- /package/dist/{types/interceptors → interceptors}/index.d.ts +0 -0
- /package/dist/{types/interceptors → interceptors}/locusRetry.d.ts +0 -0
- /package/dist/{types/interpretation → interpretation}/collection.d.ts +0 -0
- /package/dist/{types/interpretation → interpretation}/index.d.ts +0 -0
- /package/dist/{types/interpretation → interpretation}/siLanguage.d.ts +0 -0
- /package/dist/{types/locus-info → locus-info}/controlsUtils.d.ts +0 -0
- /package/dist/{types/locus-info → locus-info}/embeddedAppsUtils.d.ts +0 -0
- /package/dist/{types/locus-info → locus-info}/fullState.d.ts +0 -0
- /package/dist/{types/locus-info → locus-info}/hostUtils.d.ts +0 -0
- /package/dist/{types/locus-info → locus-info}/index.d.ts +0 -0
- /package/dist/{types/locus-info → locus-info}/infoUtils.d.ts +0 -0
- /package/dist/{types/locus-info → locus-info}/mediaSharesUtils.d.ts +0 -0
- /package/dist/{types/locus-info → locus-info}/parser.d.ts +0 -0
- /package/dist/{types/locus-info → locus-info}/selfUtils.d.ts +0 -0
- /package/dist/{types/media → media}/index.d.ts +0 -0
- /package/dist/{types/media → media}/properties.d.ts +0 -0
- /package/dist/{types/media → media}/util.d.ts +0 -0
- /package/dist/{types/mediaQualityMetrics → mediaQualityMetrics}/config.d.ts +0 -0
- /package/dist/{types/meeting → meeting}/in-meeting-actions.d.ts +0 -0
- /package/dist/{types/meeting → meeting}/locusMediaRequest.d.ts +0 -0
- /package/dist/{types/meeting → meeting}/muteState.d.ts +0 -0
- /package/dist/{types/meeting → meeting}/request.type.d.ts +0 -0
- /package/dist/{types/meeting → meeting}/state.d.ts +0 -0
- /package/dist/{types/meeting-info → meeting-info}/collection.d.ts +0 -0
- /package/dist/{types/meeting-info → meeting-info}/index.d.ts +0 -0
- /package/dist/{types/meeting-info → meeting-info}/meeting-info-v2.d.ts +0 -0
- /package/dist/{types/meeting-info → meeting-info}/request.d.ts +0 -0
- /package/dist/{types/meeting-info → meeting-info}/util.d.ts +0 -0
- /package/dist/{types/meeting-info → meeting-info}/utilv2.d.ts +0 -0
- /package/dist/{types/meetings → meetings}/collection.d.ts +0 -0
- /package/dist/{types/meetings → meetings}/meetings.types.d.ts +0 -0
- /package/dist/{types/meetings → meetings}/request.d.ts +0 -0
- /package/dist/{types/meetings → meetings}/util.d.ts +0 -0
- /package/dist/{types/member → member}/index.d.ts +0 -0
- /package/dist/{types/member → member}/types.d.ts +0 -0
- /package/dist/{types/member → member}/util.d.ts +0 -0
- /package/dist/{types/members → members}/collection.d.ts +0 -0
- /package/dist/{types/members → members}/index.d.ts +0 -0
- /package/dist/{types/members → members}/request.d.ts +0 -0
- /package/dist/{types/members → members}/types.d.ts +0 -0
- /package/dist/{types/metrics → metrics}/constants.d.ts +0 -0
- /package/dist/{types/metrics → metrics}/index.d.ts +0 -0
- /package/dist/{types/multistream → multistream}/receiveSlot.d.ts +0 -0
- /package/dist/{types/multistream → multistream}/receiveSlotManager.d.ts +0 -0
- /package/dist/{types/multistream → multistream}/remoteMedia.d.ts +0 -0
- /package/dist/{types/networkQualityMonitor → networkQualityMonitor}/index.d.ts +0 -0
- /package/dist/{types/personal-meeting-room → personal-meeting-room}/index.d.ts +0 -0
- /package/dist/{types/personal-meeting-room → personal-meeting-room}/request.d.ts +0 -0
- /package/dist/{types/personal-meeting-room → personal-meeting-room}/util.d.ts +0 -0
- /package/dist/{types/reachability → reachability}/request.d.ts +0 -0
- /package/dist/{types/reactions → reactions}/constants.d.ts +0 -0
- /package/dist/{types/reactions → reactions}/reactions.d.ts +0 -0
- /package/dist/{types/reactions → reactions}/reactions.type.d.ts +0 -0
- /package/dist/{types/reconnection-manager → reconnection-manager}/index.d.ts +0 -0
- /package/dist/{types/recording-controller → recording-controller}/enums.d.ts +0 -0
- /package/dist/{types/recording-controller → recording-controller}/index.d.ts +0 -0
- /package/dist/{types/recording-controller → recording-controller}/util.d.ts +0 -0
- /package/dist/{types/roap → roap}/request.d.ts +0 -0
- /package/dist/{types/rtcMetrics → rtcMetrics}/constants.d.ts +0 -0
- /package/dist/{types/rtcMetrics → rtcMetrics}/index.d.ts +0 -0
- /package/dist/{types/statsAnalyzer → statsAnalyzer}/global.d.ts +0 -0
- /package/dist/{types/statsAnalyzer → statsAnalyzer}/index.d.ts +0 -0
- /package/dist/{types/statsAnalyzer → statsAnalyzer}/mqaUtil.d.ts +0 -0
- /package/dist/{types/transcription → transcription}/index.d.ts +0 -0
- /package/dist/{types/webinar → webinar}/collection.d.ts +0 -0
- /package/dist/{types/webinar → webinar}/index.d.ts +0 -0
package/dist/meeting/index.js
CHANGED
|
@@ -29,21 +29,22 @@ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-cor
|
|
|
29
29
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
30
30
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
31
31
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
32
|
-
var
|
|
33
|
-
var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
|
|
34
|
-
var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
|
|
35
|
-
var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
32
|
+
var _defineProperty3 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
36
33
|
var _uuid = _interopRequireDefault(require("uuid"));
|
|
37
|
-
var
|
|
34
|
+
var _lodash = require("lodash");
|
|
35
|
+
var _jwtDecode = _interopRequireDefault(require("jwt-decode"));
|
|
38
36
|
var _webexCore = require("@webex/webex-core");
|
|
39
37
|
var _common = require("@webex/common");
|
|
40
38
|
var _internalPluginMetrics = require("@webex/internal-plugin-metrics");
|
|
41
39
|
var _internalMediaCore = require("@webex/internal-media-core");
|
|
42
40
|
var _mediaHelpers = require("@webex/media-helpers");
|
|
41
|
+
var _internalPluginVoicea = require("@webex/internal-plugin-voicea");
|
|
42
|
+
var _voiceaMeeting = require("./voicea-meeting");
|
|
43
43
|
var _webexErrors = require("../common/errors/webex-errors");
|
|
44
44
|
var _statsAnalyzer = require("../statsAnalyzer");
|
|
45
45
|
var _networkQualityMonitor = _interopRequireDefault(require("../networkQualityMonitor"));
|
|
46
46
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
47
|
+
var _util = _interopRequireDefault(require("../common/events/util"));
|
|
47
48
|
var _triggerProxy = _interopRequireDefault(require("../common/events/trigger-proxy"));
|
|
48
49
|
var _index = _interopRequireDefault(require("../roap/index"));
|
|
49
50
|
var _media = _interopRequireDefault(require("../media"));
|
|
@@ -55,12 +56,11 @@ var _metrics = _interopRequireDefault(require("../metrics"));
|
|
|
55
56
|
var _reconnectionManager = _interopRequireDefault(require("../reconnection-manager"));
|
|
56
57
|
var _request = _interopRequireDefault(require("./request"));
|
|
57
58
|
var _index2 = _interopRequireDefault(require("../members/index"));
|
|
58
|
-
var
|
|
59
|
-
var
|
|
60
|
-
var
|
|
61
|
-
var
|
|
62
|
-
var
|
|
63
|
-
var _transcription = _interopRequireDefault(require("../transcription"));
|
|
59
|
+
var _util2 = _interopRequireDefault(require("./util"));
|
|
60
|
+
var _util3 = _interopRequireDefault(require("../meetings/util"));
|
|
61
|
+
var _util4 = _interopRequireDefault(require("../recording-controller/util"));
|
|
62
|
+
var _util5 = _interopRequireDefault(require("../controls-options-manager/util"));
|
|
63
|
+
var _util6 = _interopRequireDefault(require("../media/util"));
|
|
64
64
|
var _reactions = require("../reactions/reactions");
|
|
65
65
|
var _passwordError = _interopRequireDefault(require("../common/errors/password-error"));
|
|
66
66
|
var _captchaError = _interopRequireDefault(require("../common/errors/captcha-error"));
|
|
@@ -70,7 +70,6 @@ var _constants = require("../constants");
|
|
|
70
70
|
var _constants2 = _interopRequireDefault(require("../metrics/constants"));
|
|
71
71
|
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
72
72
|
var _meetingInfoV = require("../meeting-info/meeting-info-v2");
|
|
73
|
-
var _browserDetection = _interopRequireDefault(require("../common/browser-detection"));
|
|
74
73
|
var _receiveSlotManager = require("../multistream/receiveSlotManager");
|
|
75
74
|
var _sendSlotManager = _interopRequireDefault(require("../multistream/sendSlotManager"));
|
|
76
75
|
var _mediaRequestManager = require("../multistream/mediaRequestManager");
|
|
@@ -88,12 +87,11 @@ var _locusMediaRequest = require("./locusMediaRequest");
|
|
|
88
87
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
89
88
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
90
89
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
91
|
-
function ownKeys(
|
|
92
|
-
function _objectSpread(
|
|
90
|
+
function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
91
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty3.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
93
92
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
94
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
95
|
-
|
|
96
|
-
isBrowser = _BrowserDetection.isBrowser;
|
|
93
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } // @ts-ignore - Fix this
|
|
94
|
+
// @ts-ignore - Types not available for @webex/common
|
|
97
95
|
var logRequest = function logRequest(request, _ref) {
|
|
98
96
|
var _ref$logText = _ref.logText,
|
|
99
97
|
logText = _ref$logText === void 0 ? '' : _ref$logText;
|
|
@@ -106,19 +104,17 @@ var logRequest = function logRequest(request, _ref) {
|
|
|
106
104
|
throw error;
|
|
107
105
|
});
|
|
108
106
|
};
|
|
109
|
-
var MEDIA_UPDATE_TYPE = {
|
|
107
|
+
var MEDIA_UPDATE_TYPE = exports.MEDIA_UPDATE_TYPE = {
|
|
110
108
|
TRANSCODED_MEDIA_CONNECTION: 'TRANSCODED_MEDIA_CONNECTION',
|
|
111
109
|
SHARE_FLOOR_REQUEST: 'SHARE_FLOOR_REQUEST',
|
|
112
110
|
UPDATE_MEDIA: 'UPDATE_MEDIA'
|
|
113
111
|
};
|
|
114
|
-
exports.
|
|
115
|
-
var ScreenShareFloorStatus;
|
|
116
|
-
exports.ScreenShareFloorStatus = ScreenShareFloorStatus;
|
|
117
|
-
(function (ScreenShareFloorStatus) {
|
|
112
|
+
var ScreenShareFloorStatus = exports.ScreenShareFloorStatus = /*#__PURE__*/function (ScreenShareFloorStatus) {
|
|
118
113
|
ScreenShareFloorStatus["PENDING"] = "floor_request_pending";
|
|
119
114
|
ScreenShareFloorStatus["GRANTED"] = "floor_request_granted";
|
|
120
115
|
ScreenShareFloorStatus["RELEASED"] = "floor_released";
|
|
121
|
-
|
|
116
|
+
return ScreenShareFloorStatus;
|
|
117
|
+
}({});
|
|
122
118
|
/**
|
|
123
119
|
* MediaDirection
|
|
124
120
|
* @typedef {Object} MediaDirection
|
|
@@ -365,13 +361,9 @@ exports.ScreenShareFloorStatus = ScreenShareFloorStatus;
|
|
|
365
361
|
* @export
|
|
366
362
|
* @class Meeting
|
|
367
363
|
*/
|
|
368
|
-
var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
364
|
+
var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
369
365
|
(0, _inherits2.default)(Meeting, _StatelessWebexPlugin);
|
|
370
366
|
var _super = _createSuper(Meeting);
|
|
371
|
-
// comes from Locus, initialized by updateMeetingObject()
|
|
372
|
-
|
|
373
|
-
// used for waiting for a response
|
|
374
|
-
|
|
375
367
|
/**
|
|
376
368
|
* @param {Object} attrs
|
|
377
369
|
* @param {Object} options
|
|
@@ -390,119 +382,160 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
390
382
|
* @private
|
|
391
383
|
* @memberof Meeting
|
|
392
384
|
*/
|
|
393
|
-
(0,
|
|
394
|
-
(0,
|
|
395
|
-
(0,
|
|
396
|
-
(0,
|
|
397
|
-
(0,
|
|
398
|
-
(0,
|
|
399
|
-
(0,
|
|
400
|
-
(0,
|
|
401
|
-
(0,
|
|
402
|
-
(0,
|
|
403
|
-
(0,
|
|
404
|
-
(0,
|
|
405
|
-
(0,
|
|
406
|
-
(0,
|
|
407
|
-
(0,
|
|
408
|
-
(0,
|
|
409
|
-
(0,
|
|
410
|
-
(0,
|
|
411
|
-
(0,
|
|
412
|
-
(0,
|
|
413
|
-
(0,
|
|
414
|
-
(0,
|
|
415
|
-
(0,
|
|
416
|
-
(0,
|
|
417
|
-
(0,
|
|
418
|
-
(0,
|
|
419
|
-
(0,
|
|
420
|
-
(0,
|
|
421
|
-
(0,
|
|
422
|
-
(0,
|
|
423
|
-
(0,
|
|
424
|
-
|
|
425
|
-
(0,
|
|
426
|
-
(0,
|
|
427
|
-
(0,
|
|
428
|
-
(0,
|
|
429
|
-
(0,
|
|
430
|
-
(0,
|
|
431
|
-
(0,
|
|
432
|
-
(0,
|
|
433
|
-
(0,
|
|
434
|
-
(0,
|
|
435
|
-
(0,
|
|
436
|
-
(0,
|
|
437
|
-
(0,
|
|
438
|
-
(0,
|
|
439
|
-
(0,
|
|
440
|
-
(0,
|
|
441
|
-
(0,
|
|
442
|
-
(0,
|
|
443
|
-
(0,
|
|
444
|
-
(0,
|
|
445
|
-
(0,
|
|
446
|
-
(0,
|
|
447
|
-
(0,
|
|
448
|
-
(0,
|
|
449
|
-
(0,
|
|
450
|
-
(0,
|
|
451
|
-
(0,
|
|
452
|
-
(0,
|
|
453
|
-
(0,
|
|
454
|
-
(0,
|
|
455
|
-
(0,
|
|
456
|
-
(0,
|
|
457
|
-
(0,
|
|
458
|
-
(0,
|
|
459
|
-
(0,
|
|
460
|
-
(0,
|
|
461
|
-
(0,
|
|
462
|
-
(0,
|
|
463
|
-
(0,
|
|
464
|
-
(0,
|
|
465
|
-
(0,
|
|
466
|
-
(0,
|
|
467
|
-
(0,
|
|
468
|
-
(0,
|
|
469
|
-
(0,
|
|
470
|
-
(0,
|
|
471
|
-
(0,
|
|
472
|
-
(0,
|
|
473
|
-
(0,
|
|
474
|
-
(0,
|
|
475
|
-
(0,
|
|
476
|
-
(0,
|
|
477
|
-
(0,
|
|
478
|
-
(0,
|
|
479
|
-
(0,
|
|
480
|
-
(0,
|
|
481
|
-
(0,
|
|
482
|
-
(0,
|
|
483
|
-
(0,
|
|
484
|
-
(0,
|
|
485
|
-
(0,
|
|
486
|
-
(0,
|
|
487
|
-
(0,
|
|
488
|
-
(0,
|
|
489
|
-
(0,
|
|
490
|
-
(0,
|
|
491
|
-
(0,
|
|
492
|
-
(0,
|
|
493
|
-
(0,
|
|
494
|
-
(0,
|
|
495
|
-
(0,
|
|
496
|
-
(0,
|
|
497
|
-
(0,
|
|
498
|
-
(0,
|
|
499
|
-
(0,
|
|
500
|
-
(0,
|
|
501
|
-
(0,
|
|
502
|
-
(0,
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
385
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "attrs", void 0);
|
|
386
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "audio", void 0);
|
|
387
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "breakouts", void 0);
|
|
388
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "simultaneousInterpretation", void 0);
|
|
389
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "annotation", void 0);
|
|
390
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "webinar", void 0);
|
|
391
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "conversationUrl", void 0);
|
|
392
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "callStateForMetrics", void 0);
|
|
393
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "destination", void 0);
|
|
394
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "destinationType", void 0);
|
|
395
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "deviceUrl", void 0);
|
|
396
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "hostId", void 0);
|
|
397
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "id", void 0);
|
|
398
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "isMultistream", void 0);
|
|
399
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "locusUrl", void 0);
|
|
400
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "mediaConnections", void 0);
|
|
401
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "mediaId", void 0);
|
|
402
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "meetingFiniteStateMachine", void 0);
|
|
403
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "meetingInfo", void 0);
|
|
404
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "meetingRequest", void 0);
|
|
405
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "members", void 0);
|
|
406
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "options", void 0);
|
|
407
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "orgId", void 0);
|
|
408
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "owner", void 0);
|
|
409
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "partner", void 0);
|
|
410
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "policy", void 0);
|
|
411
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "reconnectionManager", void 0);
|
|
412
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "resource", void 0);
|
|
413
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "roap", void 0);
|
|
414
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "roapSeq", void 0);
|
|
415
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "selfUrl", void 0);
|
|
416
|
+
// comes from Locus, initialized by updateMeetingObject()
|
|
417
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "sipUri", void 0);
|
|
418
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "type", void 0);
|
|
419
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "userId", void 0);
|
|
420
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "video", void 0);
|
|
421
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "callEvents", void 0);
|
|
422
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "datachannelUrl", void 0);
|
|
423
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "deferJoin", void 0);
|
|
424
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "dialInDeviceStatus", void 0);
|
|
425
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "dialInUrl", void 0);
|
|
426
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "dialOutDeviceStatus", void 0);
|
|
427
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "dialOutUrl", void 0);
|
|
428
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "fetchMeetingInfoTimeoutId", void 0);
|
|
429
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "floorGrantPending", void 0);
|
|
430
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "hasJoinedOnce", void 0);
|
|
431
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "hasWebsocketConnected", void 0);
|
|
432
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "inMeetingActions", void 0);
|
|
433
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "isLocalShareLive", void 0);
|
|
434
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "isRoapInProgress", void 0);
|
|
435
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "keepAliveTimerId", void 0);
|
|
436
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "lastVideoLayoutInfo", void 0);
|
|
437
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "locusInfo", void 0);
|
|
438
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "locusMediaRequest", void 0);
|
|
439
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "mediaProperties", void 0);
|
|
440
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "mediaRequestManagers", void 0);
|
|
441
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "meetingInfoFailureReason", void 0);
|
|
442
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "meetingInfoFailureCode", void 0);
|
|
443
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "meetingInfoExtraParams", void 0);
|
|
444
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "networkQualityMonitor", void 0);
|
|
445
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "networkStatus", void 0);
|
|
446
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "passwordStatus", void 0);
|
|
447
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "queuedMediaUpdates", void 0);
|
|
448
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "recording", void 0);
|
|
449
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "remoteMediaManager", void 0);
|
|
450
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "recordingController", void 0);
|
|
451
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "controlsOptionsManager", void 0);
|
|
452
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "requiredCaptcha", void 0);
|
|
453
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "receiveSlotManager", void 0);
|
|
454
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "selfUserPolicies", void 0);
|
|
455
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "enforceVBGImagesURL", void 0);
|
|
456
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "shareStatus", void 0);
|
|
457
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "screenShareFloorState", void 0);
|
|
458
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "statsAnalyzer", void 0);
|
|
459
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "transcription", void 0);
|
|
460
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "updateMediaConnections", void 0);
|
|
461
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "userDisplayHints", void 0);
|
|
462
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "endCallInitJoinReq", void 0);
|
|
463
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "endJoinReqResp", void 0);
|
|
464
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "endLocalSDPGenRemoteSDPRecvDelay", void 0);
|
|
465
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "joinedWith", void 0);
|
|
466
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "locusId", void 0);
|
|
467
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "startCallInitJoinReq", void 0);
|
|
468
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "startJoinReqResp", void 0);
|
|
469
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "startLocalSDPGenRemoteSDPRecvDelay", void 0);
|
|
470
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "wirelessShare", void 0);
|
|
471
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "guest", void 0);
|
|
472
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "meetingJoinUrl", void 0);
|
|
473
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "meetingNumber", void 0);
|
|
474
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "meetingState", void 0);
|
|
475
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "permissionToken", void 0);
|
|
476
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "permissionTokenPayload", void 0);
|
|
477
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "permissionTokenReceivedLocalTime", void 0);
|
|
478
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "resourceId", void 0);
|
|
479
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "resourceUrl", void 0);
|
|
480
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "selfId", void 0);
|
|
481
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "state", void 0);
|
|
482
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "localAudioStreamMuteStateHandler", void 0);
|
|
483
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "localVideoStreamMuteStateHandler", void 0);
|
|
484
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "localOutputTrackChangeHandler", void 0);
|
|
485
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "roles", void 0);
|
|
486
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "environment", void 0);
|
|
487
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.MEETINGS);
|
|
488
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "allowMediaInLobby", void 0);
|
|
489
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "localShareInstanceId", void 0);
|
|
490
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "remoteShareInstanceId", void 0);
|
|
491
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "turnDiscoverySkippedReason", void 0);
|
|
492
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "turnServerUsed", void 0);
|
|
493
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "areVoiceaEventsSetup", false);
|
|
494
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "voiceaListenerCallbacks", (0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)((0, _defineProperty3.default)({}, _internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT, function (payload) {
|
|
495
|
+
_this.transcription.languageOptions = payload;
|
|
496
|
+
_loggerProxy.default.logger.debug("".concat(_util.default.getScopeLog({
|
|
497
|
+
file: 'meeting/index',
|
|
498
|
+
function: 'setUpVoiceaListeners'
|
|
499
|
+
}), "event#").concat(_constants.EVENT_TRIGGERS.MEETING_STARTED_RECEIVING_TRANSCRIPTION));
|
|
500
|
+
|
|
501
|
+
// @ts-ignore
|
|
502
|
+
_this.trigger(_constants.EVENT_TRIGGERS.MEETING_STARTED_RECEIVING_TRANSCRIPTION, payload);
|
|
503
|
+
}), _internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON, function () {
|
|
504
|
+
_this.transcription.status = _internalPluginVoicea.TURN_ON_CAPTION_STATUS.ENABLED;
|
|
505
|
+
}), _internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND, function (payload) {
|
|
506
|
+
var _data$text;
|
|
507
|
+
var data = payload.data;
|
|
508
|
+
_this.transcription.isListening = !!data.isListening;
|
|
509
|
+
_this.transcription.commandText = (_data$text = data.text) !== null && _data$text !== void 0 ? _data$text : '';
|
|
510
|
+
}), _internalPluginVoicea.EVENT_TRIGGERS.NEW_CAPTION, function (data) {
|
|
511
|
+
(0, _voiceaMeeting.processNewCaptions)({
|
|
512
|
+
data: data,
|
|
513
|
+
meeting: (0, _assertThisInitialized2.default)(_this)
|
|
514
|
+
});
|
|
515
|
+
_loggerProxy.default.logger.debug("".concat(_util.default.getScopeLog({
|
|
516
|
+
file: 'meeting/index',
|
|
517
|
+
function: 'setUpVoiceaListeners'
|
|
518
|
+
}), "event#").concat(_constants.EVENT_TRIGGERS.MEETING_CAPTION_RECEIVED));
|
|
519
|
+
|
|
520
|
+
// @ts-ignore
|
|
521
|
+
_this.trigger(_constants.EVENT_TRIGGERS.MEETING_CAPTION_RECEIVED, {
|
|
522
|
+
captions: _this.transcription.captions,
|
|
523
|
+
interimCaptions: _this.transcription.interimCaptions
|
|
524
|
+
});
|
|
525
|
+
}));
|
|
526
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "retriedWithTurnServer", void 0);
|
|
527
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "sendSlotManager", new _sendSlotManager.default(_loggerProxy.default));
|
|
528
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "deferSDPAnswer", void 0);
|
|
529
|
+
// used for waiting for a response
|
|
530
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "sdpResponseTimer", void 0);
|
|
531
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "hasMediaConnectionConnectedAtLeastOnce", void 0);
|
|
532
|
+
/**
|
|
533
|
+
* Callback called when a relay event is received from meeting LLM Connection
|
|
534
|
+
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
535
|
+
* @private
|
|
536
|
+
* @returns {void}
|
|
537
|
+
*/
|
|
538
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "processRelayEvent", function (e) {
|
|
506
539
|
switch (e.data.relayType) {
|
|
507
540
|
case _constants3.REACTION_RELAY_TYPES.REACTION:
|
|
508
541
|
if (
|
|
@@ -527,7 +560,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
527
560
|
break;
|
|
528
561
|
}
|
|
529
562
|
});
|
|
530
|
-
|
|
563
|
+
/**
|
|
564
|
+
* Handles ROAP_FAILURE event from the webrtc media connection
|
|
565
|
+
*
|
|
566
|
+
* @param {Error} error
|
|
567
|
+
* @returns {void}
|
|
568
|
+
*/
|
|
569
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "handleRoapFailure", function (error) {
|
|
531
570
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
532
571
|
var sendBehavioralMetric = function sendBehavioralMetric(metricName, error, correlationId) {
|
|
533
572
|
var _error$cause;
|
|
@@ -587,14 +626,25 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
587
626
|
});
|
|
588
627
|
}
|
|
589
628
|
});
|
|
590
|
-
|
|
591
|
-
|
|
629
|
+
/**
|
|
630
|
+
* Handles an incoming Roap message
|
|
631
|
+
* @internal
|
|
632
|
+
* @param {RoapMessage} roapMessage roap message
|
|
633
|
+
* @returns {undefined}
|
|
634
|
+
*/
|
|
635
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "roapMessageReceived", function (roapMessage) {
|
|
636
|
+
var mediaServer = _util3.default.getMediaServer(roapMessage.sdp);
|
|
592
637
|
_this.mediaProperties.webrtcMediaConnection.roapMessageReceived(roapMessage);
|
|
593
638
|
if (mediaServer) {
|
|
594
639
|
_this.mediaProperties.webrtcMediaConnection.mediaServer = mediaServer;
|
|
595
640
|
}
|
|
596
641
|
});
|
|
597
|
-
|
|
642
|
+
/**
|
|
643
|
+
* This function makes sure we send the right metrics when local and remote SDPs are processed/generated
|
|
644
|
+
*
|
|
645
|
+
* @returns {undefined}
|
|
646
|
+
*/
|
|
647
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "setupSdpListeners", function () {
|
|
598
648
|
_this.mediaProperties.webrtcMediaConnection.on(_internalMediaCore.Event.REMOTE_SDP_ANSWER_PROCESSED, function () {
|
|
599
649
|
// @ts-ignore
|
|
600
650
|
var cdl = _this.webex.internal.newMetrics.callDiagnosticLatencies;
|
|
@@ -640,7 +690,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
640
690
|
});
|
|
641
691
|
});
|
|
642
692
|
});
|
|
643
|
-
(0,
|
|
693
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "setupMediaConnectionListeners", function () {
|
|
644
694
|
_this.setupSdpListeners();
|
|
645
695
|
_this.mediaProperties.webrtcMediaConnection.on(_internalMediaCore.Event.ROAP_STARTED, function () {
|
|
646
696
|
_this.isRoapInProgress = true;
|
|
@@ -678,7 +728,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
678
728
|
}), {
|
|
679
729
|
logText: "".concat(LOG_HEADER, " Roap Offer")
|
|
680
730
|
}).catch(function () {
|
|
681
|
-
_this.deferSDPAnswer.reject();
|
|
731
|
+
_this.deferSDPAnswer.reject(new Error('failed to send ROAP SDP offer'));
|
|
682
732
|
clearTimeout(_this.sdpResponseTimer);
|
|
683
733
|
_this.sdpResponseTimer = undefined;
|
|
684
734
|
});
|
|
@@ -733,7 +783,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
733
783
|
_loggerProxy.default.logger.log("Meeting:index#setupMediaConnectionListeners --> REMOTE_TRACK_ADDED event received for webrtcMediaConnection: ".concat((0, _stringify.default)(event)));
|
|
734
784
|
if (event.track) {
|
|
735
785
|
var mediaTrack = event.track;
|
|
736
|
-
var remoteStream = new _mediaHelpers.RemoteStream(
|
|
786
|
+
var remoteStream = new _mediaHelpers.RemoteStream(_util6.default.createMediaStream([mediaTrack]));
|
|
737
787
|
|
|
738
788
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
739
789
|
var eventType;
|
|
@@ -882,7 +932,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
882
932
|
});
|
|
883
933
|
});
|
|
884
934
|
});
|
|
885
|
-
|
|
935
|
+
/**
|
|
936
|
+
* Registers for all required StatsAnalyzer events
|
|
937
|
+
* @private
|
|
938
|
+
* @returns {void}
|
|
939
|
+
* @memberof Meetings
|
|
940
|
+
*/
|
|
941
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "setupStatsAnalyzerEventHandlers", function () {
|
|
886
942
|
_this.statsAnalyzer.on(_statsAnalyzer.EVENTS.MEDIA_QUALITY, function (options) {
|
|
887
943
|
var _this$webex$meetings$;
|
|
888
944
|
// TODO: might have to send the same event to the developer
|
|
@@ -949,6 +1005,19 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
949
1005
|
meetingId: _this.id
|
|
950
1006
|
}
|
|
951
1007
|
});
|
|
1008
|
+
if (data.type === 'share') {
|
|
1009
|
+
// @ts-ignore
|
|
1010
|
+
_this.webex.internal.newMetrics.submitClientEvent({
|
|
1011
|
+
name: 'client.media.render.start',
|
|
1012
|
+
payload: {
|
|
1013
|
+
mediaType: 'share',
|
|
1014
|
+
shareInstanceId: _this.remoteShareInstanceId
|
|
1015
|
+
},
|
|
1016
|
+
options: {
|
|
1017
|
+
meetingId: _this.id
|
|
1018
|
+
}
|
|
1019
|
+
});
|
|
1020
|
+
}
|
|
952
1021
|
});
|
|
953
1022
|
_this.statsAnalyzer.on(_statsAnalyzer.EVENTS.REMOTE_MEDIA_STOPPED, function (data) {
|
|
954
1023
|
// @ts-ignore
|
|
@@ -962,9 +1031,28 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
962
1031
|
meetingId: _this.id
|
|
963
1032
|
}
|
|
964
1033
|
});
|
|
1034
|
+
if (data.type === 'share') {
|
|
1035
|
+
// @ts-ignore
|
|
1036
|
+
_this.webex.internal.newMetrics.submitClientEvent({
|
|
1037
|
+
name: 'client.media.render.stop',
|
|
1038
|
+
payload: {
|
|
1039
|
+
mediaType: 'share',
|
|
1040
|
+
shareInstanceId: _this.remoteShareInstanceId
|
|
1041
|
+
},
|
|
1042
|
+
options: {
|
|
1043
|
+
meetingId: _this.id
|
|
1044
|
+
}
|
|
1045
|
+
});
|
|
1046
|
+
}
|
|
965
1047
|
});
|
|
966
1048
|
});
|
|
967
|
-
|
|
1049
|
+
/**
|
|
1050
|
+
* media failed, so collect a stats report from webrtc using the wcme connection to grab the rtc stats report
|
|
1051
|
+
* send a webrtc telemetry dump to the configured server using the internal media core check metrics configured callback
|
|
1052
|
+
* @param {String} callFrom - the function calling this function, optional.
|
|
1053
|
+
* @returns {Promise<void>}
|
|
1054
|
+
*/
|
|
1055
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "forceSendStatsReport", /*#__PURE__*/function () {
|
|
968
1056
|
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref3) {
|
|
969
1057
|
var callFrom, LOG_HEADER, _this$mediaProperties, _this$mediaProperties2;
|
|
970
1058
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
@@ -993,7 +1081,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
993
1081
|
return _ref4.apply(this, arguments);
|
|
994
1082
|
};
|
|
995
1083
|
}());
|
|
996
|
-
|
|
1084
|
+
/**
|
|
1085
|
+
* emits event when the negotation is completed
|
|
1086
|
+
* @returns {void}
|
|
1087
|
+
* @private
|
|
1088
|
+
* @memberof Meeting
|
|
1089
|
+
*/
|
|
1090
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "mediaNegotiatedEvent", function () {
|
|
997
1091
|
// @ts-ignore - config coming from registerPlugin
|
|
998
1092
|
if (_this.config.experimental.enableMediaNegotiatedEvent) {
|
|
999
1093
|
_loggerProxy.default.logger.info('Meeting:mediaNegotiatedEvent --> Media server negotiated');
|
|
@@ -1003,7 +1097,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1003
1097
|
}, _constants.EVENT_TRIGGERS.MEDIA_NEGOTIATED);
|
|
1004
1098
|
}
|
|
1005
1099
|
});
|
|
1006
|
-
|
|
1100
|
+
/**
|
|
1101
|
+
* Checks if there are any queued media updates and runs the first one from
|
|
1102
|
+
* the queue if we are in a state that allows doing that.
|
|
1103
|
+
* @returns {undefined}
|
|
1104
|
+
* @public
|
|
1105
|
+
* @memberof Meeting
|
|
1106
|
+
*/
|
|
1107
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "processNextQueuedMediaUpdate", function () {
|
|
1007
1108
|
if (_this.canUpdateMedia() && _this.queuedMediaUpdates.length > 0) {
|
|
1008
1109
|
var _this$queuedMediaUpda = _this.queuedMediaUpdates.shift(),
|
|
1009
1110
|
pendingPromiseResolve = _this$queuedMediaUpda.pendingPromiseResolve,
|
|
@@ -1031,7 +1132,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1031
1132
|
});
|
|
1032
1133
|
}
|
|
1033
1134
|
});
|
|
1034
|
-
|
|
1135
|
+
/**
|
|
1136
|
+
* Functionality for when a share audio is ended.
|
|
1137
|
+
* @private
|
|
1138
|
+
* @memberof Meeting
|
|
1139
|
+
* @returns {undefined}
|
|
1140
|
+
*/
|
|
1141
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "handleShareAudioStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
1035
1142
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
1036
1143
|
while (1) switch (_context2.prev = _context2.next) {
|
|
1037
1144
|
case 0:
|
|
@@ -1061,14 +1168,27 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1061
1168
|
}
|
|
1062
1169
|
}, _callee2, null, [[4, 9]]);
|
|
1063
1170
|
})));
|
|
1064
|
-
|
|
1171
|
+
/**
|
|
1172
|
+
* Functionality for when a share video is muted or unmuted.
|
|
1173
|
+
* @private
|
|
1174
|
+
* @memberof Meeting
|
|
1175
|
+
* @param {boolean} muted
|
|
1176
|
+
* @returns {undefined}
|
|
1177
|
+
*/
|
|
1178
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "handleShareVideoStreamMuteStateChange", function (muted) {
|
|
1065
1179
|
_loggerProxy.default.logger.log("Meeting:index#handleShareVideoStreamMuteStateChange --> Share video stream mute state changed to muted ".concat(muted));
|
|
1066
1180
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_VIDEO_MUTE_STATE_CHANGE, {
|
|
1067
1181
|
correlationId: _this.correlationId,
|
|
1068
1182
|
muted: muted
|
|
1069
1183
|
});
|
|
1070
1184
|
});
|
|
1071
|
-
|
|
1185
|
+
/**
|
|
1186
|
+
* Functionality for when a share video is ended.
|
|
1187
|
+
* @private
|
|
1188
|
+
* @memberof Meeting
|
|
1189
|
+
* @returns {undefined}
|
|
1190
|
+
*/
|
|
1191
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "handleShareVideoStreamEnded", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
1072
1192
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
1073
1193
|
while (1) switch (_context3.prev = _context3.next) {
|
|
1074
1194
|
case 0:
|
|
@@ -1100,7 +1220,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1100
1220
|
}
|
|
1101
1221
|
}, _callee3, null, [[4, 9]]);
|
|
1102
1222
|
})));
|
|
1103
|
-
|
|
1223
|
+
/**
|
|
1224
|
+
* Emits meeting:stoppedSharingLocal
|
|
1225
|
+
* @private
|
|
1226
|
+
* @returns {undefined}
|
|
1227
|
+
* @memberof Meeting
|
|
1228
|
+
*/
|
|
1229
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "triggerStoppedSharing", function () {
|
|
1104
1230
|
if (!_this.mediaProperties.hasLocalShareStream()) {
|
|
1105
1231
|
_triggerProxy.default.trigger((0, _assertThisInitialized2.default)(_this), {
|
|
1106
1232
|
file: 'meeting/index',
|
|
@@ -1110,7 +1236,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1110
1236
|
});
|
|
1111
1237
|
}
|
|
1112
1238
|
});
|
|
1113
|
-
|
|
1239
|
+
/**
|
|
1240
|
+
* clear the meeting data
|
|
1241
|
+
* @returns {undefined}
|
|
1242
|
+
* @public
|
|
1243
|
+
* @memberof Meeting
|
|
1244
|
+
*/
|
|
1245
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "clearMeetingData", function () {
|
|
1114
1246
|
_this.audio = null;
|
|
1115
1247
|
_this.video = null;
|
|
1116
1248
|
_this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
@@ -1119,12 +1251,17 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1119
1251
|
}
|
|
1120
1252
|
_this.queuedMediaUpdates = [];
|
|
1121
1253
|
if (_this.transcription) {
|
|
1122
|
-
_this.
|
|
1123
|
-
_this.triggerStopReceivingTranscriptionEvent();
|
|
1254
|
+
_this.stopTranscription();
|
|
1124
1255
|
_this.transcription = undefined;
|
|
1125
1256
|
}
|
|
1126
1257
|
});
|
|
1127
|
-
|
|
1258
|
+
/**
|
|
1259
|
+
* starts keepAlives being sent
|
|
1260
|
+
* @returns {void}
|
|
1261
|
+
* @private
|
|
1262
|
+
* @memberof Meeting
|
|
1263
|
+
*/
|
|
1264
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "startKeepAlive", function () {
|
|
1128
1265
|
var _this$joinedWith, _this$joinedWith2;
|
|
1129
1266
|
if (_this.keepAliveTimerId) {
|
|
1130
1267
|
_loggerProxy.default.logger.warn('Meeting:index#startKeepAlive --> keepAlive not started: keepAliveTimerId already exists');
|
|
@@ -1154,7 +1291,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1154
1291
|
});
|
|
1155
1292
|
}, keepAliveInterval);
|
|
1156
1293
|
});
|
|
1157
|
-
|
|
1294
|
+
/**
|
|
1295
|
+
* stops keepAlives being sent
|
|
1296
|
+
* @returns {void}
|
|
1297
|
+
* @private
|
|
1298
|
+
* @memberof Meeting
|
|
1299
|
+
*/
|
|
1300
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "stopKeepAlive", function () {
|
|
1158
1301
|
if (!_this.keepAliveTimerId) {
|
|
1159
1302
|
return;
|
|
1160
1303
|
}
|
|
@@ -1537,7 +1680,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1537
1680
|
* @memberof Meeting
|
|
1538
1681
|
*/
|
|
1539
1682
|
_this.updateMediaConnections = function (mediaConnections) {
|
|
1540
|
-
if (!(0,
|
|
1683
|
+
if (!(0, _lodash.isEqual)(_this.mediaConnections, mediaConnections)) {
|
|
1541
1684
|
// grab last/latest item in the new mediaConnections information
|
|
1542
1685
|
_this.mediaConnections = mediaConnections.slice(-1);
|
|
1543
1686
|
}
|
|
@@ -1713,7 +1856,17 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1713
1856
|
* @private
|
|
1714
1857
|
* @memberof Meeting
|
|
1715
1858
|
*/
|
|
1716
|
-
_this.transcription =
|
|
1859
|
+
_this.transcription = {
|
|
1860
|
+
captions: [],
|
|
1861
|
+
isListening: false,
|
|
1862
|
+
commandText: '',
|
|
1863
|
+
languageOptions: {},
|
|
1864
|
+
showCaptionBox: false,
|
|
1865
|
+
transcribingRequestStatus: 'INACTIVE',
|
|
1866
|
+
isCaptioning: false,
|
|
1867
|
+
interimCaptions: {},
|
|
1868
|
+
speakerProxy: {}
|
|
1869
|
+
};
|
|
1717
1870
|
|
|
1718
1871
|
/**
|
|
1719
1872
|
* Password status. If it's PASSWORD_STATUS.REQUIRED then verifyPassword() needs to be called
|
|
@@ -1984,7 +2137,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1984
2137
|
*/
|
|
1985
2138
|
}, {
|
|
1986
2139
|
key: "injectMeetingInfo",
|
|
1987
|
-
value: function () {
|
|
2140
|
+
value: (function () {
|
|
1988
2141
|
var _injectMeetingInfo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(meetingInfo, fetchParams, meetingLookupUrl) {
|
|
1989
2142
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
1990
2143
|
while (1) switch (_context4.prev = _context4.next) {
|
|
@@ -2014,6 +2167,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2014
2167
|
* @returns {Promise<void>}
|
|
2015
2168
|
* @private
|
|
2016
2169
|
*/
|
|
2170
|
+
)
|
|
2017
2171
|
}, {
|
|
2018
2172
|
key: "prepForFetchMeetingInfo",
|
|
2019
2173
|
value: function prepForFetchMeetingInfo(_ref7, caller) {
|
|
@@ -2034,7 +2188,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2034
2188
|
if (password && this.passwordStatus !== _constants.PASSWORD_STATUS.REQUIRED && this.passwordStatus !== _constants.PASSWORD_STATUS.UNKNOWN) {
|
|
2035
2189
|
return _promise.default.reject(new Error("".concat(caller, "() called with password when password was not required")));
|
|
2036
2190
|
}
|
|
2037
|
-
this.meetingInfoExtraParams = (0,
|
|
2191
|
+
this.meetingInfoExtraParams = (0, _lodash.cloneDeep)(extraParams);
|
|
2038
2192
|
return _promise.default.resolve();
|
|
2039
2193
|
}
|
|
2040
2194
|
|
|
@@ -2045,7 +2199,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2045
2199
|
*/
|
|
2046
2200
|
}, {
|
|
2047
2201
|
key: "fetchMeetingInfoInternal",
|
|
2048
|
-
value: function () {
|
|
2202
|
+
value: (function () {
|
|
2049
2203
|
var _fetchMeetingInfoInternal = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(_ref8) {
|
|
2050
2204
|
var destination, destinationType, _ref8$password, password, _ref8$captchaCode, captchaCode, _ref8$extraParams, extraParams, _ref8$sendCAevents, sendCAevents, captchaInfo, info, _err$body, _err$body2;
|
|
2051
2205
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
@@ -2141,9 +2295,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2141
2295
|
* @param {string} [reason] used for metrics and logging purposes (optional)
|
|
2142
2296
|
* @returns {Promise}
|
|
2143
2297
|
*/
|
|
2298
|
+
)
|
|
2144
2299
|
}, {
|
|
2145
2300
|
key: "refreshPermissionToken",
|
|
2146
|
-
value: function () {
|
|
2301
|
+
value: (function () {
|
|
2147
2302
|
var _refreshPermissionToken = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(reason) {
|
|
2148
2303
|
var _this$meetingInfo;
|
|
2149
2304
|
var isStartingSpaceInstantV2Meeting, destination, destinationType, permissionTokenExpiryInfo, timeLeft, expiryTime, currentTime;
|
|
@@ -2221,9 +2376,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2221
2376
|
* @memberof Meeting
|
|
2222
2377
|
* @returns {Promise}
|
|
2223
2378
|
*/
|
|
2379
|
+
)
|
|
2224
2380
|
}, {
|
|
2225
2381
|
key: "fetchMeetingInfo",
|
|
2226
|
-
value: function () {
|
|
2382
|
+
value: (function () {
|
|
2227
2383
|
var _fetchMeetingInfo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(options) {
|
|
2228
2384
|
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
2229
2385
|
while (1) switch (_context7.prev = _context7.next) {
|
|
@@ -2256,6 +2412,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2256
2412
|
* @memberof Meeting
|
|
2257
2413
|
* @returns {Promise<{isPasswordValid: boolean, requiredCaptcha: boolean, failureReason: MEETING_INFO_FAILURE_REASON}>}
|
|
2258
2414
|
*/
|
|
2415
|
+
)
|
|
2259
2416
|
}, {
|
|
2260
2417
|
key: "verifyPassword",
|
|
2261
2418
|
value: function verifyPassword(password, captchaCode) {
|
|
@@ -2432,12 +2589,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2432
2589
|
key: "setUpInterpretationListener",
|
|
2433
2590
|
value: function setUpInterpretationListener() {
|
|
2434
2591
|
var _this5 = this;
|
|
2592
|
+
// TODO: check if its getting used or not
|
|
2435
2593
|
this.simultaneousInterpretation.on(_constants.INTERPRETATION.EVENTS.SUPPORT_LANGUAGES_UPDATE, function () {
|
|
2436
2594
|
_triggerProxy.default.trigger(_this5, {
|
|
2437
2595
|
file: 'meeting/index',
|
|
2438
2596
|
function: 'setUpInterpretationListener'
|
|
2439
2597
|
}, _constants.EVENT_TRIGGERS.MEETING_INTERPRETATION_SUPPORT_LANGUAGES_UPDATE);
|
|
2440
2598
|
});
|
|
2599
|
+
// TODO: check if its getting used or not
|
|
2441
2600
|
this.simultaneousInterpretation.on(_constants.INTERPRETATION.EVENTS.HANDOFF_REQUESTS_ARRIVED, function (payload) {
|
|
2442
2601
|
_triggerProxy.default.trigger(_this5, {
|
|
2443
2602
|
file: 'meeting/index',
|
|
@@ -2446,6 +2605,32 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2446
2605
|
});
|
|
2447
2606
|
}
|
|
2448
2607
|
|
|
2608
|
+
/**
|
|
2609
|
+
* Set up the listeners for captions
|
|
2610
|
+
* @returns {undefined}
|
|
2611
|
+
* @private
|
|
2612
|
+
* @memberof Meeting
|
|
2613
|
+
*/
|
|
2614
|
+
}, {
|
|
2615
|
+
key: "setUpVoiceaListeners",
|
|
2616
|
+
value: function setUpVoiceaListeners() {
|
|
2617
|
+
// @ts-ignore
|
|
2618
|
+
this.webex.internal.voicea.listenToEvents();
|
|
2619
|
+
|
|
2620
|
+
// @ts-ignore
|
|
2621
|
+
this.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT]);
|
|
2622
|
+
|
|
2623
|
+
// @ts-ignore
|
|
2624
|
+
this.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON]);
|
|
2625
|
+
|
|
2626
|
+
// @ts-ignore
|
|
2627
|
+
this.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND]);
|
|
2628
|
+
|
|
2629
|
+
// @ts-ignore
|
|
2630
|
+
this.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.NEW_CAPTION, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.NEW_CAPTION]);
|
|
2631
|
+
this.areVoiceaEventsSetup = true;
|
|
2632
|
+
}
|
|
2633
|
+
|
|
2449
2634
|
/**
|
|
2450
2635
|
* Set up the locus info listener for meetings disconnected due to inactivity
|
|
2451
2636
|
* @returns {undefined}
|
|
@@ -2734,17 +2919,20 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2734
2919
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIBE_UPDATED, function (_ref11) {
|
|
2735
2920
|
var caption = _ref11.caption,
|
|
2736
2921
|
transcribing = _ref11.transcribing;
|
|
2737
|
-
//
|
|
2738
|
-
if (
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2922
|
+
// user need to be joined to start the llm and receive transcription
|
|
2923
|
+
if (_this13.isJoined()) {
|
|
2924
|
+
// @ts-ignore - config coming from registerPlugin
|
|
2925
|
+
if (transcribing && !_this13.transcription) {
|
|
2926
|
+
_this13.startTranscription();
|
|
2927
|
+
} else if (!transcribing && _this13.transcription) {
|
|
2928
|
+
_triggerProxy.default.trigger(_this13, {
|
|
2929
|
+
file: 'meeting/index',
|
|
2930
|
+
function: 'setupLocusControlsListener'
|
|
2931
|
+
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_RECEIVING_TRANSCRIPTION, {
|
|
2932
|
+
caption: caption,
|
|
2933
|
+
transcribing: transcribing
|
|
2934
|
+
});
|
|
2935
|
+
}
|
|
2748
2936
|
}
|
|
2749
2937
|
});
|
|
2750
2938
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_BREAKOUT_UPDATED, function (_ref12) {
|
|
@@ -2846,7 +3034,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2846
3034
|
}, {
|
|
2847
3035
|
key: "triggerAnnotationInfoEvent",
|
|
2848
3036
|
value: function triggerAnnotationInfoEvent(contentShare, previousContentShare) {
|
|
2849
|
-
if (contentShare !== null && contentShare !== void 0 && contentShare.annotation && !(0,
|
|
3037
|
+
if (contentShare !== null && contentShare !== void 0 && contentShare.annotation && !(0, _lodash.isEqual)(contentShare === null || contentShare === void 0 ? void 0 : contentShare.annotation, previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.annotation)) {
|
|
2850
3038
|
_triggerProxy.default.trigger(
|
|
2851
3039
|
// @ts-ignore
|
|
2852
3040
|
this.webex.meetings, {
|
|
@@ -2854,7 +3042,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2854
3042
|
function: 'triggerAnnotationInfoEvent'
|
|
2855
3043
|
}, _constants.EVENT_TRIGGERS.MEETING_UPDATE_ANNOTATION_INFO, {
|
|
2856
3044
|
annotationInfo: contentShare === null || contentShare === void 0 ? void 0 : contentShare.annotation,
|
|
2857
|
-
meetingId: this.id
|
|
3045
|
+
meetingId: this.id,
|
|
3046
|
+
resourceType: contentShare === null || contentShare === void 0 ? void 0 : contentShare.resourceType
|
|
2858
3047
|
});
|
|
2859
3048
|
}
|
|
2860
3049
|
}
|
|
@@ -2883,7 +3072,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2883
3072
|
previousContentShare = (_payload$previous = payload.previous) === null || _payload$previous === void 0 ? void 0 : _payload$previous.content;
|
|
2884
3073
|
previousWhiteboardShare = (_payload$previous2 = payload.previous) === null || _payload$previous2 === void 0 ? void 0 : _payload$previous2.whiteboard;
|
|
2885
3074
|
_this14.triggerAnnotationInfoEvent(contentShare, previousContentShare);
|
|
2886
|
-
if (!(contentShare.beneficiaryId === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.beneficiaryId) && contentShare.disposition === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.disposition) && contentShare.deviceUrlSharing === previousContentShare.deviceUrlSharing && whiteboardShare.beneficiaryId === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.beneficiaryId) && whiteboardShare.disposition === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.disposition) && whiteboardShare.resourceUrl === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.resourceUrl))) {
|
|
3075
|
+
if (!(contentShare.beneficiaryId === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.beneficiaryId) && contentShare.disposition === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.disposition) && contentShare.deviceUrlSharing === previousContentShare.deviceUrlSharing && whiteboardShare.beneficiaryId === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.beneficiaryId) && whiteboardShare.disposition === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.disposition) && whiteboardShare.resourceUrl === (previousWhiteboardShare === null || previousWhiteboardShare === void 0 ? void 0 : previousWhiteboardShare.resourceUrl) && contentShare.resourceType === (previousContentShare === null || previousContentShare === void 0 ? void 0 : previousContentShare.resourceType))) {
|
|
2887
3076
|
_context8.next = 6;
|
|
2888
3077
|
break;
|
|
2889
3078
|
}
|
|
@@ -2964,7 +3153,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2964
3153
|
memberId: contentShare.beneficiaryId,
|
|
2965
3154
|
url: contentShare.url,
|
|
2966
3155
|
shareInstanceId: _this14.remoteShareInstanceId,
|
|
2967
|
-
annotationInfo: contentShare.annotation
|
|
3156
|
+
annotationInfo: contentShare.annotation,
|
|
3157
|
+
resourceType: contentShare.resourceType
|
|
2968
3158
|
});
|
|
2969
3159
|
};
|
|
2970
3160
|
_context8.prev = 26;
|
|
@@ -3036,7 +3226,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3036
3226
|
memberId: contentShare.beneficiaryId,
|
|
3037
3227
|
url: contentShare.url,
|
|
3038
3228
|
shareInstanceId: _this14.remoteShareInstanceId,
|
|
3039
|
-
annotationInfo: contentShare.annotation
|
|
3229
|
+
annotationInfo: contentShare.annotation,
|
|
3230
|
+
resourceType: contentShare.resourceType
|
|
3040
3231
|
});
|
|
3041
3232
|
_this14.members.locusMediaSharesUpdate(payload);
|
|
3042
3233
|
} else if (newShareStatus === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE) {
|
|
@@ -3293,25 +3484,39 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3293
3484
|
});
|
|
3294
3485
|
}
|
|
3295
3486
|
});
|
|
3296
|
-
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, function (
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3487
|
+
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
3488
|
+
var _ref24 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
|
|
3489
|
+
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
3490
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
3491
|
+
case 0:
|
|
3492
|
+
_this19.stopKeepAlive();
|
|
3493
|
+
if (payload) {
|
|
3494
|
+
_triggerProxy.default.trigger(_this19, {
|
|
3495
|
+
file: 'meeting/index',
|
|
3496
|
+
function: 'setUpLocusInfoSelfListener'
|
|
3497
|
+
}, _constants.EVENT_TRIGGERS.MEETING_SELF_GUEST_ADMITTED, {
|
|
3498
|
+
payload: payload
|
|
3499
|
+
});
|
|
3305
3500
|
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3501
|
+
// @ts-ignore
|
|
3502
|
+
_this19.webex.internal.newMetrics.submitClientEvent({
|
|
3503
|
+
name: 'client.lobby.exited',
|
|
3504
|
+
options: {
|
|
3505
|
+
meetingId: _this19.id
|
|
3506
|
+
}
|
|
3507
|
+
});
|
|
3508
|
+
}
|
|
3509
|
+
_this19.updateLLMConnection();
|
|
3510
|
+
case 3:
|
|
3511
|
+
case "end":
|
|
3512
|
+
return _context9.stop();
|
|
3311
3513
|
}
|
|
3312
|
-
});
|
|
3313
|
-
}
|
|
3314
|
-
|
|
3514
|
+
}, _callee9);
|
|
3515
|
+
}));
|
|
3516
|
+
return function (_x9) {
|
|
3517
|
+
return _ref24.apply(this, arguments);
|
|
3518
|
+
};
|
|
3519
|
+
}());
|
|
3315
3520
|
|
|
3316
3521
|
// @ts-ignore - check if MEDIA_INACTIVITY exists
|
|
3317
3522
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEDIA_INACTIVITY, function () {
|
|
@@ -3414,52 +3619,52 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3414
3619
|
}
|
|
3415
3620
|
});
|
|
3416
3621
|
this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
|
|
3417
|
-
var
|
|
3418
|
-
return _regenerator.default.wrap(function
|
|
3419
|
-
while (1) switch (
|
|
3622
|
+
var _ref25 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(payload) {
|
|
3623
|
+
return _regenerator.default.wrap(function _callee10$(_context10) {
|
|
3624
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
3420
3625
|
case 0:
|
|
3421
3626
|
if (!_this20.wirelessShare) {
|
|
3422
|
-
|
|
3627
|
+
_context10.next = 7;
|
|
3423
3628
|
break;
|
|
3424
3629
|
}
|
|
3425
3630
|
if (!_this20.mediaProperties.shareVideoStream) {
|
|
3426
|
-
|
|
3631
|
+
_context10.next = 4;
|
|
3427
3632
|
break;
|
|
3428
3633
|
}
|
|
3429
|
-
|
|
3634
|
+
_context10.next = 4;
|
|
3430
3635
|
return _this20.setLocalShareVideoStream(undefined);
|
|
3431
3636
|
case 4:
|
|
3432
3637
|
if (!_this20.mediaProperties.shareAudioStream) {
|
|
3433
|
-
|
|
3638
|
+
_context10.next = 7;
|
|
3434
3639
|
break;
|
|
3435
3640
|
}
|
|
3436
|
-
|
|
3641
|
+
_context10.next = 7;
|
|
3437
3642
|
return _this20.setLocalShareAudioStream(undefined);
|
|
3438
3643
|
case 7:
|
|
3439
3644
|
if (!payload.shouldLeave) {
|
|
3440
|
-
|
|
3645
|
+
_context10.next = 19;
|
|
3441
3646
|
break;
|
|
3442
3647
|
}
|
|
3443
|
-
|
|
3444
|
-
|
|
3648
|
+
_context10.prev = 8;
|
|
3649
|
+
_context10.next = 11;
|
|
3445
3650
|
return _this20.leave({
|
|
3446
3651
|
reason: payload.reason
|
|
3447
3652
|
});
|
|
3448
3653
|
case 11:
|
|
3449
3654
|
_loggerProxy.default.logger.warn('Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. The meeting has been left, but has not been destroyed, you should see a later event for leave.');
|
|
3450
|
-
|
|
3655
|
+
_context10.next = 17;
|
|
3451
3656
|
break;
|
|
3452
3657
|
case 14:
|
|
3453
|
-
|
|
3454
|
-
|
|
3658
|
+
_context10.prev = 14;
|
|
3659
|
+
_context10.t0 = _context10["catch"](8);
|
|
3455
3660
|
// @ts-ignore
|
|
3456
|
-
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this20, ", error: ").concat(
|
|
3661
|
+
_loggerProxy.default.logger.error("Meeting:index#setUpLocusInfoMeetingListener --> DESTROY_MEETING. Issue with leave for meeting, meeting still in collection: ".concat(_this20, ", error: ").concat(_context10.t0));
|
|
3457
3662
|
case 17:
|
|
3458
|
-
|
|
3663
|
+
_context10.next = 22;
|
|
3459
3664
|
break;
|
|
3460
3665
|
case 19:
|
|
3461
3666
|
_loggerProxy.default.logger.info('Meeting:index#setUpLocusInfoMeetingListener --> MEETING_REMOVED_REASON', payload.reason);
|
|
3462
|
-
|
|
3667
|
+
_util2.default.cleanUp(_this20);
|
|
3463
3668
|
_triggerProxy.default.trigger(_this20, {
|
|
3464
3669
|
file: 'meeting/index',
|
|
3465
3670
|
function: 'setUpLocusInfoMeetingListener'
|
|
@@ -3469,12 +3674,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3469
3674
|
});
|
|
3470
3675
|
case 22:
|
|
3471
3676
|
case "end":
|
|
3472
|
-
return
|
|
3677
|
+
return _context10.stop();
|
|
3473
3678
|
}
|
|
3474
|
-
},
|
|
3679
|
+
}, _callee10, null, [[8, 14]]);
|
|
3475
3680
|
}));
|
|
3476
|
-
return function (
|
|
3477
|
-
return
|
|
3681
|
+
return function (_x10) {
|
|
3682
|
+
return _ref25.apply(this, arguments);
|
|
3478
3683
|
};
|
|
3479
3684
|
}());
|
|
3480
3685
|
}
|
|
@@ -3669,12 +3874,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3669
3874
|
}
|
|
3670
3875
|
this.owner = ((_locusMeetingObject6 = locusMeetingObject) === null || _locusMeetingObject6 === void 0 ? void 0 : _locusMeetingObject6.info.owner) || (meetingInfo === null || meetingInfo === void 0 ? void 0 : meetingInfo.owner) || (meetingInfo === null || meetingInfo === void 0 ? void 0 : meetingInfo.hostId) || this.owner;
|
|
3671
3876
|
this.permissionToken = meetingInfo === null || meetingInfo === void 0 ? void 0 : meetingInfo.permissionToken;
|
|
3672
|
-
this.
|
|
3673
|
-
|
|
3877
|
+
if (this.permissionToken) {
|
|
3878
|
+
this.setPermissionTokenPayload(meetingInfo === null || meetingInfo === void 0 ? void 0 : meetingInfo.permissionToken);
|
|
3879
|
+
this.setSelfUserPolicies();
|
|
3880
|
+
}
|
|
3674
3881
|
// Need to populate environment when sending CA event
|
|
3675
3882
|
this.environment = ((_locusMeetingObject7 = locusMeetingObject) === null || _locusMeetingObject7 === void 0 ? void 0 : _locusMeetingObject7.info.channel) || (meetingInfo === null || meetingInfo === void 0 ? void 0 : meetingInfo.channel);
|
|
3676
3883
|
}
|
|
3677
|
-
|
|
3884
|
+
_util2.default.parseInterpretationInfo(this, meetingInfo);
|
|
3678
3885
|
}
|
|
3679
3886
|
|
|
3680
3887
|
/**
|
|
@@ -3691,7 +3898,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3691
3898
|
|
|
3692
3899
|
// 1-2-1 calls and SIP dialling will have no meeting info
|
|
3693
3900
|
// so cannot support policy information
|
|
3694
|
-
if ((0,
|
|
3901
|
+
if ((0, _lodash.isEmpty)(this.meetingInfo)) {
|
|
3695
3902
|
return false;
|
|
3696
3903
|
}
|
|
3697
3904
|
return true;
|
|
@@ -3709,175 +3916,175 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3709
3916
|
var _this$meetingInfo2, _this$meetingInfo3, _this$meetingInfo4, _this$meetingInfo4$vi, _this$meetingInfo5, _this$meetingInfo5$vi;
|
|
3710
3917
|
var changed = false;
|
|
3711
3918
|
changed = this.inMeetingActions.set({
|
|
3712
|
-
canUseVoip: ((_this$meetingInfo2 = this.meetingInfo) === null || _this$meetingInfo2 === void 0 ? void 0 : _this$meetingInfo2.supportVoIP) === true &&
|
|
3919
|
+
canUseVoip: ((_this$meetingInfo2 = this.meetingInfo) === null || _this$meetingInfo2 === void 0 ? void 0 : _this$meetingInfo2.supportVoIP) === true && _util5.default.hasPolicies({
|
|
3713
3920
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_VOIP],
|
|
3714
3921
|
policies: this.selfUserPolicies
|
|
3715
3922
|
}) || !this.arePolicyRestrictionsSupported(),
|
|
3716
|
-
canDoVideo:
|
|
3923
|
+
canDoVideo: _util5.default.hasPolicies({
|
|
3717
3924
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_VIDEO],
|
|
3718
3925
|
policies: this.selfUserPolicies
|
|
3719
3926
|
}) && !!((_this$meetingInfo3 = this.meetingInfo) !== null && _this$meetingInfo3 !== void 0 && _this$meetingInfo3.video) || !this.arePolicyRestrictionsSupported(),
|
|
3720
|
-
supportHDV:
|
|
3927
|
+
supportHDV: _util5.default.hasPolicies({
|
|
3721
3928
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_HDV],
|
|
3722
3929
|
policies: this.selfUserPolicies
|
|
3723
3930
|
}) && ((_this$meetingInfo4 = this.meetingInfo) === null || _this$meetingInfo4 === void 0 ? void 0 : (_this$meetingInfo4$vi = _this$meetingInfo4.video) === null || _this$meetingInfo4$vi === void 0 ? void 0 : _this$meetingInfo4$vi.supportHDV) || !this.arePolicyRestrictionsSupported(),
|
|
3724
|
-
enforceVirtualBackground:
|
|
3931
|
+
enforceVirtualBackground: _util5.default.hasPolicies({
|
|
3725
3932
|
requiredPolicies: [_constants.SELF_POLICY.ENFORCE_VIRTUAL_BACKGROUND],
|
|
3726
3933
|
policies: this.selfUserPolicies
|
|
3727
3934
|
}) && this.arePolicyRestrictionsSupported(),
|
|
3728
|
-
supportHQV:
|
|
3935
|
+
supportHQV: _util5.default.hasPolicies({
|
|
3729
3936
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_HQV],
|
|
3730
3937
|
policies: this.selfUserPolicies
|
|
3731
3938
|
}) && ((_this$meetingInfo5 = this.meetingInfo) === null || _this$meetingInfo5 === void 0 ? void 0 : (_this$meetingInfo5$vi = _this$meetingInfo5.video) === null || _this$meetingInfo5$vi === void 0 ? void 0 : _this$meetingInfo5$vi.supportHQV) || !this.arePolicyRestrictionsSupported()
|
|
3732
3939
|
});
|
|
3733
3940
|
if (this.userDisplayHints !== undefined) {
|
|
3734
3941
|
changed = this.inMeetingActions.set({
|
|
3735
|
-
canInviteNewParticipants:
|
|
3736
|
-
canAdmitParticipant:
|
|
3737
|
-
canLock:
|
|
3738
|
-
canUnlock:
|
|
3739
|
-
canShareWhiteBoard:
|
|
3740
|
-
canSetDisallowUnmute:
|
|
3741
|
-
canUnsetDisallowUnmute:
|
|
3742
|
-
canSetMuteOnEntry:
|
|
3743
|
-
canUnsetMuteOnEntry:
|
|
3744
|
-
canSetMuted:
|
|
3745
|
-
canUnsetMuted:
|
|
3746
|
-
canStartRecording:
|
|
3747
|
-
canStopRecording:
|
|
3748
|
-
canPauseRecording:
|
|
3749
|
-
canResumeRecording:
|
|
3750
|
-
canRaiseHand:
|
|
3751
|
-
canLowerAllHands:
|
|
3752
|
-
canLowerSomeoneElsesHand:
|
|
3753
|
-
bothLeaveAndEndMeetingAvailable:
|
|
3754
|
-
canEnableClosedCaption:
|
|
3755
|
-
canStartTranscribing:
|
|
3756
|
-
canStopTranscribing:
|
|
3757
|
-
isClosedCaptionActive:
|
|
3758
|
-
isSaveTranscriptsEnabled:
|
|
3759
|
-
isWebexAssistantActive:
|
|
3760
|
-
canViewCaptionPanel:
|
|
3761
|
-
isRealTimeTranslationEnabled:
|
|
3762
|
-
canSelectSpokenLanguages:
|
|
3763
|
-
waitingForOthersToJoin:
|
|
3764
|
-
canSendReactions:
|
|
3765
|
-
canManageBreakout:
|
|
3766
|
-
canBroadcastMessageToBreakout:
|
|
3767
|
-
canAdmitLobbyToBreakout:
|
|
3768
|
-
isBreakoutPreassignmentsEnabled:
|
|
3769
|
-
canUserAskForHelp:
|
|
3770
|
-
canUserRenameSelfAndObserved:
|
|
3771
|
-
canUserRenameOthers:
|
|
3772
|
-
canMuteAll:
|
|
3942
|
+
canInviteNewParticipants: _util2.default.canInviteNewParticipants(this.userDisplayHints),
|
|
3943
|
+
canAdmitParticipant: _util2.default.canAdmitParticipant(this.userDisplayHints),
|
|
3944
|
+
canLock: _util2.default.canUserLock(this.userDisplayHints),
|
|
3945
|
+
canUnlock: _util2.default.canUserUnlock(this.userDisplayHints),
|
|
3946
|
+
canShareWhiteBoard: _util2.default.canShareWhiteBoard(this.userDisplayHints),
|
|
3947
|
+
canSetDisallowUnmute: _util5.default.canSetDisallowUnmute(this.userDisplayHints),
|
|
3948
|
+
canUnsetDisallowUnmute: _util5.default.canUnsetDisallowUnmute(this.userDisplayHints),
|
|
3949
|
+
canSetMuteOnEntry: _util5.default.canSetMuteOnEntry(this.userDisplayHints),
|
|
3950
|
+
canUnsetMuteOnEntry: _util5.default.canUnsetMuteOnEntry(this.userDisplayHints),
|
|
3951
|
+
canSetMuted: _util5.default.canSetMuted(this.userDisplayHints),
|
|
3952
|
+
canUnsetMuted: _util5.default.canUnsetMuted(this.userDisplayHints),
|
|
3953
|
+
canStartRecording: _util4.default.canUserStart(this.userDisplayHints, this.selfUserPolicies),
|
|
3954
|
+
canStopRecording: _util4.default.canUserStop(this.userDisplayHints, this.selfUserPolicies),
|
|
3955
|
+
canPauseRecording: _util4.default.canUserPause(this.userDisplayHints, this.selfUserPolicies),
|
|
3956
|
+
canResumeRecording: _util4.default.canUserResume(this.userDisplayHints, this.selfUserPolicies),
|
|
3957
|
+
canRaiseHand: _util2.default.canUserRaiseHand(this.userDisplayHints),
|
|
3958
|
+
canLowerAllHands: _util2.default.canUserLowerAllHands(this.userDisplayHints),
|
|
3959
|
+
canLowerSomeoneElsesHand: _util2.default.canUserLowerSomeoneElsesHand(this.userDisplayHints),
|
|
3960
|
+
bothLeaveAndEndMeetingAvailable: _util2.default.bothLeaveAndEndMeetingAvailable(this.userDisplayHints),
|
|
3961
|
+
canEnableClosedCaption: _util2.default.canEnableClosedCaption(this.userDisplayHints),
|
|
3962
|
+
canStartTranscribing: _util2.default.canStartTranscribing(this.userDisplayHints),
|
|
3963
|
+
canStopTranscribing: _util2.default.canStopTranscribing(this.userDisplayHints),
|
|
3964
|
+
isClosedCaptionActive: _util2.default.isClosedCaptionActive(this.userDisplayHints),
|
|
3965
|
+
isSaveTranscriptsEnabled: _util2.default.isSaveTranscriptsEnabled(this.userDisplayHints),
|
|
3966
|
+
isWebexAssistantActive: _util2.default.isWebexAssistantActive(this.userDisplayHints),
|
|
3967
|
+
canViewCaptionPanel: _util2.default.canViewCaptionPanel(this.userDisplayHints),
|
|
3968
|
+
isRealTimeTranslationEnabled: _util2.default.isRealTimeTranslationEnabled(this.userDisplayHints),
|
|
3969
|
+
canSelectSpokenLanguages: _util2.default.canSelectSpokenLanguages(this.userDisplayHints),
|
|
3970
|
+
waitingForOthersToJoin: _util2.default.waitingForOthersToJoin(this.userDisplayHints),
|
|
3971
|
+
canSendReactions: _util2.default.canSendReactions(this.inMeetingActions.canSendReactions, this.userDisplayHints),
|
|
3972
|
+
canManageBreakout: _util2.default.canManageBreakout(this.userDisplayHints),
|
|
3973
|
+
canBroadcastMessageToBreakout: _util2.default.canBroadcastMessageToBreakout(this.userDisplayHints, this.selfUserPolicies),
|
|
3974
|
+
canAdmitLobbyToBreakout: _util2.default.canAdmitLobbyToBreakout(this.userDisplayHints),
|
|
3975
|
+
isBreakoutPreassignmentsEnabled: _util2.default.isBreakoutPreassignmentsEnabled(this.userDisplayHints),
|
|
3976
|
+
canUserAskForHelp: _util2.default.canUserAskForHelp(this.userDisplayHints),
|
|
3977
|
+
canUserRenameSelfAndObserved: _util2.default.canUserRenameSelfAndObserved(this.userDisplayHints),
|
|
3978
|
+
canUserRenameOthers: _util2.default.canUserRenameOthers(this.userDisplayHints),
|
|
3979
|
+
canMuteAll: _util5.default.hasHints({
|
|
3773
3980
|
requiredHints: [_constants.DISPLAY_HINTS.MUTE_ALL],
|
|
3774
3981
|
displayHints: this.userDisplayHints
|
|
3775
3982
|
}),
|
|
3776
|
-
canUnmuteAll:
|
|
3983
|
+
canUnmuteAll: _util5.default.hasHints({
|
|
3777
3984
|
requiredHints: [_constants.DISPLAY_HINTS.UNMUTE_ALL],
|
|
3778
3985
|
displayHints: this.userDisplayHints
|
|
3779
3986
|
}),
|
|
3780
|
-
canEnableHardMute:
|
|
3987
|
+
canEnableHardMute: _util5.default.hasHints({
|
|
3781
3988
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_HARD_MUTE],
|
|
3782
3989
|
displayHints: this.userDisplayHints
|
|
3783
3990
|
}),
|
|
3784
|
-
canDisableHardMute:
|
|
3991
|
+
canDisableHardMute: _util5.default.hasHints({
|
|
3785
3992
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_HARD_MUTE],
|
|
3786
3993
|
displayHints: this.userDisplayHints
|
|
3787
3994
|
}),
|
|
3788
|
-
canEnableMuteOnEntry:
|
|
3995
|
+
canEnableMuteOnEntry: _util5.default.hasHints({
|
|
3789
3996
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_MUTE_ON_ENTRY],
|
|
3790
3997
|
displayHints: this.userDisplayHints
|
|
3791
3998
|
}),
|
|
3792
|
-
canDisableMuteOnEntry:
|
|
3999
|
+
canDisableMuteOnEntry: _util5.default.hasHints({
|
|
3793
4000
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_MUTE_ON_ENTRY],
|
|
3794
4001
|
displayHints: this.userDisplayHints
|
|
3795
4002
|
}),
|
|
3796
|
-
canEnableReactions:
|
|
4003
|
+
canEnableReactions: _util5.default.hasHints({
|
|
3797
4004
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_REACTIONS],
|
|
3798
4005
|
displayHints: this.userDisplayHints
|
|
3799
4006
|
}),
|
|
3800
|
-
canDisableReactions:
|
|
4007
|
+
canDisableReactions: _util5.default.hasHints({
|
|
3801
4008
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_REACTIONS],
|
|
3802
4009
|
displayHints: this.userDisplayHints
|
|
3803
4010
|
}),
|
|
3804
|
-
canEnableReactionDisplayNames:
|
|
4011
|
+
canEnableReactionDisplayNames: _util5.default.hasHints({
|
|
3805
4012
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_SHOW_DISPLAY_NAME],
|
|
3806
4013
|
displayHints: this.userDisplayHints
|
|
3807
4014
|
}),
|
|
3808
|
-
canDisableReactionDisplayNames:
|
|
4015
|
+
canDisableReactionDisplayNames: _util5.default.hasHints({
|
|
3809
4016
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_SHOW_DISPLAY_NAME],
|
|
3810
4017
|
displayHints: this.userDisplayHints
|
|
3811
4018
|
}),
|
|
3812
|
-
canUpdateShareControl:
|
|
4019
|
+
canUpdateShareControl: _util5.default.hasHints({
|
|
3813
4020
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_CONTROL],
|
|
3814
4021
|
displayHints: this.userDisplayHints
|
|
3815
4022
|
}),
|
|
3816
|
-
canEnableViewTheParticipantsList:
|
|
4023
|
+
canEnableViewTheParticipantsList: _util5.default.hasHints({
|
|
3817
4024
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_VIEW_THE_PARTICIPANT_LIST],
|
|
3818
4025
|
displayHints: this.userDisplayHints
|
|
3819
4026
|
}),
|
|
3820
|
-
canDisableViewTheParticipantsList:
|
|
4027
|
+
canDisableViewTheParticipantsList: _util5.default.hasHints({
|
|
3821
4028
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIEW_THE_PARTICIPANT_LIST],
|
|
3822
4029
|
displayHints: this.userDisplayHints
|
|
3823
4030
|
}),
|
|
3824
|
-
canEnableRaiseHand:
|
|
4031
|
+
canEnableRaiseHand: _util5.default.hasHints({
|
|
3825
4032
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_RAISE_HAND],
|
|
3826
4033
|
displayHints: this.userDisplayHints
|
|
3827
4034
|
}),
|
|
3828
|
-
canDisableRaiseHand:
|
|
4035
|
+
canDisableRaiseHand: _util5.default.hasHints({
|
|
3829
4036
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_RAISE_HAND],
|
|
3830
4037
|
displayHints: this.userDisplayHints
|
|
3831
4038
|
}),
|
|
3832
|
-
canEnableVideo:
|
|
4039
|
+
canEnableVideo: _util5.default.hasHints({
|
|
3833
4040
|
requiredHints: [_constants.DISPLAY_HINTS.ENABLE_VIDEO],
|
|
3834
4041
|
displayHints: this.userDisplayHints
|
|
3835
4042
|
}),
|
|
3836
|
-
canDisableVideo:
|
|
4043
|
+
canDisableVideo: _util5.default.hasHints({
|
|
3837
4044
|
requiredHints: [_constants.DISPLAY_HINTS.DISABLE_VIDEO],
|
|
3838
4045
|
displayHints: this.userDisplayHints
|
|
3839
4046
|
}),
|
|
3840
|
-
canShareFile:
|
|
4047
|
+
canShareFile: _util5.default.hasHints({
|
|
3841
4048
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_FILE],
|
|
3842
4049
|
displayHints: this.userDisplayHints
|
|
3843
|
-
}) &&
|
|
4050
|
+
}) && _util5.default.hasPolicies({
|
|
3844
4051
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_FILE_SHARE],
|
|
3845
4052
|
policies: this.selfUserPolicies
|
|
3846
4053
|
}) || !this.arePolicyRestrictionsSupported,
|
|
3847
|
-
canTransferFile:
|
|
4054
|
+
canTransferFile: _util5.default.hasPolicies({
|
|
3848
4055
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_FILE_TRANSFER],
|
|
3849
4056
|
policies: this.selfUserPolicies
|
|
3850
4057
|
}),
|
|
3851
|
-
canChat:
|
|
4058
|
+
canChat: _util5.default.hasPolicies({
|
|
3852
4059
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_CHAT],
|
|
3853
4060
|
policies: this.selfUserPolicies
|
|
3854
4061
|
}),
|
|
3855
|
-
canShareApplication:
|
|
4062
|
+
canShareApplication: _util5.default.hasHints({
|
|
3856
4063
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_APPLICATION],
|
|
3857
4064
|
displayHints: this.userDisplayHints
|
|
3858
|
-
}) &&
|
|
4065
|
+
}) && _util5.default.hasPolicies({
|
|
3859
4066
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_APP_SHARE],
|
|
3860
4067
|
policies: this.selfUserPolicies
|
|
3861
4068
|
}) || !this.arePolicyRestrictionsSupported(),
|
|
3862
|
-
canShareCamera:
|
|
4069
|
+
canShareCamera: _util5.default.hasHints({
|
|
3863
4070
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_CAMERA],
|
|
3864
4071
|
displayHints: this.userDisplayHints
|
|
3865
|
-
}) &&
|
|
4072
|
+
}) && _util5.default.hasPolicies({
|
|
3866
4073
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_CAMERA_SHARE],
|
|
3867
4074
|
policies: this.selfUserPolicies
|
|
3868
4075
|
}),
|
|
3869
|
-
canShareDesktop:
|
|
4076
|
+
canShareDesktop: _util5.default.hasHints({
|
|
3870
4077
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_DESKTOP],
|
|
3871
4078
|
displayHints: this.userDisplayHints
|
|
3872
|
-
}) &&
|
|
4079
|
+
}) && _util5.default.hasPolicies({
|
|
3873
4080
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_DESKTOP_SHARE],
|
|
3874
4081
|
policies: this.selfUserPolicies
|
|
3875
4082
|
}) || !this.arePolicyRestrictionsSupported(),
|
|
3876
|
-
canShareContent:
|
|
4083
|
+
canShareContent: _util5.default.hasHints({
|
|
3877
4084
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_CONTENT],
|
|
3878
4085
|
displayHints: this.userDisplayHints
|
|
3879
4086
|
}) || !this.arePolicyRestrictionsSupported(),
|
|
3880
|
-
canAnnotate:
|
|
4087
|
+
canAnnotate: _util5.default.hasPolicies({
|
|
3881
4088
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_ANNOTATION],
|
|
3882
4089
|
policies: this.selfUserPolicies
|
|
3883
4090
|
})
|
|
@@ -3912,7 +4119,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3912
4119
|
}, {
|
|
3913
4120
|
key: "setPermissionTokenPayload",
|
|
3914
4121
|
value: function setPermissionTokenPayload(permissionToken) {
|
|
3915
|
-
this.permissionTokenPayload =
|
|
4122
|
+
this.permissionTokenPayload = (0, _jwtDecode.default)(permissionToken);
|
|
3916
4123
|
this.permissionTokenReceivedLocalTime = new Date().getTime();
|
|
3917
4124
|
}
|
|
3918
4125
|
|
|
@@ -4058,11 +4265,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4058
4265
|
*/
|
|
4059
4266
|
}, {
|
|
4060
4267
|
key: "setLocalAudioStream",
|
|
4061
|
-
value: function () {
|
|
4062
|
-
var _setLocalAudioStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
4268
|
+
value: (function () {
|
|
4269
|
+
var _setLocalAudioStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(localStream) {
|
|
4063
4270
|
var oldStream;
|
|
4064
|
-
return _regenerator.default.wrap(function
|
|
4065
|
-
while (1) switch (
|
|
4271
|
+
return _regenerator.default.wrap(function _callee11$(_context11) {
|
|
4272
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
4066
4273
|
case 0:
|
|
4067
4274
|
oldStream = this.mediaProperties.audioStream;
|
|
4068
4275
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
@@ -4076,21 +4283,21 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4076
4283
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
|
|
4077
4284
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4078
4285
|
if (!(!this.isMultistream || !localStream)) {
|
|
4079
|
-
|
|
4286
|
+
_context11.next = 12;
|
|
4080
4287
|
break;
|
|
4081
4288
|
}
|
|
4082
|
-
|
|
4289
|
+
_context11.next = 12;
|
|
4083
4290
|
return this.unpublishStream(_internalMediaCore.MediaType.AudioMain, oldStream);
|
|
4084
4291
|
case 12:
|
|
4085
|
-
|
|
4292
|
+
_context11.next = 14;
|
|
4086
4293
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
4087
4294
|
case 14:
|
|
4088
4295
|
case "end":
|
|
4089
|
-
return
|
|
4296
|
+
return _context11.stop();
|
|
4090
4297
|
}
|
|
4091
|
-
},
|
|
4298
|
+
}, _callee11, this);
|
|
4092
4299
|
}));
|
|
4093
|
-
function setLocalAudioStream(
|
|
4300
|
+
function setLocalAudioStream(_x11) {
|
|
4094
4301
|
return _setLocalAudioStream.apply(this, arguments);
|
|
4095
4302
|
}
|
|
4096
4303
|
return setLocalAudioStream;
|
|
@@ -4102,13 +4309,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4102
4309
|
* @param {LocalCameraStream | null} localStream local camera stream
|
|
4103
4310
|
* @returns {Promise<void>}
|
|
4104
4311
|
*/
|
|
4312
|
+
)
|
|
4105
4313
|
}, {
|
|
4106
4314
|
key: "setLocalVideoStream",
|
|
4107
|
-
value: function () {
|
|
4108
|
-
var _setLocalVideoStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
4315
|
+
value: (function () {
|
|
4316
|
+
var _setLocalVideoStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(localStream) {
|
|
4109
4317
|
var oldStream;
|
|
4110
|
-
return _regenerator.default.wrap(function
|
|
4111
|
-
while (1) switch (
|
|
4318
|
+
return _regenerator.default.wrap(function _callee12$(_context12) {
|
|
4319
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
4112
4320
|
case 0:
|
|
4113
4321
|
oldStream = this.mediaProperties.videoStream;
|
|
4114
4322
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
@@ -4122,21 +4330,21 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4122
4330
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
|
|
4123
4331
|
localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4124
4332
|
if (!(!this.isMultistream || !localStream)) {
|
|
4125
|
-
|
|
4333
|
+
_context12.next = 12;
|
|
4126
4334
|
break;
|
|
4127
4335
|
}
|
|
4128
|
-
|
|
4336
|
+
_context12.next = 12;
|
|
4129
4337
|
return this.unpublishStream(_internalMediaCore.MediaType.VideoMain, oldStream);
|
|
4130
4338
|
case 12:
|
|
4131
|
-
|
|
4339
|
+
_context12.next = 14;
|
|
4132
4340
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
4133
4341
|
case 14:
|
|
4134
4342
|
case "end":
|
|
4135
|
-
return
|
|
4343
|
+
return _context12.stop();
|
|
4136
4344
|
}
|
|
4137
|
-
},
|
|
4345
|
+
}, _callee12, this);
|
|
4138
4346
|
}));
|
|
4139
|
-
function setLocalVideoStream(
|
|
4347
|
+
function setLocalVideoStream(_x12) {
|
|
4140
4348
|
return _setLocalVideoStream.apply(this, arguments);
|
|
4141
4349
|
}
|
|
4142
4350
|
return setLocalVideoStream;
|
|
@@ -4149,13 +4357,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4149
4357
|
* @param {LocalDisplayStream | undefined} localDisplayStream local display stream
|
|
4150
4358
|
* @returns {Promise<void>}
|
|
4151
4359
|
*/
|
|
4360
|
+
)
|
|
4152
4361
|
}, {
|
|
4153
4362
|
key: "setLocalShareVideoStream",
|
|
4154
|
-
value: function () {
|
|
4155
|
-
var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
4363
|
+
value: (function () {
|
|
4364
|
+
var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13(localDisplayStream) {
|
|
4156
4365
|
var oldStream;
|
|
4157
|
-
return _regenerator.default.wrap(function
|
|
4158
|
-
while (1) switch (
|
|
4366
|
+
return _regenerator.default.wrap(function _callee13$(_context13) {
|
|
4367
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
4159
4368
|
case 0:
|
|
4160
4369
|
oldStream = this.mediaProperties.shareVideoStream;
|
|
4161
4370
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
|
|
@@ -4167,21 +4376,21 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4167
4376
|
localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4168
4377
|
this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
|
|
4169
4378
|
if (!(!this.isMultistream || !localDisplayStream)) {
|
|
4170
|
-
|
|
4379
|
+
_context13.next = 12;
|
|
4171
4380
|
break;
|
|
4172
4381
|
}
|
|
4173
|
-
|
|
4382
|
+
_context13.next = 12;
|
|
4174
4383
|
return this.unpublishStream(_internalMediaCore.MediaType.VideoSlides, oldStream);
|
|
4175
4384
|
case 12:
|
|
4176
|
-
|
|
4385
|
+
_context13.next = 14;
|
|
4177
4386
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
4178
4387
|
case 14:
|
|
4179
4388
|
case "end":
|
|
4180
|
-
return
|
|
4389
|
+
return _context13.stop();
|
|
4181
4390
|
}
|
|
4182
|
-
},
|
|
4391
|
+
}, _callee13, this);
|
|
4183
4392
|
}));
|
|
4184
|
-
function setLocalShareVideoStream(
|
|
4393
|
+
function setLocalShareVideoStream(_x13) {
|
|
4185
4394
|
return _setLocalShareVideoStream.apply(this, arguments);
|
|
4186
4395
|
}
|
|
4187
4396
|
return setLocalShareVideoStream;
|
|
@@ -4193,13 +4402,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4193
4402
|
* @param {LocalSystemAudioStream | undefined} localSystemAudioStream local system audio stream
|
|
4194
4403
|
* @returns {Promise<void>}
|
|
4195
4404
|
*/
|
|
4405
|
+
)
|
|
4196
4406
|
}, {
|
|
4197
4407
|
key: "setLocalShareAudioStream",
|
|
4198
|
-
value: function () {
|
|
4199
|
-
var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
4408
|
+
value: (function () {
|
|
4409
|
+
var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(localSystemAudioStream) {
|
|
4200
4410
|
var oldStream;
|
|
4201
|
-
return _regenerator.default.wrap(function
|
|
4202
|
-
while (1) switch (
|
|
4411
|
+
return _regenerator.default.wrap(function _callee14$(_context14) {
|
|
4412
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
4203
4413
|
case 0:
|
|
4204
4414
|
oldStream = this.mediaProperties.shareAudioStream;
|
|
4205
4415
|
oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
|
|
@@ -4209,21 +4419,21 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4209
4419
|
localSystemAudioStream === null || localSystemAudioStream === void 0 ? void 0 : localSystemAudioStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
|
|
4210
4420
|
this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
|
|
4211
4421
|
if (!(!this.isMultistream || !localSystemAudioStream)) {
|
|
4212
|
-
|
|
4422
|
+
_context14.next = 10;
|
|
4213
4423
|
break;
|
|
4214
4424
|
}
|
|
4215
|
-
|
|
4425
|
+
_context14.next = 10;
|
|
4216
4426
|
return this.unpublishStream(_internalMediaCore.MediaType.AudioSlides, oldStream);
|
|
4217
4427
|
case 10:
|
|
4218
|
-
|
|
4428
|
+
_context14.next = 12;
|
|
4219
4429
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
4220
4430
|
case 12:
|
|
4221
4431
|
case "end":
|
|
4222
|
-
return
|
|
4432
|
+
return _context14.stop();
|
|
4223
4433
|
}
|
|
4224
|
-
},
|
|
4434
|
+
}, _callee14, this);
|
|
4225
4435
|
}));
|
|
4226
|
-
function setLocalShareAudioStream(
|
|
4436
|
+
function setLocalShareAudioStream(_x14) {
|
|
4227
4437
|
return _setLocalShareAudioStream.apply(this, arguments);
|
|
4228
4438
|
}
|
|
4229
4439
|
return setLocalShareAudioStream;
|
|
@@ -4234,6 +4444,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4234
4444
|
* @param {Object} options parameters functionName, isPublished, mediaType and stream needed to trigger event
|
|
4235
4445
|
* @returns {undefined}
|
|
4236
4446
|
*/
|
|
4447
|
+
)
|
|
4237
4448
|
}, {
|
|
4238
4449
|
key: "emitPublishStateChangeEvent",
|
|
4239
4450
|
value: function emitPublishStateChangeEvent(options) {
|
|
@@ -4465,7 +4676,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4465
4676
|
key: "muteAudio",
|
|
4466
4677
|
value: function muteAudio() {
|
|
4467
4678
|
var _this24 = this;
|
|
4468
|
-
if (!
|
|
4679
|
+
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4469
4680
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4470
4681
|
}
|
|
4471
4682
|
|
|
@@ -4480,7 +4691,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4480
4691
|
|
|
4481
4692
|
// First, stop sending the local audio media
|
|
4482
4693
|
return logRequest(this.audio.handleClientRequest(this, true).then(function () {
|
|
4483
|
-
|
|
4694
|
+
_util2.default.handleAudioLogging(_this24.mediaProperties.audioStream);
|
|
4484
4695
|
// @ts-ignore
|
|
4485
4696
|
_this24.webex.internal.newMetrics.submitClientEvent({
|
|
4486
4697
|
name: 'client.muted',
|
|
@@ -4515,7 +4726,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4515
4726
|
key: "unmuteAudio",
|
|
4516
4727
|
value: function unmuteAudio() {
|
|
4517
4728
|
var _this25 = this;
|
|
4518
|
-
if (!
|
|
4729
|
+
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4519
4730
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4520
4731
|
}
|
|
4521
4732
|
|
|
@@ -4530,7 +4741,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4530
4741
|
|
|
4531
4742
|
// First, send the control to unmute the participant on the server
|
|
4532
4743
|
return logRequest(this.audio.handleClientRequest(this, false).then(function () {
|
|
4533
|
-
|
|
4744
|
+
_util2.default.handleAudioLogging(_this25.mediaProperties.audioStream);
|
|
4534
4745
|
// @ts-ignore
|
|
4535
4746
|
_this25.webex.internal.newMetrics.submitClientEvent({
|
|
4536
4747
|
name: 'client.unmuted',
|
|
@@ -4565,7 +4776,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4565
4776
|
key: "muteVideo",
|
|
4566
4777
|
value: function muteVideo() {
|
|
4567
4778
|
var _this26 = this;
|
|
4568
|
-
if (!
|
|
4779
|
+
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4569
4780
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4570
4781
|
}
|
|
4571
4782
|
|
|
@@ -4578,7 +4789,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4578
4789
|
return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
|
|
4579
4790
|
}
|
|
4580
4791
|
return logRequest(this.video.handleClientRequest(this, true).then(function () {
|
|
4581
|
-
|
|
4792
|
+
_util2.default.handleVideoLogging(_this26.mediaProperties.videoStream);
|
|
4582
4793
|
// @ts-ignore
|
|
4583
4794
|
_this26.webex.internal.newMetrics.submitClientEvent({
|
|
4584
4795
|
name: 'client.muted',
|
|
@@ -4613,7 +4824,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4613
4824
|
key: "unmuteVideo",
|
|
4614
4825
|
value: function unmuteVideo() {
|
|
4615
4826
|
var _this27 = this;
|
|
4616
|
-
if (!
|
|
4827
|
+
if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
|
|
4617
4828
|
return _promise.default.reject(new _webexErrors.UserNotJoinedError());
|
|
4618
4829
|
}
|
|
4619
4830
|
|
|
@@ -4626,7 +4837,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4626
4837
|
return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
|
|
4627
4838
|
}
|
|
4628
4839
|
return logRequest(this.video.handleClientRequest(this, false).then(function () {
|
|
4629
|
-
|
|
4840
|
+
_util2.default.handleVideoLogging(_this27.mediaProperties.videoStream);
|
|
4630
4841
|
// @ts-ignore
|
|
4631
4842
|
_this27.webex.internal.newMetrics.submitClientEvent({
|
|
4632
4843
|
name: 'client.unmuted',
|
|
@@ -4669,36 +4880,123 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4669
4880
|
*/
|
|
4670
4881
|
}, {
|
|
4671
4882
|
key: "joinWithMedia",
|
|
4672
|
-
value: function
|
|
4673
|
-
var
|
|
4674
|
-
|
|
4675
|
-
|
|
4676
|
-
|
|
4677
|
-
|
|
4678
|
-
|
|
4883
|
+
value: (function () {
|
|
4884
|
+
var _joinWithMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
|
|
4885
|
+
var options,
|
|
4886
|
+
mediaOptions,
|
|
4887
|
+
_options$joinOptions,
|
|
4888
|
+
joinOptions,
|
|
4889
|
+
joined,
|
|
4890
|
+
turnServerInfo,
|
|
4891
|
+
turnDiscoverySkippedReason,
|
|
4892
|
+
turnDiscoveryRequest,
|
|
4893
|
+
joinResponse,
|
|
4894
|
+
_yield$this$roap$hand,
|
|
4895
|
+
mediaResponse,
|
|
4896
|
+
_this$locusUrl,
|
|
4897
|
+
_leaveError,
|
|
4898
|
+
leaveError,
|
|
4899
|
+
_args15 = arguments;
|
|
4900
|
+
return _regenerator.default.wrap(function _callee15$(_context15) {
|
|
4901
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
4902
|
+
case 0:
|
|
4903
|
+
options = _args15.length > 0 && _args15[0] !== undefined ? _args15[0] : {};
|
|
4904
|
+
mediaOptions = options.mediaOptions, _options$joinOptions = options.joinOptions, joinOptions = _options$joinOptions === void 0 ? {} : _options$joinOptions;
|
|
4905
|
+
if (mediaOptions !== null && mediaOptions !== void 0 && mediaOptions.allowMediaInLobby) {
|
|
4906
|
+
_context15.next = 4;
|
|
4907
|
+
break;
|
|
4908
|
+
}
|
|
4909
|
+
return _context15.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
|
|
4910
|
+
case 4:
|
|
4911
|
+
this.allowMediaInLobby = true;
|
|
4912
|
+
_loggerProxy.default.logger.info('Meeting:index#joinWithMedia called');
|
|
4913
|
+
joined = false;
|
|
4914
|
+
_context15.prev = 7;
|
|
4915
|
+
_context15.next = 10;
|
|
4916
|
+
return this.webex.meetings.reachability.getReachabilityResults();
|
|
4917
|
+
case 10:
|
|
4918
|
+
joinOptions.reachability = _context15.sent;
|
|
4919
|
+
_context15.next = 13;
|
|
4920
|
+
return this.roap.generateTurnDiscoveryRequestMessage(this, true);
|
|
4921
|
+
case 13:
|
|
4922
|
+
turnDiscoveryRequest = _context15.sent;
|
|
4923
|
+
turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
|
|
4924
|
+
joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
|
|
4925
|
+
_context15.next = 18;
|
|
4926
|
+
return this.join(joinOptions);
|
|
4927
|
+
case 18:
|
|
4928
|
+
joinResponse = _context15.sent;
|
|
4929
|
+
joined = true;
|
|
4930
|
+
if (!joinOptions.roapMessage) {
|
|
4931
|
+
_context15.next = 29;
|
|
4932
|
+
break;
|
|
4933
|
+
}
|
|
4934
|
+
_context15.next = 23;
|
|
4935
|
+
return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
|
|
4936
|
+
case 23:
|
|
4937
|
+
_yield$this$roap$hand = _context15.sent;
|
|
4938
|
+
turnServerInfo = _yield$this$roap$hand.turnServerInfo;
|
|
4939
|
+
turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
|
|
4940
|
+
this.turnDiscoverySkippedReason = turnDiscoverySkippedReason;
|
|
4941
|
+
this.turnServerUsed = !!turnServerInfo;
|
|
4942
|
+
if (turnServerInfo === undefined) {
|
|
4943
|
+
this.roap.abortTurnDiscovery();
|
|
4944
|
+
}
|
|
4945
|
+
case 29:
|
|
4946
|
+
_context15.next = 31;
|
|
4947
|
+
return this.addMedia(mediaOptions, turnServerInfo);
|
|
4948
|
+
case 31:
|
|
4949
|
+
mediaResponse = _context15.sent;
|
|
4950
|
+
return _context15.abrupt("return", {
|
|
4951
|
+
join: joinResponse,
|
|
4952
|
+
media: mediaResponse
|
|
4953
|
+
});
|
|
4954
|
+
case 35:
|
|
4955
|
+
_context15.prev = 35;
|
|
4956
|
+
_context15.t0 = _context15["catch"](7);
|
|
4957
|
+
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _context15.t0);
|
|
4958
|
+
this.roap.abortTurnDiscovery();
|
|
4959
|
+
if (!joined) {
|
|
4960
|
+
_context15.next = 49;
|
|
4961
|
+
break;
|
|
4962
|
+
}
|
|
4963
|
+
_context15.prev = 40;
|
|
4964
|
+
_context15.next = 43;
|
|
4965
|
+
return this.leave({
|
|
4966
|
+
resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
|
|
4967
|
+
reason: 'joinWithMedia failure'
|
|
4968
|
+
});
|
|
4969
|
+
case 43:
|
|
4970
|
+
_context15.next = 49;
|
|
4971
|
+
break;
|
|
4972
|
+
case 45:
|
|
4973
|
+
_context15.prev = 45;
|
|
4974
|
+
_context15.t1 = _context15["catch"](40);
|
|
4975
|
+
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _context15.t1);
|
|
4976
|
+
leaveError = _context15.t1;
|
|
4977
|
+
case 49:
|
|
4978
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
4979
|
+
correlation_id: this.correlationId,
|
|
4980
|
+
locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
|
|
4981
|
+
// if join fails, we may end up with no locusUrl
|
|
4982
|
+
reason: _context15.t0.message,
|
|
4983
|
+
stack: _context15.t0.stack,
|
|
4984
|
+
leaveErrorReason: (_leaveError = leaveError) === null || _leaveError === void 0 ? void 0 : _leaveError.message
|
|
4985
|
+
}, {
|
|
4986
|
+
type: _context15.t0.name
|
|
4987
|
+
});
|
|
4988
|
+
throw _context15.t0;
|
|
4989
|
+
case 51:
|
|
4990
|
+
case "end":
|
|
4991
|
+
return _context15.stop();
|
|
4992
|
+
}
|
|
4993
|
+
}, _callee15, this, [[7, 35], [40, 45]]);
|
|
4994
|
+
}));
|
|
4995
|
+
function joinWithMedia() {
|
|
4996
|
+
return _joinWithMedia.apply(this, arguments);
|
|
4679
4997
|
}
|
|
4680
|
-
|
|
4681
|
-
|
|
4682
|
-
return _this28.addMedia(mediaOptions).then(function (mediaResponse) {
|
|
4683
|
-
return {
|
|
4684
|
-
join: joinResponse,
|
|
4685
|
-
media: mediaResponse
|
|
4686
|
-
};
|
|
4687
|
-
});
|
|
4688
|
-
}).catch(function (error) {
|
|
4689
|
-
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', error);
|
|
4690
|
-
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
|
|
4691
|
-
correlation_id: _this28.correlationId,
|
|
4692
|
-
locus_id: _this28.locusUrl.split('/').pop(),
|
|
4693
|
-
reason: error.message,
|
|
4694
|
-
stack: error.stack
|
|
4695
|
-
}, {
|
|
4696
|
-
type: error.name
|
|
4697
|
-
});
|
|
4698
|
-
return _promise.default.reject(error);
|
|
4699
|
-
});
|
|
4700
|
-
}
|
|
4701
|
-
|
|
4998
|
+
return joinWithMedia;
|
|
4999
|
+
}()
|
|
4702
5000
|
/**
|
|
4703
5001
|
* Initiates the reconnection of the media in the meeting
|
|
4704
5002
|
*
|
|
@@ -4707,17 +5005,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4707
5005
|
* @public
|
|
4708
5006
|
* @memberof Meeting
|
|
4709
5007
|
*/
|
|
5008
|
+
)
|
|
4710
5009
|
}, {
|
|
4711
5010
|
key: "reconnect",
|
|
4712
5011
|
value: function reconnect(options) {
|
|
4713
|
-
var
|
|
5012
|
+
var _this28 = this;
|
|
4714
5013
|
_loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
|
|
4715
5014
|
if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
|
|
4716
5015
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
|
|
4717
5016
|
}
|
|
4718
5017
|
|
|
4719
5018
|
// @ts-ignore - currentMediaStatus coming from SelfUtil
|
|
4720
|
-
if (!
|
|
5019
|
+
if (!_util2.default.isMediaEstablished(this.currentMediaStatus)) {
|
|
4721
5020
|
return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
|
|
4722
5021
|
}
|
|
4723
5022
|
try {
|
|
@@ -4738,29 +5037,29 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4738
5037
|
function: 'reconnect'
|
|
4739
5038
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_STARTING);
|
|
4740
5039
|
return this.reconnectionManager.reconnect(options).then(function () {
|
|
4741
|
-
return
|
|
5040
|
+
return _this28.waitForRemoteSDPAnswer();
|
|
4742
5041
|
}).then(function () {
|
|
4743
|
-
return
|
|
5042
|
+
return _this28.waitForMediaConnectionConnected();
|
|
4744
5043
|
}).then(function () {
|
|
4745
|
-
_triggerProxy.default.trigger(
|
|
5044
|
+
_triggerProxy.default.trigger(_this28, {
|
|
4746
5045
|
file: 'meeting/index',
|
|
4747
5046
|
function: 'reconnect'
|
|
4748
5047
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_SUCCESS);
|
|
4749
5048
|
_loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
|
|
4750
5049
|
|
|
4751
5050
|
// @ts-ignore
|
|
4752
|
-
|
|
5051
|
+
_this28.webex.internal.newMetrics.submitClientEvent({
|
|
4753
5052
|
name: 'client.media.recovered',
|
|
4754
5053
|
payload: {
|
|
4755
5054
|
recoveredBy: 'new'
|
|
4756
5055
|
},
|
|
4757
5056
|
options: {
|
|
4758
|
-
meetingId:
|
|
5057
|
+
meetingId: _this28.id
|
|
4759
5058
|
}
|
|
4760
5059
|
});
|
|
4761
|
-
|
|
5060
|
+
_this28.reconnectionManager.setStatus(_constants.RECONNECTION.STATE.COMPLETE);
|
|
4762
5061
|
}).catch(function (error) {
|
|
4763
|
-
_triggerProxy.default.trigger(
|
|
5062
|
+
_triggerProxy.default.trigger(_this28, {
|
|
4764
5063
|
file: 'meeting/index',
|
|
4765
5064
|
function: 'reconnect'
|
|
4766
5065
|
}, _constants.EVENT_TRIGGERS.MEETING_RECONNECTION_FAILURE, {
|
|
@@ -4768,18 +5067,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4768
5067
|
});
|
|
4769
5068
|
_loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
|
|
4770
5069
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_RECONNECT_FAILURE, {
|
|
4771
|
-
correlation_id:
|
|
4772
|
-
locus_id:
|
|
5070
|
+
correlation_id: _this28.correlationId,
|
|
5071
|
+
locus_id: _this28.locusUrl.split('/').pop(),
|
|
4773
5072
|
reason: error.message,
|
|
4774
5073
|
stack: error.stack
|
|
4775
5074
|
});
|
|
4776
|
-
|
|
5075
|
+
_this28.uploadLogs({
|
|
4777
5076
|
file: 'meeting/index',
|
|
4778
5077
|
function: 'reconnect'
|
|
4779
5078
|
});
|
|
4780
5079
|
return _promise.default.reject(new _reconnection.default('Reconnection failure event', error));
|
|
4781
5080
|
}).finally(function () {
|
|
4782
|
-
|
|
5081
|
+
_this28.reconnectionManager.reset();
|
|
4783
5082
|
});
|
|
4784
5083
|
}
|
|
4785
5084
|
|
|
@@ -4795,7 +5094,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4795
5094
|
if ((_this$locusInfo$contr = this.locusInfo.controls.transcribe) !== null && _this$locusInfo$contr !== void 0 && _this$locusInfo$contr.transcribing) {
|
|
4796
5095
|
return true;
|
|
4797
5096
|
}
|
|
4798
|
-
_loggerProxy.default.logger.error('Meeting:index#isTranscriptionSupported --> Webex Assistant is not supported');
|
|
5097
|
+
_loggerProxy.default.logger.error('Meeting:index#isTranscriptionSupported --> Webex Assistant is not enabled/supported');
|
|
4799
5098
|
return false;
|
|
4800
5099
|
}
|
|
4801
5100
|
|
|
@@ -4815,115 +5114,164 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4815
5114
|
}
|
|
4816
5115
|
|
|
4817
5116
|
/**
|
|
4818
|
-
*
|
|
4819
|
-
* @
|
|
4820
|
-
* @returns {
|
|
5117
|
+
* sets Caption language for the meeting
|
|
5118
|
+
* @param {string} language
|
|
5119
|
+
* @returns {Promise}
|
|
4821
5120
|
*/
|
|
4822
5121
|
}, {
|
|
4823
|
-
key: "
|
|
4824
|
-
value: function
|
|
4825
|
-
var
|
|
4826
|
-
|
|
4827
|
-
|
|
4828
|
-
|
|
5122
|
+
key: "setCaptionLanguage",
|
|
5123
|
+
value: function setCaptionLanguage(language) {
|
|
5124
|
+
var _this29 = this;
|
|
5125
|
+
return new _promise.default(function (resolve, reject) {
|
|
5126
|
+
if (!_this29.isTranscriptionSupported()) {
|
|
5127
|
+
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5128
|
+
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5129
|
+
}
|
|
5130
|
+
try {
|
|
5131
|
+
var voiceaListenerCaptionUpdate = function voiceaListenerCaptionUpdate(payload) {
|
|
5132
|
+
// @ts-ignore
|
|
5133
|
+
_this29.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5134
|
+
var statusCode = payload.statusCode;
|
|
5135
|
+
if (statusCode === 200) {
|
|
5136
|
+
_this29.transcription.languageOptions = _objectSpread(_objectSpread({}, _this29.transcription.languageOptions), {}, {
|
|
5137
|
+
currentCaptionLanguage: language
|
|
5138
|
+
});
|
|
5139
|
+
resolve(language);
|
|
5140
|
+
} else {
|
|
5141
|
+
reject(payload);
|
|
5142
|
+
}
|
|
5143
|
+
};
|
|
5144
|
+
// @ts-ignore
|
|
5145
|
+
_this29.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5146
|
+
// @ts-ignore
|
|
5147
|
+
_this29.webex.internal.voicea.requestLanguage(language);
|
|
5148
|
+
} catch (error) {
|
|
5149
|
+
_loggerProxy.default.logger.error("Meeting:index#setCaptionLanguage --> ".concat(error));
|
|
5150
|
+
reject(error);
|
|
5151
|
+
}
|
|
4829
5152
|
});
|
|
4830
|
-
|
|
4831
|
-
|
|
4832
|
-
|
|
4833
|
-
|
|
4834
|
-
|
|
4835
|
-
|
|
4836
|
-
|
|
4837
|
-
|
|
5153
|
+
}
|
|
5154
|
+
|
|
5155
|
+
/**
|
|
5156
|
+
* sets Spoken language for the meeting
|
|
5157
|
+
* @param {string} language
|
|
5158
|
+
* @returns {Promise}
|
|
5159
|
+
*/
|
|
5160
|
+
}, {
|
|
5161
|
+
key: "setSpokenLanguage",
|
|
5162
|
+
value: function setSpokenLanguage(language) {
|
|
5163
|
+
var _this30 = this;
|
|
5164
|
+
return new _promise.default(function (resolve, reject) {
|
|
5165
|
+
if (!_this30.isTranscriptionSupported()) {
|
|
5166
|
+
_loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
|
|
5167
|
+
reject(new Error('Webex Assistant is not enabled/supported'));
|
|
5168
|
+
}
|
|
5169
|
+
try {
|
|
5170
|
+
var voiceaListenerLanguageUpdate = function voiceaListenerLanguageUpdate(payload) {
|
|
5171
|
+
// @ts-ignore
|
|
5172
|
+
_this30.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5173
|
+
var languageCode = payload.languageCode;
|
|
5174
|
+
if (languageCode) {
|
|
5175
|
+
_this30.transcription.languageOptions = _objectSpread(_objectSpread({}, _this30.transcription.languageOptions), {}, {
|
|
5176
|
+
currentSpokenLanguage: languageCode
|
|
5177
|
+
});
|
|
5178
|
+
resolve(languageCode);
|
|
5179
|
+
} else {
|
|
5180
|
+
reject(payload);
|
|
5181
|
+
}
|
|
5182
|
+
};
|
|
5183
|
+
|
|
5184
|
+
// @ts-ignore
|
|
5185
|
+
_this30.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5186
|
+
|
|
5187
|
+
// @ts-ignore
|
|
5188
|
+
_this30.webex.internal.voicea.setSpokenLanguage(language);
|
|
5189
|
+
} catch (error) {
|
|
5190
|
+
_loggerProxy.default.logger.error("Meeting:index#setSpokenLanguage --> ".concat(error));
|
|
5191
|
+
reject(error);
|
|
5192
|
+
}
|
|
4838
5193
|
});
|
|
4839
5194
|
}
|
|
4840
5195
|
|
|
4841
5196
|
/**
|
|
4842
|
-
*
|
|
4843
|
-
* @
|
|
5197
|
+
* This method will enable the transcription for the current meeting if the meeting has enabled/supports Webex Assistant
|
|
5198
|
+
* @param {Object} options object with spokenlanguage setting
|
|
5199
|
+
* @public
|
|
4844
5200
|
* @returns {Promise<void>} a promise to open the WebSocket connection
|
|
4845
5201
|
*/
|
|
4846
5202
|
}, {
|
|
4847
|
-
key: "
|
|
4848
|
-
value: function () {
|
|
4849
|
-
var
|
|
4850
|
-
|
|
4851
|
-
|
|
4852
|
-
return _regenerator.default.wrap(function _callee14$(_context14) {
|
|
4853
|
-
while (1) switch (_context14.prev = _context14.next) {
|
|
5203
|
+
key: "startTranscription",
|
|
5204
|
+
value: (function () {
|
|
5205
|
+
var _startTranscription = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16(options) {
|
|
5206
|
+
return _regenerator.default.wrap(function _callee16$(_context16) {
|
|
5207
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
4854
5208
|
case 0:
|
|
4855
|
-
|
|
4856
|
-
|
|
4857
|
-
|
|
4858
|
-
_context14.next = 5;
|
|
4859
|
-
return this.request({
|
|
4860
|
-
method: _constants.HTTP_VERBS.POST,
|
|
4861
|
-
uri: datachannelUrl,
|
|
4862
|
-
body: {
|
|
4863
|
-
deviceUrl: this.deviceUrl
|
|
4864
|
-
}
|
|
4865
|
-
});
|
|
4866
|
-
case 5:
|
|
4867
|
-
_yield$this$request = _context14.sent;
|
|
4868
|
-
webSocketUrl = _yield$this$request.body.webSocketUrl;
|
|
4869
|
-
_loggerProxy.default.logger.info("Meeting:index#receiveTranscription -->\n Generated web socket url succesfully.");
|
|
4870
|
-
this.transcription = new _transcription.default(webSocketUrl,
|
|
4871
|
-
// @ts-ignore - fix type
|
|
4872
|
-
this.webex.sessionId, this.members);
|
|
4873
|
-
_loggerProxy.default.logger.info("Meeting:index#receiveTranscription -->\n opened LLM web socket connection successfully.");
|
|
4874
|
-
if (!this.inMeetingActions.isClosedCaptionActive) {
|
|
4875
|
-
_loggerProxy.default.logger.error("Meeting:index#receiveTranscription --> Transcription cannot be started until a licensed user enables it");
|
|
5209
|
+
if (!this.isJoined()) {
|
|
5210
|
+
_context16.next = 15;
|
|
5211
|
+
break;
|
|
4876
5212
|
}
|
|
4877
|
-
|
|
4878
|
-
|
|
4879
|
-
this.
|
|
4880
|
-
|
|
4881
|
-
|
|
4882
|
-
|
|
4883
|
-
|
|
4884
|
-
|
|
4885
|
-
|
|
4886
|
-
|
|
4887
|
-
this.
|
|
4888
|
-
|
|
5213
|
+
_loggerProxy.default.logger.info('Meeting:index#startTranscription --> Attempting to enable transcription!');
|
|
5214
|
+
_context16.prev = 2;
|
|
5215
|
+
if (!this.areVoiceaEventsSetup) {
|
|
5216
|
+
this.setUpVoiceaListeners();
|
|
5217
|
+
}
|
|
5218
|
+
if (!(this.getCurUserType() === 'host')) {
|
|
5219
|
+
_context16.next = 7;
|
|
5220
|
+
break;
|
|
5221
|
+
}
|
|
5222
|
+
_context16.next = 7;
|
|
5223
|
+
return this.webex.internal.voicea.toggleTranscribing(true, options === null || options === void 0 ? void 0 : options.spokenLanguage);
|
|
5224
|
+
case 7:
|
|
5225
|
+
_context16.next = 13;
|
|
4889
5226
|
break;
|
|
4890
|
-
case
|
|
4891
|
-
|
|
4892
|
-
|
|
4893
|
-
_loggerProxy.default.logger.error("Meeting:index#
|
|
5227
|
+
case 9:
|
|
5228
|
+
_context16.prev = 9;
|
|
5229
|
+
_context16.t0 = _context16["catch"](2);
|
|
5230
|
+
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(_context16.t0));
|
|
4894
5231
|
_metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
|
|
4895
5232
|
correlation_id: this.correlationId,
|
|
4896
|
-
reason:
|
|
4897
|
-
stack:
|
|
5233
|
+
reason: _context16.t0.message,
|
|
5234
|
+
stack: _context16.t0.stack
|
|
4898
5235
|
});
|
|
4899
|
-
case
|
|
5236
|
+
case 13:
|
|
5237
|
+
_context16.next = 17;
|
|
5238
|
+
break;
|
|
5239
|
+
case 15:
|
|
5240
|
+
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> meeting joined : ".concat(this.isJoined()));
|
|
5241
|
+
throw new Error('Meeting is not joined');
|
|
5242
|
+
case 17:
|
|
4900
5243
|
case "end":
|
|
4901
|
-
return
|
|
5244
|
+
return _context16.stop();
|
|
4902
5245
|
}
|
|
4903
|
-
},
|
|
5246
|
+
}, _callee16, this, [[2, 9]]);
|
|
4904
5247
|
}));
|
|
4905
|
-
function
|
|
4906
|
-
return
|
|
5248
|
+
function startTranscription(_x15) {
|
|
5249
|
+
return _startTranscription.apply(this, arguments);
|
|
4907
5250
|
}
|
|
4908
|
-
return
|
|
4909
|
-
}()
|
|
4910
|
-
/**
|
|
4911
|
-
* Callback called when a relay event is received from meeting LLM Connection
|
|
4912
|
-
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
4913
|
-
* @private
|
|
4914
|
-
* @returns {void}
|
|
4915
|
-
*/
|
|
5251
|
+
return startTranscription;
|
|
5252
|
+
}())
|
|
4916
5253
|
}, {
|
|
4917
|
-
key: "
|
|
5254
|
+
key: "stopTranscription",
|
|
4918
5255
|
value:
|
|
4919
5256
|
/**
|
|
4920
|
-
*
|
|
4921
|
-
* the web socket connection properly
|
|
5257
|
+
* This method stops receiving transcription for the current meeting
|
|
4922
5258
|
* @returns {void}
|
|
4923
5259
|
*/
|
|
4924
|
-
function
|
|
5260
|
+
function stopTranscription() {
|
|
4925
5261
|
if (this.transcription) {
|
|
4926
|
-
|
|
5262
|
+
// @ts-ignore
|
|
5263
|
+
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.VOICEA_ANNOUNCEMENT]);
|
|
5264
|
+
|
|
5265
|
+
// @ts-ignore
|
|
5266
|
+
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.CAPTIONS_TURNED_ON]);
|
|
5267
|
+
|
|
5268
|
+
// @ts-ignore
|
|
5269
|
+
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.EVA_COMMAND]);
|
|
5270
|
+
|
|
5271
|
+
// @ts-ignore
|
|
5272
|
+
this.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.NEW_CAPTION, this.voiceaListenerCallbacks[_internalPluginVoicea.EVENT_TRIGGERS.NEW_CAPTION]);
|
|
5273
|
+
this.areVoiceaEventsSetup = false;
|
|
5274
|
+
this.triggerStopReceivingTranscriptionEvent();
|
|
4927
5275
|
}
|
|
4928
5276
|
}
|
|
4929
5277
|
|
|
@@ -4936,9 +5284,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4936
5284
|
}, {
|
|
4937
5285
|
key: "triggerStopReceivingTranscriptionEvent",
|
|
4938
5286
|
value: function triggerStopReceivingTranscriptionEvent() {
|
|
4939
|
-
_loggerProxy.default.logger.info("\n Meeting:index#stopReceivingTranscription -->\n closed
|
|
5287
|
+
_loggerProxy.default.logger.info("\n Meeting:index#stopReceivingTranscription -->\n closed voicea event listeners successfully.");
|
|
4940
5288
|
_triggerProxy.default.trigger(this, {
|
|
4941
|
-
file: 'meeting',
|
|
5289
|
+
file: 'meeting/index',
|
|
4942
5290
|
function: 'triggerStopReceivingTranscriptionEvent'
|
|
4943
5291
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_RECEIVING_TRANSCRIPTION);
|
|
4944
5292
|
}
|
|
@@ -4957,9 +5305,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4957
5305
|
*/
|
|
4958
5306
|
}, {
|
|
4959
5307
|
key: "join",
|
|
4960
|
-
value: function () {
|
|
4961
|
-
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
4962
|
-
var
|
|
5308
|
+
value: (function () {
|
|
5309
|
+
var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17() {
|
|
5310
|
+
var _this31 = this;
|
|
4963
5311
|
var options,
|
|
4964
5312
|
errorMessage,
|
|
4965
5313
|
error,
|
|
@@ -4969,25 +5317,25 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4969
5317
|
_error,
|
|
4970
5318
|
_errorMessage2,
|
|
4971
5319
|
_error2,
|
|
4972
|
-
|
|
4973
|
-
return _regenerator.default.wrap(function
|
|
4974
|
-
while (1) switch (
|
|
5320
|
+
_args17 = arguments;
|
|
5321
|
+
return _regenerator.default.wrap(function _callee17$(_context17) {
|
|
5322
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
4975
5323
|
case 0:
|
|
4976
|
-
options =
|
|
5324
|
+
options = _args17.length > 0 && _args17[0] !== undefined ? _args17[0] : {};
|
|
4977
5325
|
if (this.webex.meetings.registered) {
|
|
4978
|
-
|
|
5326
|
+
_context17.next = 6;
|
|
4979
5327
|
break;
|
|
4980
5328
|
}
|
|
4981
5329
|
errorMessage = 'Meeting:index#join --> Device not registered';
|
|
4982
5330
|
error = new Error(errorMessage);
|
|
4983
5331
|
_loggerProxy.default.logger.error(errorMessage);
|
|
4984
|
-
return
|
|
5332
|
+
return _context17.abrupt("return", _promise.default.reject(error));
|
|
4985
5333
|
case 6:
|
|
4986
5334
|
if (!this.deferJoin) {
|
|
4987
|
-
|
|
5335
|
+
_context17.next = 8;
|
|
4988
5336
|
break;
|
|
4989
5337
|
}
|
|
4990
|
-
return
|
|
5338
|
+
return _context17.abrupt("return", this.deferJoin);
|
|
4991
5339
|
case 8:
|
|
4992
5340
|
// Create a deferred promise for a consistent resolve value from utils.
|
|
4993
5341
|
// This also prevents redundant API calls.
|
|
@@ -5036,15 +5384,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5036
5384
|
this.wirelessShare = true;
|
|
5037
5385
|
}
|
|
5038
5386
|
if (!options.meetingQuality) {
|
|
5039
|
-
|
|
5387
|
+
_context17.next = 36;
|
|
5040
5388
|
break;
|
|
5041
5389
|
}
|
|
5042
5390
|
if (!(typeof options.meetingQuality === 'string')) {
|
|
5043
|
-
|
|
5391
|
+
_context17.next = 27;
|
|
5044
5392
|
break;
|
|
5045
5393
|
}
|
|
5046
5394
|
if (_constants.QUALITY_LEVELS[options.meetingQuality]) {
|
|
5047
|
-
|
|
5395
|
+
_context17.next = 26;
|
|
5048
5396
|
break;
|
|
5049
5397
|
}
|
|
5050
5398
|
_errorMessage = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
|
|
@@ -5052,16 +5400,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5052
5400
|
_loggerProxy.default.logger.error(_errorMessage);
|
|
5053
5401
|
joinFailed(_error);
|
|
5054
5402
|
this.deferJoin = undefined;
|
|
5055
|
-
return
|
|
5403
|
+
return _context17.abrupt("return", _promise.default.reject(_error));
|
|
5056
5404
|
case 26:
|
|
5057
5405
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality);
|
|
5058
5406
|
case 27:
|
|
5059
5407
|
if (!((0, _typeof2.default)(options.meetingQuality) === 'object')) {
|
|
5060
|
-
|
|
5408
|
+
_context17.next = 36;
|
|
5061
5409
|
break;
|
|
5062
5410
|
}
|
|
5063
5411
|
if (_constants.QUALITY_LEVELS[options.meetingQuality.remote]) {
|
|
5064
|
-
|
|
5412
|
+
_context17.next = 35;
|
|
5065
5413
|
break;
|
|
5066
5414
|
}
|
|
5067
5415
|
_errorMessage2 = "Meeting:index#join --> ".concat(options.meetingQuality.remote, " not defined");
|
|
@@ -5069,123 +5417,109 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5069
5417
|
_error2 = new Error(_errorMessage2);
|
|
5070
5418
|
joinFailed(_error2);
|
|
5071
5419
|
this.deferJoin = undefined;
|
|
5072
|
-
return
|
|
5420
|
+
return _context17.abrupt("return", _promise.default.reject(new Error(_errorMessage2)));
|
|
5073
5421
|
case 35:
|
|
5074
5422
|
if (options.meetingQuality.remote) {
|
|
5075
5423
|
this.mediaProperties.setRemoteQualityLevel(options.meetingQuality.remote);
|
|
5076
5424
|
}
|
|
5077
5425
|
case 36:
|
|
5078
5426
|
this.isMultistream = !!options.enableMultistream;
|
|
5079
|
-
|
|
5080
|
-
|
|
5427
|
+
_context17.prev = 37;
|
|
5428
|
+
_context17.next = 40;
|
|
5081
5429
|
return this.checkAndRefreshPermissionToken(_constants.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC, _constants.MEETING_PERMISSION_TOKEN_REFRESH_REASON);
|
|
5082
5430
|
case 40:
|
|
5083
|
-
|
|
5431
|
+
_context17.next = 51;
|
|
5084
5432
|
break;
|
|
5085
5433
|
case 42:
|
|
5086
|
-
|
|
5087
|
-
|
|
5088
|
-
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:',
|
|
5089
|
-
if (!(
|
|
5090
|
-
|
|
5434
|
+
_context17.prev = 42;
|
|
5435
|
+
_context17.t0 = _context17["catch"](37);
|
|
5436
|
+
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:', _context17.t0);
|
|
5437
|
+
if (!(_context17.t0 instanceof _captchaError.default || _context17.t0 instanceof _passwordError.default || _context17.t0 instanceof _permission.default)) {
|
|
5438
|
+
_context17.next = 51;
|
|
5091
5439
|
break;
|
|
5092
5440
|
}
|
|
5093
|
-
this.meetingFiniteStateMachine.fail(
|
|
5441
|
+
this.meetingFiniteStateMachine.fail(_context17.t0);
|
|
5094
5442
|
|
|
5095
5443
|
// Upload logs on refreshpermissionToken refresh Failure
|
|
5096
5444
|
_triggerProxy.default.trigger(this, {
|
|
5097
5445
|
file: 'meeting/index',
|
|
5098
5446
|
function: 'join'
|
|
5099
5447
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
5100
|
-
joinFailed(
|
|
5448
|
+
joinFailed(_context17.t0);
|
|
5101
5449
|
this.deferJoin = undefined;
|
|
5102
5450
|
|
|
5103
5451
|
// if refresh permission token requires captcha, password or permission, we are throwing the errors
|
|
5104
5452
|
// and bubble it up to client
|
|
5105
|
-
return
|
|
5453
|
+
return _context17.abrupt("return", _promise.default.reject(_context17.t0));
|
|
5106
5454
|
case 51:
|
|
5107
|
-
return
|
|
5108
|
-
|
|
5455
|
+
return _context17.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
5456
|
+
_this31.meetingFiniteStateMachine.join();
|
|
5109
5457
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
5110
5458
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
5111
|
-
correlation_id:
|
|
5459
|
+
correlation_id: _this31.correlationId
|
|
5112
5460
|
});
|
|
5113
5461
|
joinSuccess(join);
|
|
5114
|
-
|
|
5462
|
+
_this31.deferJoin = undefined;
|
|
5115
5463
|
return join;
|
|
5116
5464
|
}).catch(function (error) {
|
|
5117
|
-
var
|
|
5118
|
-
|
|
5465
|
+
var _this31$meetingInfo, _error$error;
|
|
5466
|
+
_this31.meetingFiniteStateMachine.fail(error);
|
|
5119
5467
|
_loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
|
|
5120
5468
|
|
|
5121
5469
|
// @ts-ignore
|
|
5122
|
-
|
|
5470
|
+
_this31.webex.internal.newMetrics.submitClientEvent({
|
|
5123
5471
|
name: 'client.locus.join.response',
|
|
5124
5472
|
payload: {
|
|
5125
5473
|
identifiers: {
|
|
5126
|
-
meetingLookupUrl: (
|
|
5474
|
+
meetingLookupUrl: (_this31$meetingInfo = _this31.meetingInfo) === null || _this31$meetingInfo === void 0 ? void 0 : _this31$meetingInfo.meetingLookupUrl
|
|
5127
5475
|
}
|
|
5128
5476
|
},
|
|
5129
5477
|
options: {
|
|
5130
|
-
meetingId:
|
|
5478
|
+
meetingId: _this31.id,
|
|
5131
5479
|
rawError: error
|
|
5132
5480
|
}
|
|
5133
5481
|
});
|
|
5134
5482
|
|
|
5135
5483
|
// TODO: change this to error codes and pre defined dictionary
|
|
5136
5484
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
|
|
5137
|
-
correlation_id:
|
|
5485
|
+
correlation_id: _this31.correlationId,
|
|
5138
5486
|
reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
|
|
5139
5487
|
stack: error.stack
|
|
5140
5488
|
});
|
|
5141
5489
|
|
|
5142
5490
|
// Upload logs on join Failure
|
|
5143
|
-
_triggerProxy.default.trigger(
|
|
5491
|
+
_triggerProxy.default.trigger(_this31, {
|
|
5144
5492
|
file: 'meeting/index',
|
|
5145
5493
|
function: 'join'
|
|
5146
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
5494
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this31);
|
|
5147
5495
|
joinFailed(error);
|
|
5148
|
-
|
|
5496
|
+
_this31.deferJoin = undefined;
|
|
5149
5497
|
return _promise.default.reject(error);
|
|
5150
5498
|
}).then(function (join) {
|
|
5151
5499
|
// @ts-ignore - config coming from registerPlugin
|
|
5152
|
-
if (
|
|
5153
|
-
|
|
5154
|
-
_loggerProxy.default.logger.error('Meeting:index#join -->
|
|
5500
|
+
if (_this31.config.enableAutomaticLLM) {
|
|
5501
|
+
_this31.updateLLMConnection().catch(function (error) {
|
|
5502
|
+
_loggerProxy.default.logger.error('Meeting:index#join --> Transcription Socket Connection Failed', error);
|
|
5155
5503
|
_metrics.default.sendBehavioralMetric(_constants2.default.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
|
|
5156
|
-
correlation_id:
|
|
5504
|
+
correlation_id: _this31.correlationId,
|
|
5157
5505
|
reason: error === null || error === void 0 ? void 0 : error.message,
|
|
5158
5506
|
stack: error.stack
|
|
5159
5507
|
});
|
|
5508
|
+
}).then(function () {
|
|
5509
|
+
_loggerProxy.default.logger.info('Meeting:index#join --> Transcription Socket Connection Success');
|
|
5510
|
+
_triggerProxy.default.trigger(_this31, {
|
|
5511
|
+
file: 'meeting/index',
|
|
5512
|
+
function: 'join'
|
|
5513
|
+
}, _constants.EVENT_TRIGGERS.MEETING_TRANSCRIPTION_CONNECTED, undefined);
|
|
5160
5514
|
});
|
|
5161
5515
|
}
|
|
5162
5516
|
return join;
|
|
5163
|
-
}).then(function (join) {
|
|
5164
|
-
if (isBrowser) {
|
|
5165
|
-
// @ts-ignore - config coming from registerPlugin
|
|
5166
|
-
if (_this32.config.receiveTranscription || options.receiveTranscription) {
|
|
5167
|
-
if (_this32.isTranscriptionSupported()) {
|
|
5168
|
-
_loggerProxy.default.logger.info('Meeting:index#join --> Attempting to enabled to receive transcription!');
|
|
5169
|
-
_this32.receiveTranscription().catch(function (error) {
|
|
5170
|
-
_loggerProxy.default.logger.error('Meeting:index#join --> Receive Transcription Failed', error);
|
|
5171
|
-
_metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_AFTER_JOIN_FAILURE, {
|
|
5172
|
-
correlation_id: _this32.correlationId,
|
|
5173
|
-
reason: error === null || error === void 0 ? void 0 : error.message,
|
|
5174
|
-
stack: error.stack
|
|
5175
|
-
});
|
|
5176
|
-
});
|
|
5177
|
-
}
|
|
5178
|
-
}
|
|
5179
|
-
} else {
|
|
5180
|
-
_loggerProxy.default.logger.error('Meeting:index#join --> Receving transcription is not supported on this platform');
|
|
5181
|
-
}
|
|
5182
|
-
return join;
|
|
5183
5517
|
}));
|
|
5184
5518
|
case 52:
|
|
5185
5519
|
case "end":
|
|
5186
|
-
return
|
|
5520
|
+
return _context17.stop();
|
|
5187
5521
|
}
|
|
5188
|
-
},
|
|
5522
|
+
}, _callee17, this, [[37, 42]]);
|
|
5189
5523
|
}));
|
|
5190
5524
|
function join() {
|
|
5191
5525
|
return _join.apply(this, arguments);
|
|
@@ -5198,53 +5532,54 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5198
5532
|
* @param {String} datachannelUrl
|
|
5199
5533
|
* @returns {Promise}
|
|
5200
5534
|
*/
|
|
5535
|
+
)
|
|
5201
5536
|
}, {
|
|
5202
5537
|
key: "updateLLMConnection",
|
|
5203
|
-
value: function () {
|
|
5204
|
-
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5205
|
-
var
|
|
5538
|
+
value: (function () {
|
|
5539
|
+
var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
|
|
5540
|
+
var _this32 = this;
|
|
5206
5541
|
var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
|
|
5207
|
-
return _regenerator.default.wrap(function
|
|
5208
|
-
while (1) switch (
|
|
5542
|
+
return _regenerator.default.wrap(function _callee18$(_context18) {
|
|
5543
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
5209
5544
|
case 0:
|
|
5210
5545
|
// @ts-ignore - Fix type
|
|
5211
5546
|
_this$locusInfo6 = this.locusInfo, url = _this$locusInfo6.url, _this$locusInfo6$info = _this$locusInfo6.info, _this$locusInfo6$info2 = _this$locusInfo6$info === void 0 ? {} : _this$locusInfo6$info, datachannelUrl = _this$locusInfo6$info2.datachannelUrl;
|
|
5212
5547
|
isJoined = this.isJoined(); // @ts-ignore - Fix type
|
|
5213
5548
|
if (!this.webex.internal.llm.isConnected()) {
|
|
5214
|
-
|
|
5549
|
+
_context18.next = 8;
|
|
5215
5550
|
break;
|
|
5216
5551
|
}
|
|
5217
5552
|
if (!(url === this.webex.internal.llm.getLocusUrl() && isJoined)) {
|
|
5218
|
-
|
|
5553
|
+
_context18.next = 5;
|
|
5219
5554
|
break;
|
|
5220
5555
|
}
|
|
5221
|
-
return
|
|
5556
|
+
return _context18.abrupt("return", undefined);
|
|
5222
5557
|
case 5:
|
|
5223
|
-
|
|
5558
|
+
_context18.next = 7;
|
|
5224
5559
|
return this.webex.internal.llm.disconnectLLM();
|
|
5225
5560
|
case 7:
|
|
5226
5561
|
// @ts-ignore - Fix type
|
|
5227
5562
|
this.webex.internal.llm.off('event:relay.event', this.processRelayEvent);
|
|
5228
5563
|
case 8:
|
|
5229
5564
|
if (isJoined) {
|
|
5230
|
-
|
|
5565
|
+
_context18.next = 10;
|
|
5231
5566
|
break;
|
|
5232
5567
|
}
|
|
5233
|
-
return
|
|
5568
|
+
return _context18.abrupt("return", undefined);
|
|
5234
5569
|
case 10:
|
|
5235
|
-
return
|
|
5570
|
+
return _context18.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
|
|
5236
5571
|
// @ts-ignore - Fix type
|
|
5237
|
-
|
|
5572
|
+
_this32.webex.internal.llm.off('event:relay.event', _this32.processRelayEvent);
|
|
5238
5573
|
// @ts-ignore - Fix type
|
|
5239
|
-
|
|
5574
|
+
_this32.webex.internal.llm.on('event:relay.event', _this32.processRelayEvent);
|
|
5240
5575
|
_loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
|
|
5241
5576
|
return _promise.default.resolve(registerAndConnectResult);
|
|
5242
5577
|
}));
|
|
5243
5578
|
case 11:
|
|
5244
5579
|
case "end":
|
|
5245
|
-
return
|
|
5580
|
+
return _context18.stop();
|
|
5246
5581
|
}
|
|
5247
|
-
},
|
|
5582
|
+
}, _callee18, this);
|
|
5248
5583
|
}));
|
|
5249
5584
|
function updateLLMConnection() {
|
|
5250
5585
|
return _updateLLMConnection.apply(this, arguments);
|
|
@@ -5258,6 +5593,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5258
5593
|
* @public
|
|
5259
5594
|
* @memberof Meeting
|
|
5260
5595
|
*/
|
|
5596
|
+
)
|
|
5261
5597
|
}, {
|
|
5262
5598
|
key: "usePhoneAudio",
|
|
5263
5599
|
value: function usePhoneAudio(phoneNumber) {
|
|
@@ -5289,7 +5625,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5289
5625
|
}, {
|
|
5290
5626
|
key: "dialInPstn",
|
|
5291
5627
|
value: function dialInPstn() {
|
|
5292
|
-
var
|
|
5628
|
+
var _this33 = this;
|
|
5293
5629
|
if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
|
|
5294
5630
|
|
|
5295
5631
|
var correlationId = this.correlationId,
|
|
@@ -5305,10 +5641,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5305
5641
|
}).catch(function (error) {
|
|
5306
5642
|
var _error$error2;
|
|
5307
5643
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
|
|
5308
|
-
correlation_id:
|
|
5309
|
-
dial_in_url:
|
|
5644
|
+
correlation_id: _this33.correlationId,
|
|
5645
|
+
dial_in_url: _this33.dialInUrl,
|
|
5310
5646
|
locus_id: locusUrl.split('/').pop(),
|
|
5311
|
-
client_url:
|
|
5647
|
+
client_url: _this33.deviceUrl,
|
|
5312
5648
|
reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
|
|
5313
5649
|
stack: error.stack
|
|
5314
5650
|
});
|
|
@@ -5326,7 +5662,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5326
5662
|
}, {
|
|
5327
5663
|
key: "dialOutPstn",
|
|
5328
5664
|
value: function dialOutPstn(phoneNumber) {
|
|
5329
|
-
var
|
|
5665
|
+
var _this34 = this;
|
|
5330
5666
|
if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
|
|
5331
5667
|
|
|
5332
5668
|
var correlationId = this.correlationId,
|
|
@@ -5343,10 +5679,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5343
5679
|
}).catch(function (error) {
|
|
5344
5680
|
var _error$error3;
|
|
5345
5681
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
|
|
5346
|
-
correlation_id:
|
|
5347
|
-
dial_out_url:
|
|
5682
|
+
correlation_id: _this34.correlationId,
|
|
5683
|
+
dial_out_url: _this34.dialOutUrl,
|
|
5348
5684
|
locus_id: locusUrl.split('/').pop(),
|
|
5349
|
-
client_url:
|
|
5685
|
+
client_url: _this34.deviceUrl,
|
|
5350
5686
|
reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
|
|
5351
5687
|
stack: error.stack
|
|
5352
5688
|
});
|
|
@@ -5364,7 +5700,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5364
5700
|
}, {
|
|
5365
5701
|
key: "disconnectPhoneAudio",
|
|
5366
5702
|
value: function disconnectPhoneAudio() {
|
|
5367
|
-
return _promise.default.all([this.isPhoneProvisioned(this.dialInDeviceStatus) ?
|
|
5703
|
+
return _promise.default.all([this.isPhoneProvisioned(this.dialInDeviceStatus) ? _util2.default.disconnectPhoneAudio(this, this.dialInUrl) : _promise.default.resolve(), this.isPhoneProvisioned(this.dialOutDeviceStatus) ? _util2.default.disconnectPhoneAudio(this, this.dialOutUrl) : _promise.default.resolve()]);
|
|
5368
5704
|
}
|
|
5369
5705
|
|
|
5370
5706
|
/**
|
|
@@ -5377,7 +5713,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5377
5713
|
}, {
|
|
5378
5714
|
key: "moveTo",
|
|
5379
5715
|
value: function moveTo(resourceId) {
|
|
5380
|
-
var
|
|
5716
|
+
var _this35 = this;
|
|
5381
5717
|
if (!resourceId) {
|
|
5382
5718
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
5383
5719
|
}
|
|
@@ -5415,18 +5751,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5415
5751
|
meetingId: this.id
|
|
5416
5752
|
}
|
|
5417
5753
|
});
|
|
5418
|
-
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5754
|
+
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
|
|
5419
5755
|
var mediaSettings;
|
|
5420
|
-
return _regenerator.default.wrap(function
|
|
5421
|
-
while (1) switch (
|
|
5756
|
+
return _regenerator.default.wrap(function _callee19$(_context19) {
|
|
5757
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
5422
5758
|
case 0:
|
|
5423
|
-
|
|
5424
|
-
if (!(
|
|
5425
|
-
|
|
5759
|
+
_context19.prev = 0;
|
|
5760
|
+
if (!(_this35.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
5761
|
+
_context19.next = 4;
|
|
5426
5762
|
break;
|
|
5427
5763
|
}
|
|
5428
|
-
|
|
5429
|
-
return
|
|
5764
|
+
_context19.next = 4;
|
|
5765
|
+
return _this35.releaseScreenShareFloor();
|
|
5430
5766
|
case 4:
|
|
5431
5767
|
mediaSettings = {
|
|
5432
5768
|
mediaDirection: {
|
|
@@ -5438,47 +5774,47 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5438
5774
|
receiveShare: true
|
|
5439
5775
|
}
|
|
5440
5776
|
};
|
|
5441
|
-
|
|
5442
|
-
|
|
5443
|
-
|
|
5777
|
+
_this35.cleanupLocalStreams();
|
|
5778
|
+
_this35.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
|
|
5779
|
+
_this35.mediaProperties.unsetRemoteMedia();
|
|
5444
5780
|
|
|
5445
5781
|
// when a move to is intiated by the client , Locus delets the existing media node from the server as soon the DX answers the meeting
|
|
5446
5782
|
// once the DX answers we establish connection back the media server with only receiveShare enabled
|
|
5447
5783
|
// @ts-ignore - reconnectMedia does not accept any argument
|
|
5448
|
-
|
|
5449
|
-
return
|
|
5784
|
+
_context19.next = 10;
|
|
5785
|
+
return _this35.reconnectionManager.reconnectMedia(mediaSettings).then(function () {
|
|
5450
5786
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
|
|
5451
5787
|
});
|
|
5452
5788
|
case 10:
|
|
5453
|
-
|
|
5789
|
+
_context19.next = 16;
|
|
5454
5790
|
break;
|
|
5455
5791
|
case 12:
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId',
|
|
5792
|
+
_context19.prev = 12;
|
|
5793
|
+
_context19.t0 = _context19["catch"](0);
|
|
5794
|
+
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context19.t0);
|
|
5459
5795
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
5460
|
-
correlation_id:
|
|
5461
|
-
locus_id:
|
|
5462
|
-
reason:
|
|
5463
|
-
stack:
|
|
5796
|
+
correlation_id: _this35.correlationId,
|
|
5797
|
+
locus_id: _this35.locusUrl.split('/').pop(),
|
|
5798
|
+
reason: _context19.t0.message,
|
|
5799
|
+
stack: _context19.t0.stack
|
|
5464
5800
|
});
|
|
5465
5801
|
case 16:
|
|
5466
5802
|
case "end":
|
|
5467
|
-
return
|
|
5803
|
+
return _context19.stop();
|
|
5468
5804
|
}
|
|
5469
|
-
},
|
|
5805
|
+
}, _callee19, null, [[0, 12]]);
|
|
5470
5806
|
})));
|
|
5471
5807
|
_loggerProxy.default.logger.info('Meeting:index#moveTo --> Initated moved to using resourceId', resourceId);
|
|
5472
|
-
return
|
|
5808
|
+
return _util2.default.joinMeetingOptions(this, {
|
|
5473
5809
|
resourceId: resourceId,
|
|
5474
5810
|
moveToResource: true
|
|
5475
5811
|
}).then(function () {
|
|
5476
|
-
|
|
5812
|
+
_this35.meetingFiniteStateMachine.join();
|
|
5477
5813
|
}).catch(function (error) {
|
|
5478
|
-
|
|
5814
|
+
_this35.meetingFiniteStateMachine.fail(error);
|
|
5479
5815
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
5480
|
-
correlation_id:
|
|
5481
|
-
locus_id:
|
|
5816
|
+
correlation_id: _this35.correlationId,
|
|
5817
|
+
locus_id: _this35.locusUrl.split('/').pop(),
|
|
5482
5818
|
reason: error.message,
|
|
5483
5819
|
stack: error.stack
|
|
5484
5820
|
});
|
|
@@ -5497,7 +5833,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5497
5833
|
}, {
|
|
5498
5834
|
key: "moveFrom",
|
|
5499
5835
|
value: function moveFrom(resourceId) {
|
|
5500
|
-
var
|
|
5836
|
+
var _this36 = this;
|
|
5501
5837
|
// On moveFrom ask the developer to re capture it moveFrom then updateMedia
|
|
5502
5838
|
if (!resourceId) {
|
|
5503
5839
|
throw new _parameter.default('Cannot move call without a resourceId.');
|
|
@@ -5511,20 +5847,20 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5511
5847
|
meetingId: this.id
|
|
5512
5848
|
}
|
|
5513
5849
|
});
|
|
5514
|
-
return
|
|
5515
|
-
return
|
|
5850
|
+
return _util2.default.joinMeetingOptions(this).then(function () {
|
|
5851
|
+
return _util2.default.leaveMeeting(_this36, {
|
|
5516
5852
|
resourceId: resourceId,
|
|
5517
5853
|
correlationId: oldCorrelationId,
|
|
5518
5854
|
moveMeeting: true
|
|
5519
5855
|
}).then(function () {
|
|
5520
|
-
|
|
5856
|
+
_this36.resourceId = '';
|
|
5521
5857
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
|
|
5522
5858
|
});
|
|
5523
5859
|
}).catch(function (error) {
|
|
5524
|
-
|
|
5860
|
+
_this36.meetingFiniteStateMachine.fail(error);
|
|
5525
5861
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
|
|
5526
|
-
correlation_id:
|
|
5527
|
-
locus_id:
|
|
5862
|
+
correlation_id: _this36.correlationId,
|
|
5863
|
+
locus_id: _this36.locusUrl.split('/').pop(),
|
|
5528
5864
|
reason: error.message,
|
|
5529
5865
|
stack: error.stack
|
|
5530
5866
|
});
|
|
@@ -5532,13 +5868,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5532
5868
|
return _promise.default.reject(error);
|
|
5533
5869
|
});
|
|
5534
5870
|
}
|
|
5535
|
-
|
|
5536
|
-
/**
|
|
5537
|
-
* Handles ROAP_FAILURE event from the webrtc media connection
|
|
5538
|
-
*
|
|
5539
|
-
* @param {Error} error
|
|
5540
|
-
* @returns {void}
|
|
5541
|
-
*/
|
|
5542
5871
|
}, {
|
|
5543
5872
|
key: "getMediaConnectionDebugId",
|
|
5544
5873
|
value: function getMediaConnectionDebugId() {
|
|
@@ -5555,11 +5884,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5555
5884
|
*/
|
|
5556
5885
|
}, {
|
|
5557
5886
|
key: "createMediaConnection",
|
|
5558
|
-
value: function () {
|
|
5559
|
-
var _createMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5887
|
+
value: (function () {
|
|
5888
|
+
var _createMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20(turnServerInfo, bundlePolicy) {
|
|
5560
5889
|
var mc, audioEnabled, videoEnabled, shareEnabled;
|
|
5561
|
-
return _regenerator.default.wrap(function
|
|
5562
|
-
while (1) switch (
|
|
5890
|
+
return _regenerator.default.wrap(function _callee20$(_context20) {
|
|
5891
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
5563
5892
|
case 0:
|
|
5564
5893
|
mc = _media.default.createMediaConnection(this.isMultistream, this.getMediaConnectionDebugId(),
|
|
5565
5894
|
// @ts-ignore
|
|
@@ -5585,42 +5914,42 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5585
5914
|
|
|
5586
5915
|
// publish the streams
|
|
5587
5916
|
if (!this.mediaProperties.audioStream) {
|
|
5588
|
-
|
|
5917
|
+
_context20.next = 8;
|
|
5589
5918
|
break;
|
|
5590
5919
|
}
|
|
5591
5920
|
this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
5592
|
-
|
|
5921
|
+
_context20.next = 8;
|
|
5593
5922
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
5594
5923
|
case 8:
|
|
5595
5924
|
if (!this.mediaProperties.videoStream) {
|
|
5596
|
-
|
|
5925
|
+
_context20.next = 11;
|
|
5597
5926
|
break;
|
|
5598
5927
|
}
|
|
5599
|
-
|
|
5928
|
+
_context20.next = 11;
|
|
5600
5929
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
5601
5930
|
case 11:
|
|
5602
5931
|
if (!this.mediaProperties.shareVideoStream) {
|
|
5603
|
-
|
|
5932
|
+
_context20.next = 14;
|
|
5604
5933
|
break;
|
|
5605
5934
|
}
|
|
5606
|
-
|
|
5935
|
+
_context20.next = 14;
|
|
5607
5936
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
5608
5937
|
case 14:
|
|
5609
5938
|
if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
|
|
5610
|
-
|
|
5939
|
+
_context20.next = 17;
|
|
5611
5940
|
break;
|
|
5612
5941
|
}
|
|
5613
|
-
|
|
5942
|
+
_context20.next = 17;
|
|
5614
5943
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
5615
5944
|
case 17:
|
|
5616
|
-
return
|
|
5945
|
+
return _context20.abrupt("return", mc);
|
|
5617
5946
|
case 18:
|
|
5618
5947
|
case "end":
|
|
5619
|
-
return
|
|
5948
|
+
return _context20.stop();
|
|
5620
5949
|
}
|
|
5621
|
-
},
|
|
5950
|
+
}, _callee20, this);
|
|
5622
5951
|
}));
|
|
5623
|
-
function createMediaConnection(
|
|
5952
|
+
function createMediaConnection(_x16, _x17) {
|
|
5624
5953
|
return _createMediaConnection.apply(this, arguments);
|
|
5625
5954
|
}
|
|
5626
5955
|
return createMediaConnection;
|
|
@@ -5634,12 +5963,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5634
5963
|
* @param {string} meetingEventType event type to be used in the event emitted from the meeting object
|
|
5635
5964
|
* @returns {void}
|
|
5636
5965
|
*/
|
|
5966
|
+
)
|
|
5637
5967
|
}, {
|
|
5638
5968
|
key: "forwardEvent",
|
|
5639
5969
|
value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
|
|
5640
|
-
var
|
|
5970
|
+
var _this37 = this;
|
|
5641
5971
|
eventEmitter.on(eventTypeToForward, function (data) {
|
|
5642
|
-
return _triggerProxy.default.trigger(
|
|
5972
|
+
return _triggerProxy.default.trigger(_this37, {
|
|
5643
5973
|
file: 'meetings',
|
|
5644
5974
|
function: 'addMedia'
|
|
5645
5975
|
}, meetingEventType, data);
|
|
@@ -5656,44 +5986,44 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5656
5986
|
*/
|
|
5657
5987
|
}, {
|
|
5658
5988
|
key: "setUpLocalStreamReferences",
|
|
5659
|
-
value: function () {
|
|
5660
|
-
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
5661
|
-
var _localStreams$screenS, _localStreams$screenS2;
|
|
5989
|
+
value: (function () {
|
|
5990
|
+
var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21(localStreams) {
|
|
5991
|
+
var _localStreams$microph, _localStreams$camera, _localStreams$screenS, _localStreams$screenS2, _localStreams$screenS3, _localStreams$screenS4, _localStreams$screenS5, _localStreams$screenS6;
|
|
5662
5992
|
var setUpStreamPromises;
|
|
5663
|
-
return _regenerator.default.wrap(function
|
|
5664
|
-
while (1) switch (
|
|
5993
|
+
return _regenerator.default.wrap(function _callee21$(_context21) {
|
|
5994
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
5665
5995
|
case 0:
|
|
5666
5996
|
setUpStreamPromises = [];
|
|
5667
|
-
if (localStreams !== null && localStreams !== void 0 && localStreams.microphone) {
|
|
5997
|
+
if (localStreams !== null && localStreams !== void 0 && localStreams.microphone && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$microph = localStreams.microphone) === null || _localStreams$microph === void 0 ? void 0 : _localStreams$microph.readyState) !== 'ended') {
|
|
5668
5998
|
setUpStreamPromises.push(this.setLocalAudioStream(localStreams.microphone));
|
|
5669
5999
|
}
|
|
5670
|
-
if (localStreams !== null && localStreams !== void 0 && localStreams.camera) {
|
|
6000
|
+
if (localStreams !== null && localStreams !== void 0 && localStreams.camera && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$camera = localStreams.camera) === null || _localStreams$camera === void 0 ? void 0 : _localStreams$camera.readyState) !== 'ended') {
|
|
5671
6001
|
setUpStreamPromises.push(this.setLocalVideoStream(localStreams.camera));
|
|
5672
6002
|
}
|
|
5673
|
-
if (localStreams !== null && localStreams !== void 0 && (_localStreams$screenS = localStreams.screenShare) !== null && _localStreams$screenS !== void 0 && _localStreams$screenS.video) {
|
|
6003
|
+
if (localStreams !== null && localStreams !== void 0 && (_localStreams$screenS = localStreams.screenShare) !== null && _localStreams$screenS !== void 0 && _localStreams$screenS.video && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$screenS2 = localStreams.screenShare) === null || _localStreams$screenS2 === void 0 ? void 0 : (_localStreams$screenS3 = _localStreams$screenS2.video) === null || _localStreams$screenS3 === void 0 ? void 0 : _localStreams$screenS3.readyState) !== 'ended') {
|
|
5674
6004
|
setUpStreamPromises.push(this.setLocalShareVideoStream(localStreams.screenShare.video));
|
|
5675
6005
|
}
|
|
5676
|
-
if (localStreams !== null && localStreams !== void 0 && (_localStreams$
|
|
6006
|
+
if (localStreams !== null && localStreams !== void 0 && (_localStreams$screenS4 = localStreams.screenShare) !== null && _localStreams$screenS4 !== void 0 && _localStreams$screenS4.audio && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$screenS5 = localStreams.screenShare) === null || _localStreams$screenS5 === void 0 ? void 0 : (_localStreams$screenS6 = _localStreams$screenS5.audio) === null || _localStreams$screenS6 === void 0 ? void 0 : _localStreams$screenS6.readyState) !== 'ended') {
|
|
5677
6007
|
setUpStreamPromises.push(this.setLocalShareAudioStream(localStreams.screenShare.audio));
|
|
5678
6008
|
}
|
|
5679
|
-
|
|
5680
|
-
|
|
6009
|
+
_context21.prev = 5;
|
|
6010
|
+
_context21.next = 8;
|
|
5681
6011
|
return _promise.default.all(setUpStreamPromises);
|
|
5682
6012
|
case 8:
|
|
5683
|
-
|
|
6013
|
+
_context21.next = 14;
|
|
5684
6014
|
break;
|
|
5685
6015
|
case 10:
|
|
5686
|
-
|
|
5687
|
-
|
|
5688
|
-
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ",
|
|
5689
|
-
throw
|
|
6016
|
+
_context21.prev = 10;
|
|
6017
|
+
_context21.t0 = _context21["catch"](5);
|
|
6018
|
+
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _context21.t0);
|
|
6019
|
+
throw _context21.t0;
|
|
5690
6020
|
case 14:
|
|
5691
6021
|
case "end":
|
|
5692
|
-
return
|
|
6022
|
+
return _context21.stop();
|
|
5693
6023
|
}
|
|
5694
|
-
},
|
|
6024
|
+
}, _callee21, this, [[5, 10]]);
|
|
5695
6025
|
}));
|
|
5696
|
-
function setUpLocalStreamReferences(
|
|
6026
|
+
function setUpLocalStreamReferences(_x18) {
|
|
5697
6027
|
return _setUpLocalStreamReferences.apply(this, arguments);
|
|
5698
6028
|
}
|
|
5699
6029
|
return setUpLocalStreamReferences;
|
|
@@ -5704,23 +6034,24 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5704
6034
|
* @private
|
|
5705
6035
|
* @returns {Promise<void>}
|
|
5706
6036
|
*/
|
|
6037
|
+
)
|
|
5707
6038
|
}, {
|
|
5708
6039
|
key: "waitForMediaConnectionConnected",
|
|
5709
|
-
value: function () {
|
|
5710
|
-
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6040
|
+
value: (function () {
|
|
6041
|
+
var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee22() {
|
|
5711
6042
|
var _this$mediaProperties6, _this$mediaProperties7, _this$mediaProperties8, _this$mediaProperties9, _this$mediaProperties10, _this$mediaProperties11, _this$mediaProperties12, _this$mediaProperties13, _this$mediaProperties14, _this$mediaProperties15, _this$mediaProperties16, _this$mediaProperties17, _this$mediaProperties18, _this$mediaProperties19;
|
|
5712
|
-
return _regenerator.default.wrap(function
|
|
5713
|
-
while (1) switch (
|
|
6043
|
+
return _regenerator.default.wrap(function _callee22$(_context22) {
|
|
6044
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
5714
6045
|
case 0:
|
|
5715
|
-
|
|
5716
|
-
|
|
6046
|
+
_context22.prev = 0;
|
|
6047
|
+
_context22.next = 3;
|
|
5717
6048
|
return this.mediaProperties.waitForMediaConnectionConnected();
|
|
5718
6049
|
case 3:
|
|
5719
|
-
|
|
6050
|
+
_context22.next = 9;
|
|
5720
6051
|
break;
|
|
5721
6052
|
case 5:
|
|
5722
|
-
|
|
5723
|
-
|
|
6053
|
+
_context22.prev = 5;
|
|
6054
|
+
_context22.t0 = _context22["catch"](0);
|
|
5724
6055
|
if (!this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
5725
6056
|
// Only send CA event for join flow if we haven't successfully connected media yet
|
|
5726
6057
|
// @ts-ignore
|
|
@@ -5748,9 +6079,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5748
6079
|
throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(this.correlationId));
|
|
5749
6080
|
case 9:
|
|
5750
6081
|
case "end":
|
|
5751
|
-
return
|
|
6082
|
+
return _context22.stop();
|
|
5752
6083
|
}
|
|
5753
|
-
},
|
|
6084
|
+
}, _callee22, this, [[0, 5]]);
|
|
5754
6085
|
}));
|
|
5755
6086
|
function waitForMediaConnectionConnected() {
|
|
5756
6087
|
return _waitForMediaConnectionConnected.apply(this, arguments);
|
|
@@ -5763,10 +6094,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5763
6094
|
* @private
|
|
5764
6095
|
* @returns {void}
|
|
5765
6096
|
*/
|
|
6097
|
+
)
|
|
5766
6098
|
}, {
|
|
5767
6099
|
key: "createStatsAnalyzer",
|
|
5768
6100
|
value: function createStatsAnalyzer() {
|
|
5769
|
-
var
|
|
6101
|
+
var _this38 = this;
|
|
5770
6102
|
// @ts-ignore - config coming from registerPlugin
|
|
5771
6103
|
if (this.config.stats.enableStatsAnalyzer) {
|
|
5772
6104
|
// @ts-ignore - config coming from registerPlugin
|
|
@@ -5774,7 +6106,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5774
6106
|
this.statsAnalyzer = new _statsAnalyzer.StatsAnalyzer(
|
|
5775
6107
|
// @ts-ignore - config coming from registerPlugin
|
|
5776
6108
|
this.config.stats, function (ssrc) {
|
|
5777
|
-
return
|
|
6109
|
+
return _this38.receiveSlotManager.findReceiveSlotBySsrc(ssrc);
|
|
5778
6110
|
}, this.networkQualityMonitor);
|
|
5779
6111
|
this.setupStatsAnalyzerEventHandlers();
|
|
5780
6112
|
this.networkQualityMonitor.on(_constants.EVENT_TRIGGERS.NETWORK_QUALITY, this.sendNetworkQualityEvent.bind(this));
|
|
@@ -5790,7 +6122,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5790
6122
|
*/
|
|
5791
6123
|
}, {
|
|
5792
6124
|
key: "waitForRemoteSDPAnswer",
|
|
5793
|
-
value:
|
|
6125
|
+
value: (
|
|
5794
6126
|
/**
|
|
5795
6127
|
* Returns a promise. This promise is created once the local sdp offer has been successfully created and is resolved
|
|
5796
6128
|
* once the remote sdp answer has been received.
|
|
@@ -5799,18 +6131,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5799
6131
|
* @returns {Promise<void>}
|
|
5800
6132
|
*/
|
|
5801
6133
|
function () {
|
|
5802
|
-
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6134
|
+
var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23() {
|
|
5803
6135
|
var LOG_HEADER, deferSDPAnswer;
|
|
5804
|
-
return _regenerator.default.wrap(function
|
|
5805
|
-
while (1) switch (
|
|
6136
|
+
return _regenerator.default.wrap(function _callee23$(_context23) {
|
|
6137
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
5806
6138
|
case 0:
|
|
5807
6139
|
LOG_HEADER = 'Meeting:index#addMedia():waitForRemoteSDPAnswer -->';
|
|
5808
6140
|
if (this.deferSDPAnswer) {
|
|
5809
|
-
|
|
6141
|
+
_context23.next = 4;
|
|
5810
6142
|
break;
|
|
5811
6143
|
}
|
|
5812
6144
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " offer not created yet"));
|
|
5813
|
-
return
|
|
6145
|
+
return _context23.abrupt("return", _promise.default.reject(new Error('waitForRemoteSDPAnswer() called before local sdp offer created')));
|
|
5814
6146
|
case 4:
|
|
5815
6147
|
deferSDPAnswer = this.deferSDPAnswer;
|
|
5816
6148
|
this.sdpResponseTimer = setTimeout(function () {
|
|
@@ -5818,12 +6150,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5818
6150
|
deferSDPAnswer.reject(new Error('Timed out waiting for REMOTE SDP ANSWER'));
|
|
5819
6151
|
}, _constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT);
|
|
5820
6152
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " waiting for REMOTE SDP ANSWER..."));
|
|
5821
|
-
return
|
|
6153
|
+
return _context23.abrupt("return", deferSDPAnswer.promise);
|
|
5822
6154
|
case 8:
|
|
5823
6155
|
case "end":
|
|
5824
|
-
return
|
|
6156
|
+
return _context23.stop();
|
|
5825
6157
|
}
|
|
5826
|
-
},
|
|
6158
|
+
}, _callee23, this);
|
|
5827
6159
|
}));
|
|
5828
6160
|
function waitForRemoteSDPAnswer() {
|
|
5829
6161
|
return _waitForRemoteSDPAnswer.apply(this, arguments);
|
|
@@ -5838,33 +6170,34 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5838
6170
|
* @param {BundlePolicy} [bundlePolicy]
|
|
5839
6171
|
* @returns {Promise<void>}
|
|
5840
6172
|
*/
|
|
6173
|
+
)
|
|
5841
6174
|
}, {
|
|
5842
6175
|
key: "retryEstablishMediaConnectionWithForcedTurnDiscovery",
|
|
5843
|
-
value: function () {
|
|
5844
|
-
var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6176
|
+
value: (function () {
|
|
6177
|
+
var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24(remoteMediaManagerConfig, bundlePolicy) {
|
|
5845
6178
|
var LOG_HEADER;
|
|
5846
|
-
return _regenerator.default.wrap(function
|
|
5847
|
-
while (1) switch (
|
|
6179
|
+
return _regenerator.default.wrap(function _callee24$(_context24) {
|
|
6180
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
5848
6181
|
case 0:
|
|
5849
6182
|
LOG_HEADER = 'Meeting:index#addMedia():retryEstablishMediaConnectionWithForcedTurnDiscovery -->';
|
|
5850
|
-
|
|
5851
|
-
|
|
6183
|
+
_context24.prev = 1;
|
|
6184
|
+
_context24.next = 4;
|
|
5852
6185
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true);
|
|
5853
6186
|
case 4:
|
|
5854
|
-
|
|
6187
|
+
_context24.next = 10;
|
|
5855
6188
|
break;
|
|
5856
6189
|
case 6:
|
|
5857
|
-
|
|
5858
|
-
|
|
5859
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "),
|
|
5860
|
-
throw
|
|
6190
|
+
_context24.prev = 6;
|
|
6191
|
+
_context24.t0 = _context24["catch"](1);
|
|
6192
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "), _context24.t0);
|
|
6193
|
+
throw _context24.t0;
|
|
5861
6194
|
case 10:
|
|
5862
6195
|
case "end":
|
|
5863
|
-
return
|
|
6196
|
+
return _context24.stop();
|
|
5864
6197
|
}
|
|
5865
|
-
},
|
|
6198
|
+
}, _callee24, this, [[1, 6]]);
|
|
5866
6199
|
}));
|
|
5867
|
-
function retryEstablishMediaConnectionWithForcedTurnDiscovery(
|
|
6200
|
+
function retryEstablishMediaConnectionWithForcedTurnDiscovery(_x19, _x20) {
|
|
5868
6201
|
return _retryEstablishMediaConnectionWithForcedTurnDiscovery.apply(this, arguments);
|
|
5869
6202
|
}
|
|
5870
6203
|
return retryEstablishMediaConnectionWithForcedTurnDiscovery;
|
|
@@ -5878,17 +6211,18 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5878
6211
|
* @param {BundlePolicy} [bundlePolicy]
|
|
5879
6212
|
* @returns {Promise<void>}
|
|
5880
6213
|
*/
|
|
6214
|
+
)
|
|
5881
6215
|
}, {
|
|
5882
6216
|
key: "retryWithForcedTurnDiscovery",
|
|
5883
|
-
value: function () {
|
|
5884
|
-
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6217
|
+
value: (function () {
|
|
6218
|
+
var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee25(remoteMediaManagerConfig, bundlePolicy) {
|
|
5885
6219
|
var LOG_HEADER;
|
|
5886
|
-
return _regenerator.default.wrap(function
|
|
5887
|
-
while (1) switch (
|
|
6220
|
+
return _regenerator.default.wrap(function _callee25$(_context25) {
|
|
6221
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
5888
6222
|
case 0:
|
|
5889
6223
|
this.retriedWithTurnServer = true;
|
|
5890
6224
|
LOG_HEADER = 'Meeting:index#addMedia():retryWithForcedTurnDiscovery -->';
|
|
5891
|
-
|
|
6225
|
+
_context25.next = 4;
|
|
5892
6226
|
return this.cleanUpBeforeRetryWithTurnServer();
|
|
5893
6227
|
case 4:
|
|
5894
6228
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_RETRY, {
|
|
@@ -5898,24 +6232,24 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5898
6232
|
reason: 'forcingTurnTls'
|
|
5899
6233
|
});
|
|
5900
6234
|
if (!(this.state === _constants.MEETING_STATE.STATES.LEFT)) {
|
|
5901
|
-
|
|
6235
|
+
_context25.next = 9;
|
|
5902
6236
|
break;
|
|
5903
6237
|
}
|
|
5904
6238
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " meeting state was LEFT after first attempt to establish media connection. Attempting to rejoin. "));
|
|
5905
|
-
|
|
6239
|
+
_context25.next = 9;
|
|
5906
6240
|
return this.join({
|
|
5907
6241
|
rejoin: true
|
|
5908
6242
|
});
|
|
5909
6243
|
case 9:
|
|
5910
|
-
|
|
6244
|
+
_context25.next = 11;
|
|
5911
6245
|
return this.retryEstablishMediaConnectionWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
5912
6246
|
case 11:
|
|
5913
6247
|
case "end":
|
|
5914
|
-
return
|
|
6248
|
+
return _context25.stop();
|
|
5915
6249
|
}
|
|
5916
|
-
},
|
|
6250
|
+
}, _callee25, this);
|
|
5917
6251
|
}));
|
|
5918
|
-
function retryWithForcedTurnDiscovery(
|
|
6252
|
+
function retryWithForcedTurnDiscovery(_x21, _x22) {
|
|
5919
6253
|
return _retryWithForcedTurnDiscovery.apply(this, arguments);
|
|
5920
6254
|
}
|
|
5921
6255
|
return retryWithForcedTurnDiscovery;
|
|
@@ -5931,77 +6265,73 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5931
6265
|
* @param {BundlePolicy} [bundlePolicy]
|
|
5932
6266
|
* @returns {Promise<void>}
|
|
5933
6267
|
*/
|
|
6268
|
+
)
|
|
5934
6269
|
}, {
|
|
5935
6270
|
key: "handleWaitForMediaConnectionConnectedError",
|
|
5936
|
-
value: function () {
|
|
5937
|
-
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6271
|
+
value: (function () {
|
|
6272
|
+
var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee26(error, remoteMediaManagerConfig, bundlePolicy) {
|
|
5938
6273
|
var LOG_HEADER;
|
|
5939
|
-
return _regenerator.default.wrap(function
|
|
5940
|
-
while (1) switch (
|
|
6274
|
+
return _regenerator.default.wrap(function _callee26$(_context26) {
|
|
6275
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
5941
6276
|
case 0:
|
|
5942
6277
|
LOG_HEADER = 'Meeting:index#addMedia():handleWaitForMediaConnectionConnectedError -->'; // @ts-ignore - config coming from registerPlugin
|
|
5943
6278
|
if (this.turnServerUsed) {
|
|
5944
|
-
|
|
6279
|
+
_context26.next = 7;
|
|
5945
6280
|
break;
|
|
5946
6281
|
}
|
|
5947
6282
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " error waiting for media to connect on UDP, TCP, retrying using TURN-TLS, "), error);
|
|
5948
|
-
|
|
6283
|
+
_context26.next = 5;
|
|
5949
6284
|
return this.retryWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
5950
6285
|
case 5:
|
|
5951
|
-
|
|
6286
|
+
_context26.next = 9;
|
|
5952
6287
|
break;
|
|
5953
6288
|
case 7:
|
|
5954
6289
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error waiting for media to connect using UDP, TCP and TURN-TLS"), error);
|
|
5955
6290
|
throw new _webexErrors.AddMediaFailed();
|
|
5956
6291
|
case 9:
|
|
5957
6292
|
case "end":
|
|
5958
|
-
return
|
|
6293
|
+
return _context26.stop();
|
|
5959
6294
|
}
|
|
5960
|
-
},
|
|
6295
|
+
}, _callee26, this);
|
|
5961
6296
|
}));
|
|
5962
|
-
function handleWaitForMediaConnectionConnectedError(
|
|
6297
|
+
function handleWaitForMediaConnectionConnectedError(_x23, _x24, _x25) {
|
|
5963
6298
|
return _handleWaitForMediaConnectionConnectedError.apply(this, arguments);
|
|
5964
6299
|
}
|
|
5965
6300
|
return handleWaitForMediaConnectionConnectedError;
|
|
5966
6301
|
}()
|
|
5967
6302
|
/**
|
|
5968
|
-
*
|
|
6303
|
+
* Performs TURN discovery as a separate call to the Locus /media API
|
|
5969
6304
|
*
|
|
5970
|
-
* @
|
|
5971
|
-
* @param {
|
|
5972
|
-
* @
|
|
5973
|
-
* @param {boolean} [isForced] - let isForced be true to do turn discovery regardless of reachability results
|
|
5974
|
-
* @returns {Promise<void>}
|
|
6305
|
+
* @param {boolean} isRetry
|
|
6306
|
+
* @param {boolean} isForced
|
|
6307
|
+
* @returns {Promise}
|
|
5975
6308
|
*/
|
|
6309
|
+
)
|
|
5976
6310
|
}, {
|
|
5977
|
-
key: "
|
|
5978
|
-
value: function () {
|
|
5979
|
-
var
|
|
5980
|
-
var
|
|
5981
|
-
return _regenerator.default.wrap(function
|
|
5982
|
-
while (1) switch (
|
|
6311
|
+
key: "doTurnDiscovery",
|
|
6312
|
+
value: (function () {
|
|
6313
|
+
var _doTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee27(isRetry, isForced) {
|
|
6314
|
+
var cdl, turnDiscoveryResult;
|
|
6315
|
+
return _regenerator.default.wrap(function _callee27$(_context27) {
|
|
6316
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
5983
6317
|
case 0:
|
|
5984
|
-
LOG_HEADER = 'Meeting:index#addMedia():establishMediaConnection -->'; // @ts-ignore
|
|
5985
|
-
cdl = this.webex.internal.newMetrics.callDiagnosticLatencies;
|
|
5986
|
-
isRetry = this.retriedWithTurnServer;
|
|
5987
|
-
_context25.prev = 3;
|
|
5988
6318
|
// @ts-ignore
|
|
6319
|
+
cdl = this.webex.internal.newMetrics.callDiagnosticLatencies; // @ts-ignore
|
|
5989
6320
|
this.webex.internal.newMetrics.submitInternalEvent({
|
|
5990
6321
|
name: 'internal.client.add-media.turn-discovery.start'
|
|
5991
6322
|
});
|
|
5992
|
-
|
|
6323
|
+
_context27.next = 4;
|
|
5993
6324
|
return this.roap.doTurnDiscovery(this, isRetry, isForced);
|
|
5994
|
-
case
|
|
5995
|
-
|
|
5996
|
-
this.turnDiscoverySkippedReason =
|
|
6325
|
+
case 4:
|
|
6326
|
+
turnDiscoveryResult = _context27.sent;
|
|
6327
|
+
this.turnDiscoverySkippedReason = turnDiscoveryResult === null || turnDiscoveryResult === void 0 ? void 0 : turnDiscoveryResult.turnDiscoverySkippedReason;
|
|
5997
6328
|
this.turnServerUsed = !this.turnDiscoverySkippedReason;
|
|
5998
6329
|
|
|
5999
6330
|
// @ts-ignore
|
|
6000
6331
|
this.webex.internal.newMetrics.submitInternalEvent({
|
|
6001
6332
|
name: 'internal.client.add-media.turn-discovery.end'
|
|
6002
6333
|
});
|
|
6003
|
-
|
|
6004
|
-
if (this.turnServerUsed && turnServerInfo) {
|
|
6334
|
+
if (this.turnServerUsed && turnDiscoveryResult.turnServerInfo) {
|
|
6005
6335
|
_metrics.default.sendBehavioralMetric(_constants2.default.TURN_DISCOVERY_LATENCY, {
|
|
6006
6336
|
correlation_id: this.correlationId,
|
|
6007
6337
|
latency: cdl.getTurnDiscoveryTime(),
|
|
@@ -6009,13 +6339,57 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6009
6339
|
retriedWithTurnServer: this.retriedWithTurnServer
|
|
6010
6340
|
});
|
|
6011
6341
|
}
|
|
6012
|
-
|
|
6342
|
+
return _context27.abrupt("return", turnDiscoveryResult);
|
|
6343
|
+
case 10:
|
|
6344
|
+
case "end":
|
|
6345
|
+
return _context27.stop();
|
|
6346
|
+
}
|
|
6347
|
+
}, _callee27, this);
|
|
6348
|
+
}));
|
|
6349
|
+
function doTurnDiscovery(_x26, _x27) {
|
|
6350
|
+
return _doTurnDiscovery.apply(this, arguments);
|
|
6351
|
+
}
|
|
6352
|
+
return doTurnDiscovery;
|
|
6353
|
+
}()
|
|
6354
|
+
/**
|
|
6355
|
+
* Does TURN discovery, SDP offer/answer exhange, establishes ICE connection and DTLS handshake.
|
|
6356
|
+
*
|
|
6357
|
+
* @private
|
|
6358
|
+
* @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
|
|
6359
|
+
* @param {BundlePolicy} [bundlePolicy]
|
|
6360
|
+
* @param {boolean} [isForced] - let isForced be true to do turn discovery regardless of reachability results
|
|
6361
|
+
* @param {TurnServerInfo} [turnServerInfo]
|
|
6362
|
+
* @returns {Promise<void>}
|
|
6363
|
+
*/
|
|
6364
|
+
)
|
|
6365
|
+
}, {
|
|
6366
|
+
key: "establishMediaConnection",
|
|
6367
|
+
value: (function () {
|
|
6368
|
+
var _establishMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee28(remoteMediaManagerConfig, bundlePolicy, isForced, turnServerInfo) {
|
|
6369
|
+
var LOG_HEADER, isRetry, _yield$this$doTurnDis, mc;
|
|
6370
|
+
return _regenerator.default.wrap(function _callee28$(_context28) {
|
|
6371
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
6372
|
+
case 0:
|
|
6373
|
+
LOG_HEADER = 'Meeting:index#addMedia():establishMediaConnection -->';
|
|
6374
|
+
isRetry = this.retriedWithTurnServer;
|
|
6375
|
+
_context28.prev = 2;
|
|
6376
|
+
if (turnServerInfo) {
|
|
6377
|
+
_context28.next = 8;
|
|
6378
|
+
break;
|
|
6379
|
+
}
|
|
6380
|
+
_context28.next = 6;
|
|
6381
|
+
return this.doTurnDiscovery(isRetry, isForced);
|
|
6382
|
+
case 6:
|
|
6383
|
+
_yield$this$doTurnDis = _context28.sent;
|
|
6384
|
+
turnServerInfo = _yield$this$doTurnDis.turnServerInfo;
|
|
6385
|
+
case 8:
|
|
6386
|
+
_context28.next = 10;
|
|
6013
6387
|
return this.createMediaConnection(turnServerInfo, bundlePolicy);
|
|
6014
|
-
case
|
|
6015
|
-
mc =
|
|
6388
|
+
case 10:
|
|
6389
|
+
mc = _context28.sent;
|
|
6016
6390
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created"));
|
|
6017
6391
|
if (!this.isMultistream) {
|
|
6018
|
-
|
|
6392
|
+
_context28.next = 20;
|
|
6019
6393
|
break;
|
|
6020
6394
|
}
|
|
6021
6395
|
this.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(this.receiveSlotManager, this.mediaRequestManagers, remoteMediaManagerConfig);
|
|
@@ -6023,42 +6397,42 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6023
6397
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.InterpretationAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_INTERPRETATION_AUDIO_CREATED);
|
|
6024
6398
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
|
|
6025
6399
|
this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
|
|
6026
|
-
|
|
6400
|
+
_context28.next = 20;
|
|
6027
6401
|
return this.remoteMediaManager.start();
|
|
6028
|
-
case
|
|
6029
|
-
|
|
6402
|
+
case 20:
|
|
6403
|
+
_context28.next = 22;
|
|
6030
6404
|
return mc.initiateOffer();
|
|
6031
|
-
case
|
|
6032
|
-
|
|
6405
|
+
case 22:
|
|
6406
|
+
_context28.next = 24;
|
|
6033
6407
|
return this.waitForRemoteSDPAnswer();
|
|
6034
|
-
case
|
|
6408
|
+
case 24:
|
|
6035
6409
|
this.handleMediaLogging(this.mediaProperties);
|
|
6036
|
-
|
|
6410
|
+
_context28.next = 31;
|
|
6037
6411
|
break;
|
|
6038
|
-
case
|
|
6039
|
-
|
|
6040
|
-
|
|
6041
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "),
|
|
6042
|
-
throw
|
|
6043
|
-
case
|
|
6044
|
-
|
|
6045
|
-
|
|
6412
|
+
case 27:
|
|
6413
|
+
_context28.prev = 27;
|
|
6414
|
+
_context28.t0 = _context28["catch"](2);
|
|
6415
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _context28.t0);
|
|
6416
|
+
throw _context28.t0;
|
|
6417
|
+
case 31:
|
|
6418
|
+
_context28.prev = 31;
|
|
6419
|
+
_context28.next = 34;
|
|
6046
6420
|
return this.waitForMediaConnectionConnected();
|
|
6047
|
-
case
|
|
6048
|
-
|
|
6421
|
+
case 34:
|
|
6422
|
+
_context28.next = 40;
|
|
6049
6423
|
break;
|
|
6050
|
-
case
|
|
6051
|
-
|
|
6052
|
-
|
|
6053
|
-
|
|
6054
|
-
return this.handleWaitForMediaConnectionConnectedError(
|
|
6055
|
-
case
|
|
6424
|
+
case 36:
|
|
6425
|
+
_context28.prev = 36;
|
|
6426
|
+
_context28.t1 = _context28["catch"](31);
|
|
6427
|
+
_context28.next = 40;
|
|
6428
|
+
return this.handleWaitForMediaConnectionConnectedError(_context28.t1, remoteMediaManagerConfig, bundlePolicy);
|
|
6429
|
+
case 40:
|
|
6056
6430
|
case "end":
|
|
6057
|
-
return
|
|
6431
|
+
return _context28.stop();
|
|
6058
6432
|
}
|
|
6059
|
-
},
|
|
6433
|
+
}, _callee28, this, [[2, 27], [31, 36]]);
|
|
6060
6434
|
}));
|
|
6061
|
-
function establishMediaConnection(
|
|
6435
|
+
function establishMediaConnection(_x28, _x29, _x30, _x31) {
|
|
6062
6436
|
return _establishMediaConnection.apply(this, arguments);
|
|
6063
6437
|
}
|
|
6064
6438
|
return establishMediaConnection;
|
|
@@ -6069,25 +6443,26 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6069
6443
|
* @private
|
|
6070
6444
|
* @returns {Promise<void>}
|
|
6071
6445
|
*/
|
|
6446
|
+
)
|
|
6072
6447
|
}, {
|
|
6073
6448
|
key: "cleanUpOnAddMediaFailure",
|
|
6074
|
-
value: function () {
|
|
6075
|
-
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6076
|
-
return _regenerator.default.wrap(function
|
|
6077
|
-
while (1) switch (
|
|
6449
|
+
value: (function () {
|
|
6450
|
+
var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee29() {
|
|
6451
|
+
return _regenerator.default.wrap(function _callee29$(_context29) {
|
|
6452
|
+
while (1) switch (_context29.prev = _context29.next) {
|
|
6078
6453
|
case 0:
|
|
6079
6454
|
if (!this.statsAnalyzer) {
|
|
6080
|
-
|
|
6455
|
+
_context29.next = 3;
|
|
6081
6456
|
break;
|
|
6082
6457
|
}
|
|
6083
|
-
|
|
6458
|
+
_context29.next = 3;
|
|
6084
6459
|
return this.statsAnalyzer.stopAnalyzer();
|
|
6085
6460
|
case 3:
|
|
6086
6461
|
this.statsAnalyzer = null;
|
|
6087
6462
|
|
|
6088
6463
|
// when media fails, we want to upload a webrtc dump to see whats going on
|
|
6089
6464
|
// this function is async, but returns once the stats have been gathered
|
|
6090
|
-
|
|
6465
|
+
_context29.next = 6;
|
|
6091
6466
|
return this.forceSendStatsReport({
|
|
6092
6467
|
callFrom: 'addMedia'
|
|
6093
6468
|
});
|
|
@@ -6098,9 +6473,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6098
6473
|
}
|
|
6099
6474
|
case 7:
|
|
6100
6475
|
case "end":
|
|
6101
|
-
return
|
|
6476
|
+
return _context29.stop();
|
|
6102
6477
|
}
|
|
6103
|
-
},
|
|
6478
|
+
}, _callee29, this);
|
|
6104
6479
|
}));
|
|
6105
6480
|
function cleanUpOnAddMediaFailure() {
|
|
6106
6481
|
return _cleanUpOnAddMediaFailure.apply(this, arguments);
|
|
@@ -6114,14 +6489,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6114
6489
|
* @private
|
|
6115
6490
|
* @returns {Promise<void>}
|
|
6116
6491
|
*/
|
|
6492
|
+
)
|
|
6117
6493
|
}, {
|
|
6118
6494
|
key: "cleanUpBeforeRetryWithTurnServer",
|
|
6119
|
-
value: function () {
|
|
6120
|
-
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6121
|
-
return _regenerator.default.wrap(function
|
|
6122
|
-
while (1) switch (
|
|
6495
|
+
value: (function () {
|
|
6496
|
+
var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee30() {
|
|
6497
|
+
return _regenerator.default.wrap(function _callee30$(_context30) {
|
|
6498
|
+
while (1) switch (_context30.prev = _context30.next) {
|
|
6123
6499
|
case 0:
|
|
6124
|
-
|
|
6500
|
+
_context30.next = 2;
|
|
6125
6501
|
return this.forceSendStatsReport({
|
|
6126
6502
|
callFrom: 'cleanUpBeforeRetryWithTurnServer'
|
|
6127
6503
|
});
|
|
@@ -6141,9 +6517,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6141
6517
|
}
|
|
6142
6518
|
case 3:
|
|
6143
6519
|
case "end":
|
|
6144
|
-
return
|
|
6520
|
+
return _context30.stop();
|
|
6145
6521
|
}
|
|
6146
|
-
},
|
|
6522
|
+
}, _callee30, this);
|
|
6147
6523
|
}));
|
|
6148
6524
|
function cleanUpBeforeRetryWithTurnServer() {
|
|
6149
6525
|
return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
|
|
@@ -6154,16 +6530,19 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6154
6530
|
* Creates a media connection to the server. Media connection is required for sending or receiving any audio/video.
|
|
6155
6531
|
*
|
|
6156
6532
|
* @param {AddMediaOptions} options
|
|
6533
|
+
* @param {TurnServerInfo} turnServerInfo - TURN server information (used only internally by the SDK)
|
|
6157
6534
|
* @returns {Promise<void>}
|
|
6158
6535
|
* @public
|
|
6159
6536
|
* @memberof Meeting
|
|
6160
6537
|
*/
|
|
6538
|
+
)
|
|
6161
6539
|
}, {
|
|
6162
6540
|
key: "addMedia",
|
|
6163
|
-
value: function () {
|
|
6164
|
-
var _addMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6541
|
+
value: (function () {
|
|
6542
|
+
var _addMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee31() {
|
|
6165
6543
|
var _this$webex$meetings$2, _this$webex$meetings$3;
|
|
6166
6544
|
var options,
|
|
6545
|
+
turnServerInfo,
|
|
6167
6546
|
LOG_HEADER,
|
|
6168
6547
|
localStreams,
|
|
6169
6548
|
_options$audioEnabled,
|
|
@@ -6176,7 +6555,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6176
6555
|
shareVideoEnabled,
|
|
6177
6556
|
remoteMediaManagerConfig,
|
|
6178
6557
|
bundlePolicy,
|
|
6179
|
-
allowMediaInLobby,
|
|
6180
6558
|
_this$remoteMediaMana,
|
|
6181
6559
|
connectionType,
|
|
6182
6560
|
reachabilityStats,
|
|
@@ -6202,38 +6580,39 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6202
6580
|
_this$mediaProperties39,
|
|
6203
6581
|
_this$mediaProperties40,
|
|
6204
6582
|
reachabilityMetrics,
|
|
6205
|
-
|
|
6206
|
-
return _regenerator.default.wrap(function
|
|
6207
|
-
while (1) switch (
|
|
6583
|
+
_args31 = arguments;
|
|
6584
|
+
return _regenerator.default.wrap(function _callee31$(_context31) {
|
|
6585
|
+
while (1) switch (_context31.prev = _context31.next) {
|
|
6208
6586
|
case 0:
|
|
6209
|
-
options =
|
|
6587
|
+
options = _args31.length > 0 && _args31[0] !== undefined ? _args31[0] : {};
|
|
6588
|
+
turnServerInfo = _args31.length > 1 && _args31[1] !== undefined ? _args31[1] : undefined;
|
|
6210
6589
|
this.retriedWithTurnServer = false;
|
|
6211
6590
|
this.hasMediaConnectionConnectedAtLeastOnce = false;
|
|
6212
6591
|
LOG_HEADER = 'Meeting:index#addMedia -->';
|
|
6213
|
-
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: ").concat((0, _stringify.default)(options)));
|
|
6592
|
+
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: ").concat((0, _stringify.default)(options), ", ").concat((0, _stringify.default)(turnServerInfo)));
|
|
6214
6593
|
if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
|
|
6215
|
-
|
|
6594
|
+
_context31.next = 8;
|
|
6216
6595
|
break;
|
|
6217
6596
|
}
|
|
6218
6597
|
throw new _webexErrors.MeetingNotActiveError();
|
|
6219
|
-
case
|
|
6220
|
-
if (!
|
|
6221
|
-
|
|
6598
|
+
case 8:
|
|
6599
|
+
if (!_util2.default.isUserInLeftState(this.locusInfo)) {
|
|
6600
|
+
_context31.next = 10;
|
|
6222
6601
|
break;
|
|
6223
6602
|
}
|
|
6224
6603
|
throw new _webexErrors.UserNotJoinedError();
|
|
6225
|
-
case
|
|
6226
|
-
localStreams = options.localStreams, _options$audioEnabled = options.audioEnabled, audioEnabled = _options$audioEnabled === void 0 ? true : _options$audioEnabled, _options$videoEnabled = options.videoEnabled, videoEnabled = _options$videoEnabled === void 0 ? true : _options$videoEnabled, _options$shareAudioEn = options.shareAudioEnabled, shareAudioEnabled = _options$shareAudioEn === void 0 ? true : _options$shareAudioEn, _options$shareVideoEn = options.shareVideoEnabled, shareVideoEnabled = _options$shareVideoEn === void 0 ? true : _options$shareVideoEn, remoteMediaManagerConfig = options.remoteMediaManagerConfig, bundlePolicy = options.bundlePolicy
|
|
6604
|
+
case 10:
|
|
6605
|
+
localStreams = options.localStreams, _options$audioEnabled = options.audioEnabled, audioEnabled = _options$audioEnabled === void 0 ? true : _options$audioEnabled, _options$videoEnabled = options.videoEnabled, videoEnabled = _options$videoEnabled === void 0 ? true : _options$videoEnabled, _options$shareAudioEn = options.shareAudioEnabled, shareAudioEnabled = _options$shareAudioEn === void 0 ? true : _options$shareAudioEn, _options$shareVideoEn = options.shareVideoEnabled, shareVideoEnabled = _options$shareVideoEn === void 0 ? true : _options$shareVideoEn, remoteMediaManagerConfig = options.remoteMediaManagerConfig, bundlePolicy = options.bundlePolicy;
|
|
6227
6606
|
this.allowMediaInLobby = options === null || options === void 0 ? void 0 : options.allowMediaInLobby;
|
|
6228
6607
|
|
|
6229
6608
|
// If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
|
|
6230
6609
|
// @ts-ignore - isUserUnadmitted coming from SelfUtil
|
|
6231
|
-
if (!(this.isUserUnadmitted && !this.wirelessShare && !allowMediaInLobby)) {
|
|
6232
|
-
|
|
6610
|
+
if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
|
|
6611
|
+
_context31.next = 14;
|
|
6233
6612
|
break;
|
|
6234
6613
|
}
|
|
6235
6614
|
throw new _webexErrors.UserInLobbyError();
|
|
6236
|
-
case
|
|
6615
|
+
case 14:
|
|
6237
6616
|
// @ts-ignore
|
|
6238
6617
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
6239
6618
|
name: 'client.media.capabilities',
|
|
@@ -6288,33 +6667,42 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6288
6667
|
});
|
|
6289
6668
|
this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
|
|
6290
6669
|
this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
|
|
6291
|
-
|
|
6292
|
-
|
|
6670
|
+
_context31.prev = 19;
|
|
6671
|
+
_context31.next = 22;
|
|
6293
6672
|
return this.setUpLocalStreamReferences(localStreams);
|
|
6294
|
-
case
|
|
6673
|
+
case 22:
|
|
6295
6674
|
this.setMercuryListener();
|
|
6296
6675
|
this.createStatsAnalyzer();
|
|
6297
|
-
|
|
6298
|
-
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, false);
|
|
6299
|
-
case
|
|
6300
|
-
|
|
6676
|
+
_context31.next = 26;
|
|
6677
|
+
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, false, turnServerInfo);
|
|
6678
|
+
case 26:
|
|
6679
|
+
if (!(audioEnabled || videoEnabled)) {
|
|
6680
|
+
_context31.next = 31;
|
|
6681
|
+
break;
|
|
6682
|
+
}
|
|
6683
|
+
_context31.next = 29;
|
|
6301
6684
|
return Meeting.handleDeviceLogging();
|
|
6302
|
-
case
|
|
6685
|
+
case 29:
|
|
6686
|
+
_context31.next = 32;
|
|
6687
|
+
break;
|
|
6688
|
+
case 31:
|
|
6689
|
+
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " device logging not required"));
|
|
6690
|
+
case 32:
|
|
6303
6691
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
6304
|
-
|
|
6692
|
+
_context31.next = 35;
|
|
6305
6693
|
break;
|
|
6306
6694
|
}
|
|
6307
|
-
|
|
6695
|
+
_context31.next = 35;
|
|
6308
6696
|
return this.enqueueScreenShareFloorRequest();
|
|
6309
|
-
case
|
|
6310
|
-
|
|
6697
|
+
case 35:
|
|
6698
|
+
_context31.next = 37;
|
|
6311
6699
|
return this.mediaProperties.getCurrentConnectionType();
|
|
6312
|
-
case
|
|
6313
|
-
connectionType =
|
|
6314
|
-
|
|
6700
|
+
case 37:
|
|
6701
|
+
connectionType = _context31.sent;
|
|
6702
|
+
_context31.next = 40;
|
|
6315
6703
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6316
|
-
case
|
|
6317
|
-
reachabilityStats =
|
|
6704
|
+
case 40:
|
|
6705
|
+
reachabilityStats = _context31.sent;
|
|
6318
6706
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread({
|
|
6319
6707
|
correlation_id: this.correlationId,
|
|
6320
6708
|
locus_id: this.locusUrl.split('/').pop(),
|
|
@@ -6333,24 +6721,24 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6333
6721
|
|
|
6334
6722
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
6335
6723
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
6336
|
-
|
|
6724
|
+
_context31.next = 59;
|
|
6337
6725
|
break;
|
|
6338
|
-
case
|
|
6339
|
-
|
|
6340
|
-
|
|
6341
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "),
|
|
6726
|
+
case 47:
|
|
6727
|
+
_context31.prev = 47;
|
|
6728
|
+
_context31.t0 = _context31["catch"](19);
|
|
6729
|
+
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context31.t0);
|
|
6342
6730
|
|
|
6343
6731
|
// @ts-ignore
|
|
6344
|
-
|
|
6732
|
+
_context31.next = 52;
|
|
6345
6733
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6346
|
-
case
|
|
6347
|
-
reachabilityMetrics =
|
|
6734
|
+
case 52:
|
|
6735
|
+
reachabilityMetrics = _context31.sent;
|
|
6348
6736
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread({
|
|
6349
6737
|
correlation_id: this.correlationId,
|
|
6350
6738
|
locus_id: this.locusUrl.split('/').pop(),
|
|
6351
|
-
reason:
|
|
6352
|
-
stack:
|
|
6353
|
-
code:
|
|
6739
|
+
reason: _context31.t0.message,
|
|
6740
|
+
stack: _context31.t0.stack,
|
|
6741
|
+
code: _context31.t0.code,
|
|
6354
6742
|
turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
|
|
6355
6743
|
turnServerUsed: this.turnServerUsed,
|
|
6356
6744
|
retriedWithTurnServer: this.retriedWithTurnServer,
|
|
@@ -6359,25 +6747,25 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6359
6747
|
connectionState: ((_this$mediaProperties27 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties27 === void 0 ? void 0 : (_this$mediaProperties28 = _this$mediaProperties27.multistreamConnection) === null || _this$mediaProperties28 === void 0 ? void 0 : (_this$mediaProperties29 = _this$mediaProperties28.pc) === null || _this$mediaProperties29 === void 0 ? void 0 : (_this$mediaProperties30 = _this$mediaProperties29.pc) === null || _this$mediaProperties30 === void 0 ? void 0 : _this$mediaProperties30.connectionState) || ((_this$mediaProperties31 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties31 === void 0 ? void 0 : (_this$mediaProperties32 = _this$mediaProperties31.mediaConnection) === null || _this$mediaProperties32 === void 0 ? void 0 : (_this$mediaProperties33 = _this$mediaProperties32.pc) === null || _this$mediaProperties33 === void 0 ? void 0 : _this$mediaProperties33.connectionState) || 'unknown',
|
|
6360
6748
|
iceConnectionState: ((_this$mediaProperties34 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties34 === void 0 ? void 0 : (_this$mediaProperties35 = _this$mediaProperties34.multistreamConnection) === null || _this$mediaProperties35 === void 0 ? void 0 : (_this$mediaProperties36 = _this$mediaProperties35.pc) === null || _this$mediaProperties36 === void 0 ? void 0 : (_this$mediaProperties37 = _this$mediaProperties36.pc) === null || _this$mediaProperties37 === void 0 ? void 0 : _this$mediaProperties37.iceConnectionState) || ((_this$mediaProperties38 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties38 === void 0 ? void 0 : (_this$mediaProperties39 = _this$mediaProperties38.mediaConnection) === null || _this$mediaProperties39 === void 0 ? void 0 : (_this$mediaProperties40 = _this$mediaProperties39.pc) === null || _this$mediaProperties40 === void 0 ? void 0 : _this$mediaProperties40.iceConnectionState) || 'unknown'
|
|
6361
6749
|
}, reachabilityMetrics));
|
|
6362
|
-
|
|
6750
|
+
_context31.next = 56;
|
|
6363
6751
|
return this.cleanUpOnAddMediaFailure();
|
|
6364
|
-
case
|
|
6752
|
+
case 56:
|
|
6365
6753
|
// Upload logs on error while adding media
|
|
6366
6754
|
_triggerProxy.default.trigger(this, {
|
|
6367
6755
|
file: 'meeting/index',
|
|
6368
6756
|
function: 'addMedia'
|
|
6369
6757
|
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
|
|
6370
|
-
if (
|
|
6758
|
+
if (_context31.t0 instanceof _internalMediaCore.Errors.SdpError) {
|
|
6371
6759
|
this.leave({
|
|
6372
6760
|
reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
|
|
6373
6761
|
});
|
|
6374
6762
|
}
|
|
6375
|
-
throw
|
|
6376
|
-
case
|
|
6763
|
+
throw _context31.t0;
|
|
6764
|
+
case 59:
|
|
6377
6765
|
case "end":
|
|
6378
|
-
return
|
|
6766
|
+
return _context31.stop();
|
|
6379
6767
|
}
|
|
6380
|
-
},
|
|
6768
|
+
}, _callee31, this, [[19, 47]]);
|
|
6381
6769
|
}));
|
|
6382
6770
|
function addMedia() {
|
|
6383
6771
|
return _addMedia.apply(this, arguments);
|
|
@@ -6388,6 +6776,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6388
6776
|
* Informs if the peer connection is in a state that can be updated with updateMedia (audio/video/share)
|
|
6389
6777
|
* @returns {Boolean}
|
|
6390
6778
|
*/
|
|
6779
|
+
)
|
|
6391
6780
|
}, {
|
|
6392
6781
|
key: "canUpdateMedia",
|
|
6393
6782
|
value: function canUpdateMedia() {
|
|
@@ -6396,13 +6785,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6396
6785
|
// so for now it's better to keep queuing any media updates at SDK meeting level
|
|
6397
6786
|
return !this.isRoapInProgress;
|
|
6398
6787
|
}
|
|
6399
|
-
|
|
6400
|
-
/**
|
|
6401
|
-
* media failed, so collect a stats report from webrtc using the wcme connection to grab the rtc stats report
|
|
6402
|
-
* send a webrtc telemetry dump to the configured server using the internal media core check metrics configured callback
|
|
6403
|
-
* @param {String} callFrom - the function calling this function, optional.
|
|
6404
|
-
* @returns {Promise<void>}
|
|
6405
|
-
*/
|
|
6406
6788
|
}, {
|
|
6407
6789
|
key: "enqueueMediaUpdate",
|
|
6408
6790
|
value:
|
|
@@ -6415,7 +6797,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6415
6797
|
* @memberof Meeting
|
|
6416
6798
|
*/
|
|
6417
6799
|
function enqueueMediaUpdate(mediaUpdateType) {
|
|
6418
|
-
var
|
|
6800
|
+
var _this39 = this;
|
|
6419
6801
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
6420
6802
|
var canUpdateMediaNow = this.canUpdateMedia();
|
|
6421
6803
|
return new _promise.default(function (resolve, reject) {
|
|
@@ -6426,22 +6808,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6426
6808
|
options: options
|
|
6427
6809
|
};
|
|
6428
6810
|
_loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
|
|
6429
|
-
|
|
6811
|
+
_this39.queuedMediaUpdates.push(queueItem);
|
|
6430
6812
|
if (canUpdateMediaNow) {
|
|
6431
|
-
|
|
6813
|
+
_this39.processNextQueuedMediaUpdate();
|
|
6432
6814
|
}
|
|
6433
6815
|
});
|
|
6434
6816
|
}
|
|
6435
|
-
|
|
6436
|
-
/**
|
|
6437
|
-
* emits event when the negotation is completed
|
|
6438
|
-
* @returns {void}
|
|
6439
|
-
* @private
|
|
6440
|
-
* @memberof Meeting
|
|
6441
|
-
*/
|
|
6442
6817
|
}, {
|
|
6443
6818
|
key: "updateMedia",
|
|
6444
|
-
value:
|
|
6819
|
+
value: (
|
|
6445
6820
|
/**
|
|
6446
6821
|
* Updates the media connection - it allows to enable/disable all audio/video/share in the meeting.
|
|
6447
6822
|
* This does not affect the published tracks, so for example if a microphone track is published and
|
|
@@ -6458,35 +6833,35 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6458
6833
|
* @memberof Meeting
|
|
6459
6834
|
*/
|
|
6460
6835
|
function () {
|
|
6461
|
-
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
6836
|
+
var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee32(options) {
|
|
6462
6837
|
var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled;
|
|
6463
|
-
return _regenerator.default.wrap(function
|
|
6464
|
-
while (1) switch (
|
|
6838
|
+
return _regenerator.default.wrap(function _callee32$(_context32) {
|
|
6839
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
6465
6840
|
case 0:
|
|
6466
6841
|
this.checkMediaConnection();
|
|
6467
6842
|
audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
|
|
6468
6843
|
_loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
|
|
6469
6844
|
if (this.canUpdateMedia()) {
|
|
6470
|
-
|
|
6845
|
+
_context32.next = 5;
|
|
6471
6846
|
break;
|
|
6472
6847
|
}
|
|
6473
|
-
return
|
|
6848
|
+
return _context32.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
|
|
6474
6849
|
case 5:
|
|
6475
6850
|
if (!this.isMultistream) {
|
|
6476
|
-
|
|
6851
|
+
_context32.next = 10;
|
|
6477
6852
|
break;
|
|
6478
6853
|
}
|
|
6479
6854
|
if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
|
|
6480
|
-
|
|
6855
|
+
_context32.next = 8;
|
|
6481
6856
|
break;
|
|
6482
6857
|
}
|
|
6483
6858
|
throw new Error('toggling shareAudioEnabled or shareVideoEnabled in a multistream meeting is not supported, to control receiving screen share call meeting.remoteMediaManager.setLayout() with appropriate layout');
|
|
6484
6859
|
case 8:
|
|
6485
|
-
|
|
6860
|
+
_context32.next = 12;
|
|
6486
6861
|
break;
|
|
6487
6862
|
case 10:
|
|
6488
6863
|
if (!(shareAudioEnabled !== undefined)) {
|
|
6489
|
-
|
|
6864
|
+
_context32.next = 12;
|
|
6490
6865
|
break;
|
|
6491
6866
|
}
|
|
6492
6867
|
throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
|
|
@@ -6511,20 +6886,20 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6511
6886
|
this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
|
|
6512
6887
|
}
|
|
6513
6888
|
if (this.isMultistream) {
|
|
6514
|
-
|
|
6889
|
+
_context32.next = 18;
|
|
6515
6890
|
break;
|
|
6516
6891
|
}
|
|
6517
|
-
|
|
6892
|
+
_context32.next = 18;
|
|
6518
6893
|
return this.updateTranscodedMediaConnection();
|
|
6519
6894
|
case 18:
|
|
6520
|
-
return
|
|
6895
|
+
return _context32.abrupt("return", undefined);
|
|
6521
6896
|
case 19:
|
|
6522
6897
|
case "end":
|
|
6523
|
-
return
|
|
6898
|
+
return _context32.stop();
|
|
6524
6899
|
}
|
|
6525
|
-
},
|
|
6900
|
+
}, _callee32, this);
|
|
6526
6901
|
}));
|
|
6527
|
-
function updateMedia(
|
|
6902
|
+
function updateMedia(_x32) {
|
|
6528
6903
|
return _updateMedia.apply(this, arguments);
|
|
6529
6904
|
}
|
|
6530
6905
|
return updateMedia;
|
|
@@ -6536,10 +6911,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6536
6911
|
* @public
|
|
6537
6912
|
* @memberof Meeting
|
|
6538
6913
|
*/
|
|
6914
|
+
)
|
|
6539
6915
|
}, {
|
|
6540
6916
|
key: "acknowledge",
|
|
6541
6917
|
value: function acknowledge(type) {
|
|
6542
|
-
var
|
|
6918
|
+
var _this40 = this;
|
|
6543
6919
|
if (!type) {
|
|
6544
6920
|
return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
|
|
6545
6921
|
}
|
|
@@ -6551,12 +6927,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6551
6927
|
}).then(function (response) {
|
|
6552
6928
|
return _promise.default.resolve(response);
|
|
6553
6929
|
}).then(function (response) {
|
|
6554
|
-
|
|
6930
|
+
_this40.meetingFiniteStateMachine.ring(type);
|
|
6555
6931
|
// @ts-ignore
|
|
6556
|
-
|
|
6932
|
+
_this40.webex.internal.newMetrics.submitClientEvent({
|
|
6557
6933
|
name: 'client.alert.displayed',
|
|
6558
6934
|
options: {
|
|
6559
|
-
meetingId:
|
|
6935
|
+
meetingId: _this40.id
|
|
6560
6936
|
}
|
|
6561
6937
|
});
|
|
6562
6938
|
return _promise.default.resolve({
|
|
@@ -6581,12 +6957,12 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6581
6957
|
}, {
|
|
6582
6958
|
key: "decline",
|
|
6583
6959
|
value: function decline(reason) {
|
|
6584
|
-
var
|
|
6585
|
-
return
|
|
6586
|
-
|
|
6960
|
+
var _this41 = this;
|
|
6961
|
+
return _util2.default.declineMeeting(this, reason).then(function (decline) {
|
|
6962
|
+
_this41.meetingFiniteStateMachine.decline();
|
|
6587
6963
|
return _promise.default.resolve(decline);
|
|
6588
6964
|
}).catch(function (error) {
|
|
6589
|
-
|
|
6965
|
+
_this41.meetingFiniteStateMachine.fail(error);
|
|
6590
6966
|
return _promise.default.reject(error);
|
|
6591
6967
|
});
|
|
6592
6968
|
}
|
|
@@ -6616,7 +6992,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6616
6992
|
key: "buildLeaveFetchRequestOptions",
|
|
6617
6993
|
value: function buildLeaveFetchRequestOptions() {
|
|
6618
6994
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6619
|
-
var requestOptions =
|
|
6995
|
+
var requestOptions = _util2.default.buildLeaveFetchRequestOptions(this, options);
|
|
6620
6996
|
|
|
6621
6997
|
// @ts-ignore
|
|
6622
6998
|
return this.webex.prepareFetchOptions(requestOptions);
|
|
@@ -6637,7 +7013,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6637
7013
|
}, {
|
|
6638
7014
|
key: "leave",
|
|
6639
7015
|
value: function leave() {
|
|
6640
|
-
var
|
|
7016
|
+
var _this42 = this;
|
|
6641
7017
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6642
7018
|
var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
|
|
6643
7019
|
|
|
@@ -6649,7 +7025,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6649
7025
|
var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6650
7026
|
return (
|
|
6651
7027
|
// @ts-ignore
|
|
6652
|
-
|
|
7028
|
+
_this42.webex.internal.newMetrics.submitClientEvent({
|
|
6653
7029
|
name: 'client.call.leave',
|
|
6654
7030
|
payload: _objectSpread({
|
|
6655
7031
|
trigger: 'user-interaction',
|
|
@@ -6657,33 +7033,33 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6657
7033
|
leaveReason: options.clientEventLeaveReason
|
|
6658
7034
|
}, payload),
|
|
6659
7035
|
options: {
|
|
6660
|
-
meetingId:
|
|
7036
|
+
meetingId: _this42.id
|
|
6661
7037
|
}
|
|
6662
7038
|
})
|
|
6663
7039
|
);
|
|
6664
7040
|
};
|
|
6665
7041
|
_loggerProxy.default.logger.log('Meeting:index#leave --> Leaving a meeting');
|
|
6666
|
-
return
|
|
7042
|
+
return _util2.default.leaveMeeting(this, options).then(function (leave) {
|
|
6667
7043
|
// CA team recommends submitting this *after* locus /leave
|
|
6668
7044
|
submitLeaveMetric();
|
|
6669
|
-
|
|
6670
|
-
|
|
7045
|
+
_this42.meetingFiniteStateMachine.leave();
|
|
7046
|
+
_this42.clearMeetingData();
|
|
6671
7047
|
|
|
6672
7048
|
// upload logs on leave irrespective of meeting delete
|
|
6673
|
-
_triggerProxy.default.trigger(
|
|
7049
|
+
_triggerProxy.default.trigger(_this42, {
|
|
6674
7050
|
file: 'meeting/index',
|
|
6675
7051
|
function: 'leave'
|
|
6676
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7052
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this42);
|
|
6677
7053
|
|
|
6678
7054
|
// TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
|
|
6679
|
-
if (
|
|
7055
|
+
if (_this42.wirelessShare || _this42.guest) {
|
|
6680
7056
|
// If screen sharing clean the meeting object
|
|
6681
|
-
_triggerProxy.default.trigger(
|
|
7057
|
+
_triggerProxy.default.trigger(_this42, {
|
|
6682
7058
|
file: 'meeting/index',
|
|
6683
7059
|
function: 'leave'
|
|
6684
7060
|
}, _constants.EVENTS.DESTROY_MEETING, {
|
|
6685
7061
|
reason: options.reason,
|
|
6686
|
-
meetingId:
|
|
7062
|
+
meetingId: _this42.id
|
|
6687
7063
|
});
|
|
6688
7064
|
}
|
|
6689
7065
|
_loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
|
|
@@ -6700,16 +7076,16 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6700
7076
|
shownToUser: false
|
|
6701
7077
|
}]
|
|
6702
7078
|
});
|
|
6703
|
-
|
|
7079
|
+
_this42.meetingFiniteStateMachine.fail(error);
|
|
6704
7080
|
_loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
|
|
6705
7081
|
// upload logs on leave irrespective of meeting delete
|
|
6706
|
-
_triggerProxy.default.trigger(
|
|
7082
|
+
_triggerProxy.default.trigger(_this42, {
|
|
6707
7083
|
file: 'meeting/index',
|
|
6708
7084
|
function: 'leave'
|
|
6709
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7085
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this42);
|
|
6710
7086
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
|
6711
|
-
correlation_id:
|
|
6712
|
-
locus_id:
|
|
7087
|
+
correlation_id: _this42.correlationId,
|
|
7088
|
+
locus_id: _this42.locusUrl.split('/').pop(),
|
|
6713
7089
|
reason: error.message,
|
|
6714
7090
|
stack: error.stack,
|
|
6715
7091
|
code: error.code
|
|
@@ -6729,7 +7105,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6729
7105
|
}, {
|
|
6730
7106
|
key: "startWhiteboardShare",
|
|
6731
7107
|
value: function startWhiteboardShare(channelUrl, resourceToken) {
|
|
6732
|
-
var
|
|
7108
|
+
var _this43 = this;
|
|
6733
7109
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
6734
7110
|
return element.name === 'whiteboard';
|
|
6735
7111
|
});
|
|
@@ -6758,13 +7134,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6758
7134
|
body.resourceToken = resourceToken;
|
|
6759
7135
|
}
|
|
6760
7136
|
return this.meetingRequest.changeMeetingFloor(body).then(function () {
|
|
6761
|
-
|
|
7137
|
+
_this43.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
6762
7138
|
return _promise.default.resolve();
|
|
6763
7139
|
}).catch(function (error) {
|
|
6764
7140
|
_loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
|
|
6765
7141
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
|
|
6766
|
-
correlation_id:
|
|
6767
|
-
locus_id:
|
|
7142
|
+
correlation_id: _this43.correlationId,
|
|
7143
|
+
locus_id: _this43.locusUrl.split('/').pop(),
|
|
6768
7144
|
reason: error.message,
|
|
6769
7145
|
stack: error.stack,
|
|
6770
7146
|
board: {
|
|
@@ -6787,7 +7163,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6787
7163
|
}, {
|
|
6788
7164
|
key: "stopWhiteboardShare",
|
|
6789
7165
|
value: function stopWhiteboardShare(channelUrl) {
|
|
6790
|
-
var
|
|
7166
|
+
var _this44 = this;
|
|
6791
7167
|
var whiteboard = this.locusInfo.mediaShares.find(function (element) {
|
|
6792
7168
|
return element.name === 'whiteboard';
|
|
6793
7169
|
});
|
|
@@ -6810,8 +7186,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6810
7186
|
}).catch(function (error) {
|
|
6811
7187
|
_loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
|
|
6812
7188
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
|
|
6813
|
-
correlation_id:
|
|
6814
|
-
locus_id:
|
|
7189
|
+
correlation_id: _this44.correlationId,
|
|
7190
|
+
locus_id: _this44.locusUrl.split('/').pop(),
|
|
6815
7191
|
reason: error.message,
|
|
6816
7192
|
stack: error.stack,
|
|
6817
7193
|
board: {
|
|
@@ -6833,7 +7209,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6833
7209
|
}, {
|
|
6834
7210
|
key: "requestScreenShareFloor",
|
|
6835
7211
|
value: function requestScreenShareFloor() {
|
|
6836
|
-
var
|
|
7212
|
+
var _this45 = this;
|
|
6837
7213
|
if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
|
|
6838
7214
|
_loggerProxy.default.logger.log("Meeting:index#requestScreenShareFloor --> NOT requesting floor, because we don't have the share stream anymore (shareStream=".concat(this.mediaProperties.shareVideoStream ? 'yes' : 'no', ", sendShare=").concat(this.mediaProperties.mediaDirection.sendShare, ")"));
|
|
6839
7215
|
this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
@@ -6864,34 +7240,34 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6864
7240
|
resourceUrl: this.resourceUrl,
|
|
6865
7241
|
shareInstanceId: this.localShareInstanceId
|
|
6866
7242
|
}).then(function () {
|
|
6867
|
-
|
|
7243
|
+
_this45.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
|
6868
7244
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
|
|
6869
|
-
correlation_id:
|
|
6870
|
-
locus_id:
|
|
7245
|
+
correlation_id: _this45.correlationId,
|
|
7246
|
+
locus_id: _this45.locusUrl.split('/').pop()
|
|
6871
7247
|
});
|
|
6872
7248
|
return _promise.default.resolve();
|
|
6873
7249
|
}).catch(function (error) {
|
|
6874
7250
|
_loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
|
|
6875
7251
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
|
|
6876
|
-
correlation_id:
|
|
6877
|
-
locus_id:
|
|
7252
|
+
correlation_id: _this45.correlationId,
|
|
7253
|
+
locus_id: _this45.locusUrl.split('/').pop(),
|
|
6878
7254
|
reason: error.message,
|
|
6879
7255
|
stack: error.stack
|
|
6880
7256
|
});
|
|
6881
7257
|
|
|
6882
7258
|
// @ts-ignore
|
|
6883
|
-
|
|
7259
|
+
_this45.webex.internal.newMetrics.submitClientEvent({
|
|
6884
7260
|
name: 'client.share.floor-granted.local',
|
|
6885
7261
|
payload: {
|
|
6886
7262
|
mediaType: 'share',
|
|
6887
|
-
errors:
|
|
6888
|
-
shareInstanceId:
|
|
7263
|
+
errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
|
|
7264
|
+
shareInstanceId: _this45.localShareInstanceId
|
|
6889
7265
|
},
|
|
6890
7266
|
options: {
|
|
6891
|
-
meetingId:
|
|
7267
|
+
meetingId: _this45.id
|
|
6892
7268
|
}
|
|
6893
7269
|
});
|
|
6894
|
-
|
|
7270
|
+
_this45.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
|
|
6895
7271
|
return _promise.default.reject(error);
|
|
6896
7272
|
});
|
|
6897
7273
|
}
|
|
@@ -6914,10 +7290,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6914
7290
|
}, {
|
|
6915
7291
|
key: "requestScreenShareFloorIfPending",
|
|
6916
7292
|
value: function requestScreenShareFloorIfPending() {
|
|
6917
|
-
var
|
|
7293
|
+
var _this46 = this;
|
|
6918
7294
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
|
6919
7295
|
this.requestScreenShareFloor().then(function () {
|
|
6920
|
-
|
|
7296
|
+
_this46.floorGrantPending = false;
|
|
6921
7297
|
});
|
|
6922
7298
|
}
|
|
6923
7299
|
}
|
|
@@ -6931,7 +7307,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6931
7307
|
}, {
|
|
6932
7308
|
key: "releaseScreenShareFloor",
|
|
6933
7309
|
value: function releaseScreenShareFloor() {
|
|
6934
|
-
var
|
|
7310
|
+
var _this47 = this;
|
|
6935
7311
|
var content = this.locusInfo.mediaShares.find(function (element) {
|
|
6936
7312
|
return element.name === _constants.CONTENT;
|
|
6937
7313
|
});
|
|
@@ -6966,8 +7342,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6966
7342
|
}).catch(function (error) {
|
|
6967
7343
|
_loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
|
|
6968
7344
|
_metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
|
|
6969
|
-
correlation_id:
|
|
6970
|
-
locus_id:
|
|
7345
|
+
correlation_id: _this47.correlationId,
|
|
7346
|
+
locus_id: _this47.locusUrl.split('/').pop(),
|
|
6971
7347
|
reason: error.message,
|
|
6972
7348
|
stack: error.stack
|
|
6973
7349
|
});
|
|
@@ -7077,7 +7453,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7077
7453
|
}, {
|
|
7078
7454
|
key: "lockMeeting",
|
|
7079
7455
|
value: function lockMeeting() {
|
|
7080
|
-
return
|
|
7456
|
+
return _util2.default.lockMeeting(this.inMeetingActions, this.meetingRequest, this.locusUrl);
|
|
7081
7457
|
}
|
|
7082
7458
|
|
|
7083
7459
|
/**
|
|
@@ -7089,7 +7465,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7089
7465
|
}, {
|
|
7090
7466
|
key: "unlockMeeting",
|
|
7091
7467
|
value: function unlockMeeting() {
|
|
7092
|
-
return
|
|
7468
|
+
return _util2.default.unlockMeeting(this.inMeetingActions, this.meetingRequest, this.locusUrl);
|
|
7093
7469
|
}
|
|
7094
7470
|
|
|
7095
7471
|
/**
|
|
@@ -7146,7 +7522,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7146
7522
|
}, {
|
|
7147
7523
|
key: "changeVideoLayout",
|
|
7148
7524
|
value: function changeVideoLayout(layoutType) {
|
|
7149
|
-
var
|
|
7525
|
+
var _this48 = this;
|
|
7150
7526
|
var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
7151
7527
|
var main = renderInfo.main,
|
|
7152
7528
|
content = renderInfo.content;
|
|
@@ -7154,7 +7530,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7154
7530
|
mediaDirection = _this$mediaProperties41.mediaDirection,
|
|
7155
7531
|
remoteShareStream = _this$mediaProperties41.remoteShareStream,
|
|
7156
7532
|
remoteVideoStream = _this$mediaProperties41.remoteVideoStream;
|
|
7157
|
-
var layoutInfo = (0,
|
|
7533
|
+
var layoutInfo = (0, _lodash.cloneDeep)(this.lastVideoLayoutInfo);
|
|
7158
7534
|
|
|
7159
7535
|
// TODO: We need a real time value for Audio, Video and Share send indicator
|
|
7160
7536
|
if (mediaDirection.receiveVideo !== true || !remoteVideoStream) {
|
|
@@ -7162,7 +7538,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7162
7538
|
}
|
|
7163
7539
|
if (layoutType) {
|
|
7164
7540
|
if (!_constants.LAYOUT_TYPES.includes(layoutType)) {
|
|
7165
|
-
this.rejectWithErrorLog('Meeting:index#changeVideoLayout --> cannot change video layout, invalid layoutType received.');
|
|
7541
|
+
return this.rejectWithErrorLog('Meeting:index#changeVideoLayout --> cannot change video layout, invalid layoutType received.');
|
|
7166
7542
|
}
|
|
7167
7543
|
layoutInfo.layoutType = layoutType;
|
|
7168
7544
|
}
|
|
@@ -7194,13 +7570,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7194
7570
|
return this.rejectWithErrorLog('Meeting:index#changeVideoLayout --> unable to send renderInfo for content, you are not receiving remote share');
|
|
7195
7571
|
}
|
|
7196
7572
|
}
|
|
7197
|
-
if ((0,
|
|
7573
|
+
if ((0, _lodash.isEqual)(layoutInfo, this.lastVideoLayoutInfo)) {
|
|
7198
7574
|
// nothing changed, no need to send any request
|
|
7199
7575
|
return _promise.default.resolve();
|
|
7200
7576
|
}
|
|
7201
|
-
this.lastVideoLayoutInfo = (0,
|
|
7577
|
+
this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
|
|
7202
7578
|
this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
|
|
7203
|
-
_triggerProxy.default.trigger(
|
|
7579
|
+
_triggerProxy.default.trigger(_this48, {
|
|
7204
7580
|
file: 'meeting/index',
|
|
7205
7581
|
function: 'changeVideoLayout'
|
|
7206
7582
|
}, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
|
|
@@ -7245,13 +7621,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7245
7621
|
this.mediaProperties.setRemoteQualityLevel(level);
|
|
7246
7622
|
return this.updateTranscodedMediaConnection();
|
|
7247
7623
|
}
|
|
7248
|
-
|
|
7249
|
-
/**
|
|
7250
|
-
* Functionality for when a share audio is ended.
|
|
7251
|
-
* @private
|
|
7252
|
-
* @memberof Meeting
|
|
7253
|
-
* @returns {undefined}
|
|
7254
|
-
*/
|
|
7255
7624
|
}, {
|
|
7256
7625
|
key: "sendNetworkQualityEvent",
|
|
7257
7626
|
value:
|
|
@@ -7285,13 +7654,13 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7285
7654
|
}, {
|
|
7286
7655
|
key: "handleMediaLogging",
|
|
7287
7656
|
value: function handleMediaLogging(mediaProperties) {
|
|
7288
|
-
|
|
7289
|
-
|
|
7657
|
+
_util2.default.handleVideoLogging(mediaProperties.videoStream);
|
|
7658
|
+
_util2.default.handleAudioLogging(mediaProperties.audioStream);
|
|
7290
7659
|
}
|
|
7291
7660
|
|
|
7292
7661
|
/**
|
|
7293
7662
|
*
|
|
7294
|
-
* @returns {string} one of 'attendee','host','cohost', returns the user type of the current user
|
|
7663
|
+
* @returns {string} one of 'panelist', 'attendee', 'host', 'cohost', returns the user type of the current user
|
|
7295
7664
|
*/
|
|
7296
7665
|
}, {
|
|
7297
7666
|
key: "getCurUserType",
|
|
@@ -7304,6 +7673,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7304
7673
|
if (roles.includes(_constants.SELF_ROLES.COHOST)) {
|
|
7305
7674
|
return 'cohost';
|
|
7306
7675
|
}
|
|
7676
|
+
if (roles.includes(_constants.SELF_ROLES.PANELIST)) {
|
|
7677
|
+
return 'panelist';
|
|
7678
|
+
}
|
|
7307
7679
|
if (roles.includes(_constants.SELF_ROLES.ATTENDEE)) {
|
|
7308
7680
|
return 'attendee';
|
|
7309
7681
|
}
|
|
@@ -7320,7 +7692,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7320
7692
|
}, {
|
|
7321
7693
|
key: "endMeetingForAll",
|
|
7322
7694
|
value: function endMeetingForAll() {
|
|
7323
|
-
var
|
|
7695
|
+
var _this49 = this;
|
|
7324
7696
|
// @ts-ignore
|
|
7325
7697
|
this.webex.internal.newMetrics.submitClientEvent({
|
|
7326
7698
|
name: 'client.call.leave',
|
|
@@ -7337,26 +7709,26 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7337
7709
|
correlation_id: this.correlationId,
|
|
7338
7710
|
locus_id: this.locusId
|
|
7339
7711
|
});
|
|
7340
|
-
return
|
|
7341
|
-
|
|
7342
|
-
|
|
7712
|
+
return _util2.default.endMeetingForAll(this).then(function (end) {
|
|
7713
|
+
_this49.meetingFiniteStateMachine.end();
|
|
7714
|
+
_this49.clearMeetingData();
|
|
7343
7715
|
// upload logs on leave irrespective of meeting delete
|
|
7344
|
-
_triggerProxy.default.trigger(
|
|
7716
|
+
_triggerProxy.default.trigger(_this49, {
|
|
7345
7717
|
file: 'meeting/index',
|
|
7346
7718
|
function: 'endMeetingForAll'
|
|
7347
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7719
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this49);
|
|
7348
7720
|
return end;
|
|
7349
7721
|
}).catch(function (error) {
|
|
7350
|
-
|
|
7722
|
+
_this49.meetingFiniteStateMachine.fail(error);
|
|
7351
7723
|
_loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
|
|
7352
7724
|
// upload logs on leave irrespective of meeting delete
|
|
7353
|
-
_triggerProxy.default.trigger(
|
|
7725
|
+
_triggerProxy.default.trigger(_this49, {
|
|
7354
7726
|
file: 'meeting/index',
|
|
7355
7727
|
function: 'endMeetingForAll'
|
|
7356
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7728
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this49);
|
|
7357
7729
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
|
7358
|
-
correlation_id:
|
|
7359
|
-
locus_id:
|
|
7730
|
+
correlation_id: _this49.correlationId,
|
|
7731
|
+
locus_id: _this49.locusUrl.split('/').pop(),
|
|
7360
7732
|
reason: error.message,
|
|
7361
7733
|
stack: error.stack,
|
|
7362
7734
|
code: error.code
|
|
@@ -7364,13 +7736,6 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7364
7736
|
return _promise.default.reject(error);
|
|
7365
7737
|
});
|
|
7366
7738
|
}
|
|
7367
|
-
|
|
7368
|
-
/**
|
|
7369
|
-
* clear the meeting data
|
|
7370
|
-
* @returns {undefined}
|
|
7371
|
-
* @public
|
|
7372
|
-
* @memberof Meeting
|
|
7373
|
-
*/
|
|
7374
7739
|
}, {
|
|
7375
7740
|
key: "sendReaction",
|
|
7376
7741
|
value:
|
|
@@ -7451,40 +7816,40 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7451
7816
|
*/
|
|
7452
7817
|
}, {
|
|
7453
7818
|
key: "enableMusicMode",
|
|
7454
|
-
value: function () {
|
|
7455
|
-
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7456
|
-
return _regenerator.default.wrap(function
|
|
7457
|
-
while (1) switch (
|
|
7819
|
+
value: (function () {
|
|
7820
|
+
var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee33(shouldEnableMusicMode) {
|
|
7821
|
+
return _regenerator.default.wrap(function _callee33$(_context33) {
|
|
7822
|
+
while (1) switch (_context33.prev = _context33.next) {
|
|
7458
7823
|
case 0:
|
|
7459
7824
|
this.checkMediaConnection();
|
|
7460
7825
|
if (this.isMultistream) {
|
|
7461
|
-
|
|
7826
|
+
_context33.next = 3;
|
|
7462
7827
|
break;
|
|
7463
7828
|
}
|
|
7464
7829
|
throw new Error('enableMusicMode() only supported with multistream');
|
|
7465
7830
|
case 3:
|
|
7466
7831
|
if (!shouldEnableMusicMode) {
|
|
7467
|
-
|
|
7832
|
+
_context33.next = 8;
|
|
7468
7833
|
break;
|
|
7469
7834
|
}
|
|
7470
|
-
|
|
7835
|
+
_context33.next = 6;
|
|
7471
7836
|
return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
|
|
7472
7837
|
maxaveragebitrate: '64000',
|
|
7473
7838
|
maxplaybackrate: '48000'
|
|
7474
7839
|
});
|
|
7475
7840
|
case 6:
|
|
7476
|
-
|
|
7841
|
+
_context33.next = 10;
|
|
7477
7842
|
break;
|
|
7478
7843
|
case 8:
|
|
7479
|
-
|
|
7844
|
+
_context33.next = 10;
|
|
7480
7845
|
return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
|
|
7481
7846
|
case 10:
|
|
7482
7847
|
case "end":
|
|
7483
|
-
return
|
|
7848
|
+
return _context33.stop();
|
|
7484
7849
|
}
|
|
7485
|
-
},
|
|
7850
|
+
}, _callee33, this);
|
|
7486
7851
|
}));
|
|
7487
|
-
function enableMusicMode(
|
|
7852
|
+
function enableMusicMode(_x33) {
|
|
7488
7853
|
return _enableMusicMode.apply(this, arguments);
|
|
7489
7854
|
}
|
|
7490
7855
|
return enableMusicMode;
|
|
@@ -7493,6 +7858,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7493
7858
|
*
|
|
7494
7859
|
* @returns {Promise<void>}
|
|
7495
7860
|
*/
|
|
7861
|
+
)
|
|
7496
7862
|
}, {
|
|
7497
7863
|
key: "updateTranscodedMediaConnection",
|
|
7498
7864
|
value: function updateTranscodedMediaConnection() {
|
|
@@ -7504,7 +7870,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7504
7870
|
_this$mediaProperties48,
|
|
7505
7871
|
_this$mediaProperties49,
|
|
7506
7872
|
_this$mediaProperties50,
|
|
7507
|
-
|
|
7873
|
+
_this50 = this;
|
|
7508
7874
|
var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
|
|
7509
7875
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
|
|
7510
7876
|
if (!this.canUpdateMedia()) {
|
|
@@ -7529,8 +7895,8 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7529
7895
|
}).catch(function (error) {
|
|
7530
7896
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
|
|
7531
7897
|
_metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
|
|
7532
|
-
correlation_id:
|
|
7533
|
-
locus_id:
|
|
7898
|
+
correlation_id: _this50.correlationId,
|
|
7899
|
+
locus_id: _this50.locusUrl.split('/').pop(),
|
|
7534
7900
|
reason: error.message,
|
|
7535
7901
|
stack: error.stack
|
|
7536
7902
|
});
|
|
@@ -7573,26 +7939,26 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7573
7939
|
*/
|
|
7574
7940
|
}, {
|
|
7575
7941
|
key: "publishStream",
|
|
7576
|
-
value: function () {
|
|
7577
|
-
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7578
|
-
return _regenerator.default.wrap(function
|
|
7579
|
-
while (1) switch (
|
|
7942
|
+
value: (function () {
|
|
7943
|
+
var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee34(mediaType, stream) {
|
|
7944
|
+
return _regenerator.default.wrap(function _callee34$(_context34) {
|
|
7945
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
7580
7946
|
case 0:
|
|
7581
7947
|
if (stream) {
|
|
7582
|
-
|
|
7948
|
+
_context34.next = 2;
|
|
7583
7949
|
break;
|
|
7584
7950
|
}
|
|
7585
|
-
return
|
|
7951
|
+
return _context34.abrupt("return");
|
|
7586
7952
|
case 2:
|
|
7587
7953
|
if (!this.mediaProperties.webrtcMediaConnection) {
|
|
7588
|
-
|
|
7954
|
+
_context34.next = 7;
|
|
7589
7955
|
break;
|
|
7590
7956
|
}
|
|
7591
7957
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
7592
|
-
|
|
7958
|
+
_context34.next = 6;
|
|
7593
7959
|
break;
|
|
7594
7960
|
}
|
|
7595
|
-
|
|
7961
|
+
_context34.next = 6;
|
|
7596
7962
|
return this.sendSlotManager.publishStream(mediaType, stream);
|
|
7597
7963
|
case 6:
|
|
7598
7964
|
this.emitPublishStateChangeEvent({
|
|
@@ -7603,11 +7969,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7603
7969
|
});
|
|
7604
7970
|
case 7:
|
|
7605
7971
|
case "end":
|
|
7606
|
-
return
|
|
7972
|
+
return _context34.stop();
|
|
7607
7973
|
}
|
|
7608
|
-
},
|
|
7974
|
+
}, _callee34, this);
|
|
7609
7975
|
}));
|
|
7610
|
-
function publishStream(
|
|
7976
|
+
function publishStream(_x34, _x35) {
|
|
7611
7977
|
return _publishStream.apply(this, arguments);
|
|
7612
7978
|
}
|
|
7613
7979
|
return publishStream;
|
|
@@ -7619,24 +7985,25 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7619
7985
|
* @param {LocalStream} stream to unpublish
|
|
7620
7986
|
* @returns {Promise}
|
|
7621
7987
|
*/
|
|
7988
|
+
)
|
|
7622
7989
|
}, {
|
|
7623
7990
|
key: "unpublishStream",
|
|
7624
|
-
value: function () {
|
|
7625
|
-
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7626
|
-
return _regenerator.default.wrap(function
|
|
7627
|
-
while (1) switch (
|
|
7991
|
+
value: (function () {
|
|
7992
|
+
var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee35(mediaType, stream) {
|
|
7993
|
+
return _regenerator.default.wrap(function _callee35$(_context35) {
|
|
7994
|
+
while (1) switch (_context35.prev = _context35.next) {
|
|
7628
7995
|
case 0:
|
|
7629
7996
|
if (stream) {
|
|
7630
|
-
|
|
7997
|
+
_context35.next = 2;
|
|
7631
7998
|
break;
|
|
7632
7999
|
}
|
|
7633
|
-
return
|
|
8000
|
+
return _context35.abrupt("return");
|
|
7634
8001
|
case 2:
|
|
7635
8002
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
7636
|
-
|
|
8003
|
+
_context35.next = 5;
|
|
7637
8004
|
break;
|
|
7638
8005
|
}
|
|
7639
|
-
|
|
8006
|
+
_context35.next = 5;
|
|
7640
8007
|
return this.sendSlotManager.unpublishStream(mediaType);
|
|
7641
8008
|
case 5:
|
|
7642
8009
|
this.emitPublishStateChangeEvent({
|
|
@@ -7647,11 +8014,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7647
8014
|
});
|
|
7648
8015
|
case 6:
|
|
7649
8016
|
case "end":
|
|
7650
|
-
return
|
|
8017
|
+
return _context35.stop();
|
|
7651
8018
|
}
|
|
7652
|
-
},
|
|
8019
|
+
}, _callee35, this);
|
|
7653
8020
|
}));
|
|
7654
|
-
function unpublishStream(
|
|
8021
|
+
function unpublishStream(_x36, _x37) {
|
|
7655
8022
|
return _unpublishStream.apply(this, arguments);
|
|
7656
8023
|
}
|
|
7657
8024
|
return unpublishStream;
|
|
@@ -7662,64 +8029,71 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7662
8029
|
* @param {Object} streams
|
|
7663
8030
|
* @returns {Promise}
|
|
7664
8031
|
*/
|
|
8032
|
+
)
|
|
7665
8033
|
}, {
|
|
7666
8034
|
key: "publishStreams",
|
|
7667
|
-
value: function () {
|
|
7668
|
-
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
7669
|
-
var _streams$screenShare, _streams$screenShare2, _streams$screenShare3, _streams$screenShare4;
|
|
7670
|
-
var floorRequestNeeded, _streams$
|
|
7671
|
-
return _regenerator.default.wrap(function
|
|
7672
|
-
while (1) switch (
|
|
8035
|
+
value: (function () {
|
|
8036
|
+
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee36(streams) {
|
|
8037
|
+
var _streams$screenShare, _streams$screenShare2, _streams$microphone, _streams$camera, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6, _streams$screenShare7, _streams$screenShare8;
|
|
8038
|
+
var floorRequestNeeded, _streams$screenShare9;
|
|
8039
|
+
return _regenerator.default.wrap(function _callee36$(_context36) {
|
|
8040
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
7673
8041
|
case 0:
|
|
7674
8042
|
this.checkMediaConnection();
|
|
7675
8043
|
if (!(!streams.microphone && !streams.camera && !((_streams$screenShare = streams.screenShare) !== null && _streams$screenShare !== void 0 && _streams$screenShare.audio) && !((_streams$screenShare2 = streams.screenShare) !== null && _streams$screenShare2 !== void 0 && _streams$screenShare2.video))) {
|
|
7676
|
-
|
|
8044
|
+
_context36.next = 3;
|
|
7677
8045
|
break;
|
|
7678
8046
|
}
|
|
7679
|
-
return
|
|
8047
|
+
return _context36.abrupt("return");
|
|
7680
8048
|
case 3:
|
|
8049
|
+
if (!((streams === null || streams === void 0 ? void 0 : (_streams$microphone = streams.microphone) === null || _streams$microphone === void 0 ? void 0 : _streams$microphone.readyState) === 'ended' || (streams === null || streams === void 0 ? void 0 : (_streams$camera = streams.camera) === null || _streams$camera === void 0 ? void 0 : _streams$camera.readyState) === 'ended' || (streams === null || streams === void 0 ? void 0 : (_streams$screenShare3 = streams.screenShare) === null || _streams$screenShare3 === void 0 ? void 0 : (_streams$screenShare4 = _streams$screenShare3.audio) === null || _streams$screenShare4 === void 0 ? void 0 : _streams$screenShare4.readyState) === 'ended' || (streams === null || streams === void 0 ? void 0 : (_streams$screenShare5 = streams.screenShare) === null || _streams$screenShare5 === void 0 ? void 0 : (_streams$screenShare6 = _streams$screenShare5.video) === null || _streams$screenShare6 === void 0 ? void 0 : _streams$screenShare6.readyState) === 'ended')) {
|
|
8050
|
+
_context36.next = 5;
|
|
8051
|
+
break;
|
|
8052
|
+
}
|
|
8053
|
+
throw new Error("Attempted to publish stream with ended readyState, correlationId=".concat(this.correlationId));
|
|
8054
|
+
case 5:
|
|
7681
8055
|
floorRequestNeeded = false; // Screenshare Audio is supported only in multi stream. So we check for screenshare audio presence only if it's a multi stream meeting
|
|
7682
|
-
if (!(this.isMultistream && (_streams$
|
|
7683
|
-
|
|
8056
|
+
if (!(this.isMultistream && (_streams$screenShare7 = streams.screenShare) !== null && _streams$screenShare7 !== void 0 && _streams$screenShare7.audio)) {
|
|
8057
|
+
_context36.next = 10;
|
|
7684
8058
|
break;
|
|
7685
8059
|
}
|
|
7686
|
-
|
|
8060
|
+
_context36.next = 9;
|
|
7687
8061
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
7688
|
-
case
|
|
8062
|
+
case 9:
|
|
7689
8063
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
7690
|
-
case
|
|
7691
|
-
if (!((_streams$
|
|
7692
|
-
|
|
8064
|
+
case 10:
|
|
8065
|
+
if (!((_streams$screenShare8 = streams.screenShare) !== null && _streams$screenShare8 !== void 0 && _streams$screenShare8.video)) {
|
|
8066
|
+
_context36.next = 14;
|
|
7693
8067
|
break;
|
|
7694
8068
|
}
|
|
7695
|
-
|
|
7696
|
-
return this.setLocalShareVideoStream((_streams$
|
|
7697
|
-
case
|
|
8069
|
+
_context36.next = 13;
|
|
8070
|
+
return this.setLocalShareVideoStream((_streams$screenShare9 = streams.screenShare) === null || _streams$screenShare9 === void 0 ? void 0 : _streams$screenShare9.video);
|
|
8071
|
+
case 13:
|
|
7698
8072
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
7699
|
-
case
|
|
8073
|
+
case 14:
|
|
7700
8074
|
if (!streams.microphone) {
|
|
7701
|
-
|
|
8075
|
+
_context36.next = 17;
|
|
7702
8076
|
break;
|
|
7703
8077
|
}
|
|
7704
|
-
|
|
8078
|
+
_context36.next = 17;
|
|
7705
8079
|
return this.setLocalAudioStream(streams.microphone);
|
|
7706
|
-
case
|
|
8080
|
+
case 17:
|
|
7707
8081
|
if (!streams.camera) {
|
|
7708
|
-
|
|
8082
|
+
_context36.next = 20;
|
|
7709
8083
|
break;
|
|
7710
8084
|
}
|
|
7711
|
-
|
|
8085
|
+
_context36.next = 20;
|
|
7712
8086
|
return this.setLocalVideoStream(streams.camera);
|
|
7713
|
-
case
|
|
8087
|
+
case 20:
|
|
7714
8088
|
if (this.isMultistream) {
|
|
7715
|
-
|
|
8089
|
+
_context36.next = 23;
|
|
7716
8090
|
break;
|
|
7717
8091
|
}
|
|
7718
|
-
|
|
8092
|
+
_context36.next = 23;
|
|
7719
8093
|
return this.updateTranscodedMediaConnection();
|
|
7720
|
-
case
|
|
8094
|
+
case 23:
|
|
7721
8095
|
if (!floorRequestNeeded) {
|
|
7722
|
-
|
|
8096
|
+
_context36.next = 29;
|
|
7723
8097
|
break;
|
|
7724
8098
|
}
|
|
7725
8099
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -7743,15 +8117,15 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7743
8117
|
// we're sending the http request to Locus to request the screen share floor
|
|
7744
8118
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
7745
8119
|
// and also if sharing from the start, we need confluence to have been created
|
|
7746
|
-
|
|
8120
|
+
_context36.next = 29;
|
|
7747
8121
|
return this.enqueueScreenShareFloorRequest();
|
|
7748
|
-
case
|
|
8122
|
+
case 29:
|
|
7749
8123
|
case "end":
|
|
7750
|
-
return
|
|
8124
|
+
return _context36.stop();
|
|
7751
8125
|
}
|
|
7752
|
-
},
|
|
8126
|
+
}, _callee36, this);
|
|
7753
8127
|
}));
|
|
7754
|
-
function publishStreams(
|
|
8128
|
+
function publishStreams(_x38) {
|
|
7755
8129
|
return _publishStreams.apply(this, arguments);
|
|
7756
8130
|
}
|
|
7757
8131
|
return publishStreams;
|
|
@@ -7762,13 +8136,14 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7762
8136
|
* @param {Array<LocalStream>} streams
|
|
7763
8137
|
* @returns {Promise}
|
|
7764
8138
|
*/
|
|
8139
|
+
)
|
|
7765
8140
|
}, {
|
|
7766
8141
|
key: "unpublishStreams",
|
|
7767
|
-
value: function () {
|
|
7768
|
-
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8142
|
+
value: (function () {
|
|
8143
|
+
var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee37(streams) {
|
|
7769
8144
|
var promises, _iterator, _step, stream;
|
|
7770
|
-
return _regenerator.default.wrap(function
|
|
7771
|
-
while (1) switch (
|
|
8145
|
+
return _regenerator.default.wrap(function _callee37$(_context37) {
|
|
8146
|
+
while (1) switch (_context37.prev = _context37.next) {
|
|
7772
8147
|
case 0:
|
|
7773
8148
|
this.checkMediaConnection();
|
|
7774
8149
|
promises = [];
|
|
@@ -7799,7 +8174,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7799
8174
|
if (!this.isMultistream) {
|
|
7800
8175
|
promises.push(this.updateTranscodedMediaConnection());
|
|
7801
8176
|
}
|
|
7802
|
-
|
|
8177
|
+
_context37.next = 7;
|
|
7803
8178
|
return _promise.default.all(promises);
|
|
7804
8179
|
case 7:
|
|
7805
8180
|
// we're allowing for the SDK to support just audio share as well
|
|
@@ -7820,11 +8195,11 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7820
8195
|
}
|
|
7821
8196
|
case 8:
|
|
7822
8197
|
case "end":
|
|
7823
|
-
return
|
|
8198
|
+
return _context37.stop();
|
|
7824
8199
|
}
|
|
7825
|
-
},
|
|
8200
|
+
}, _callee37, this);
|
|
7826
8201
|
}));
|
|
7827
|
-
function unpublishStreams(
|
|
8202
|
+
function unpublishStreams(_x39) {
|
|
7828
8203
|
return _unpublishStreams.apply(this, arguments);
|
|
7829
8204
|
}
|
|
7830
8205
|
return unpublishStreams;
|
|
@@ -7838,6 +8213,7 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7838
8213
|
* @returns {number} permissionTokenExpiryInfo.expiryTime The expiry time of permission token from the server
|
|
7839
8214
|
* @returns {number} permissionTokenExpiryInfo.currentTime The current time of the local machine
|
|
7840
8215
|
*/
|
|
8216
|
+
)
|
|
7841
8217
|
}, {
|
|
7842
8218
|
key: "getPermissionTokenExpiryInfo",
|
|
7843
8219
|
value: function getPermissionTokenExpiryInfo() {
|
|
@@ -7882,36 +8258,35 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7882
8258
|
}
|
|
7883
8259
|
}], [{
|
|
7884
8260
|
key: "handleDeviceLogging",
|
|
7885
|
-
value: function () {
|
|
7886
|
-
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
8261
|
+
value: (function () {
|
|
8262
|
+
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee38() {
|
|
7887
8263
|
var devices;
|
|
7888
|
-
return _regenerator.default.wrap(function
|
|
7889
|
-
while (1) switch (
|
|
8264
|
+
return _regenerator.default.wrap(function _callee38$(_context38) {
|
|
8265
|
+
while (1) switch (_context38.prev = _context38.next) {
|
|
7890
8266
|
case 0:
|
|
7891
|
-
|
|
7892
|
-
|
|
8267
|
+
_context38.prev = 0;
|
|
8268
|
+
_context38.next = 3;
|
|
7893
8269
|
return (0, _mediaHelpers.getDevices)();
|
|
7894
8270
|
case 3:
|
|
7895
|
-
devices =
|
|
7896
|
-
|
|
7897
|
-
|
|
8271
|
+
devices = _context38.sent;
|
|
8272
|
+
_util2.default.handleDeviceLogging(devices);
|
|
8273
|
+
_context38.next = 9;
|
|
7898
8274
|
break;
|
|
7899
8275
|
case 7:
|
|
7900
|
-
|
|
7901
|
-
|
|
8276
|
+
_context38.prev = 7;
|
|
8277
|
+
_context38.t0 = _context38["catch"](0);
|
|
7902
8278
|
case 9:
|
|
7903
8279
|
case "end":
|
|
7904
|
-
return
|
|
8280
|
+
return _context38.stop();
|
|
7905
8281
|
}
|
|
7906
|
-
},
|
|
8282
|
+
}, _callee38, null, [[0, 7]]);
|
|
7907
8283
|
}));
|
|
7908
8284
|
function handleDeviceLogging() {
|
|
7909
8285
|
return _handleDeviceLogging.apply(this, arguments);
|
|
7910
8286
|
}
|
|
7911
8287
|
return handleDeviceLogging;
|
|
7912
|
-
}()
|
|
8288
|
+
}())
|
|
7913
8289
|
}]);
|
|
7914
8290
|
return Meeting;
|
|
7915
8291
|
}(_webexCore.StatelessWebexPlugin);
|
|
7916
|
-
exports.default = Meeting;
|
|
7917
8292
|
//# sourceMappingURL=index.js.map
|