@webex/plugin-meetings 3.0.0-beta.1 → 3.0.0-beta.104
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/UPGRADING.md +9 -9
- package/browsers.js +19 -24
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +48 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +357 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +176 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.js +23 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +43 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +919 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +67 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/browser-detection.js +1 -20
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +5 -20
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +0 -7
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +10 -24
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +11 -24
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +12 -25
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +10 -24
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.js +5 -33
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +10 -24
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +9 -23
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.js +0 -17
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +10 -24
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +10 -24
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +10 -69
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +5 -25
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +0 -22
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +0 -23
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +0 -12
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +0 -15
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +0 -4
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -8
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +37 -60
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +4 -14
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +7 -6
- package/dist/config.js.map +1 -1
- package/dist/constants.js +184 -122
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +14 -0
- package/dist/controls-options-manager/constants.js.map +1 -0
- package/dist/controls-options-manager/enums.js +25 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +297 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +250 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +72 -17
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +56 -29
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -26
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +0 -15
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +4 -12
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +362 -208
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +3 -37
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +12 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +92 -118
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +99 -91
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +113 -337
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +96 -135
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +1 -35
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +505 -495
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +59 -14
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2909 -2398
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +257 -112
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +330 -264
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js +7 -0
- package/dist/meeting/request.type.js.map +1 -0
- package/dist/meeting/state.js +21 -31
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.js +63 -261
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +6 -25
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +14 -32
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +273 -280
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +3 -15
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +98 -183
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +155 -232
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +26 -19
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +741 -548
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +26 -41
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +194 -149
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +100 -85
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +15 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +90 -68
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +13 -12
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +227 -188
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +54 -39
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +107 -44
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +5 -14
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js +3 -7
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +67 -159
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +250 -0
- package/dist/multistream/mediaRequestManager.js.map +1 -0
- package/dist/multistream/receiveSlot.js +202 -0
- package/dist/multistream/receiveSlot.js.map +1 -0
- package/dist/multistream/receiveSlotManager.js +176 -0
- package/dist/multistream/receiveSlotManager.js.map +1 -0
- package/dist/multistream/remoteMedia.js +270 -0
- package/dist/multistream/remoteMedia.js.map +1 -0
- package/dist/multistream/remoteMediaGroup.js +209 -0
- package/dist/multistream/remoteMediaGroup.js.map +1 -0
- package/dist/multistream/remoteMediaManager.js +1137 -0
- package/dist/multistream/remoteMediaManager.js.map +1 -0
- package/dist/networkQualityMonitor/index.js +40 -59
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +21 -45
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +1 -31
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +0 -13
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.js +192 -191
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +15 -23
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/constants.js +13 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.js +109 -0
- package/dist/reactions/reactions.js.map +1 -0
- package/dist/reactions/reactions.type.js +36 -0
- package/dist/reactions/reactions.type.js.map +1 -0
- package/dist/reconnection-manager/index.js +386 -527
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +17 -0
- package/dist/recording-controller/enums.js.map +1 -0
- package/dist/recording-controller/index.js +343 -0
- package/dist/recording-controller/index.js.map +1 -0
- package/dist/recording-controller/util.js +63 -0
- package/dist/recording-controller/util.js.map +1 -0
- package/dist/roap/index.js +84 -286
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +138 -238
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +164 -102
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/global.js +1 -93
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +399 -470
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +143 -87
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +22 -47
- package/dist/transcription/index.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +34 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +124 -0
- package/dist/types/breakouts/breakout.d.ts +8 -0
- package/dist/types/breakouts/collection.d.ts +5 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +2 -0
- package/dist/types/breakouts/index.d.ts +5 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/browser-detection.d.ts +9 -0
- package/dist/types/common/collection.d.ts +48 -0
- package/dist/types/common/config.d.ts +2 -0
- package/dist/types/common/errors/captcha-error.d.ts +15 -0
- package/dist/types/common/errors/intent-to-join.d.ts +16 -0
- package/dist/types/common/errors/join-meeting.d.ts +17 -0
- package/dist/types/common/errors/media.d.ts +15 -0
- package/dist/types/common/errors/parameter.d.ts +15 -0
- package/dist/types/common/errors/password-error.d.ts +15 -0
- package/dist/types/common/errors/permission.d.ts +14 -0
- package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/types/common/errors/reconnection.d.ts +15 -0
- package/dist/types/common/errors/stats.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +69 -0
- package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/types/common/events/events-scope.d.ts +17 -0
- package/dist/types/common/events/events.d.ts +12 -0
- package/dist/types/common/events/trigger-proxy.d.ts +2 -0
- package/dist/types/common/events/util.d.ts +2 -0
- package/dist/types/common/logs/logger-config.d.ts +2 -0
- package/dist/types/common/logs/logger-proxy.d.ts +2 -0
- package/dist/types/common/logs/request.d.ts +34 -0
- package/dist/types/common/queue.d.ts +32 -0
- package/dist/types/config.d.ts +78 -0
- package/dist/types/constants.d.ts +968 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +13 -0
- package/dist/types/controls-options-manager/index.d.ts +136 -0
- package/dist/types/controls-options-manager/types.d.ts +37 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/locus-info/controlsUtils.d.ts +2 -0
- package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/types/locus-info/fullState.d.ts +2 -0
- package/dist/types/locus-info/hostUtils.d.ts +2 -0
- package/dist/types/locus-info/index.d.ts +315 -0
- package/dist/types/locus-info/infoUtils.d.ts +2 -0
- package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/types/locus-info/parser.d.ts +212 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/index.d.ts +34 -0
- package/dist/types/media/properties.d.ts +108 -0
- package/dist/types/media/util.d.ts +2 -0
- package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +129 -0
- package/dist/types/meeting/index.d.ts +1748 -0
- package/dist/types/meeting/muteState.d.ts +185 -0
- package/dist/types/meeting/request.d.ts +275 -0
- package/dist/types/meeting/request.type.d.ts +11 -0
- package/dist/types/meeting/state.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +2 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +57 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +112 -0
- package/dist/types/meeting-info/request.d.ts +22 -0
- package/dist/types/meeting-info/util.d.ts +2 -0
- package/dist/types/meeting-info/utilv2.d.ts +2 -0
- package/dist/types/meetings/collection.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +345 -0
- package/dist/types/meetings/request.d.ts +27 -0
- package/dist/types/meetings/util.d.ts +18 -0
- package/dist/types/member/index.d.ts +156 -0
- package/dist/types/member/types.d.ts +21 -0
- package/dist/types/member/util.d.ts +2 -0
- package/dist/types/members/collection.d.ts +29 -0
- package/dist/types/members/index.d.ts +353 -0
- package/dist/types/members/request.d.ts +69 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +2 -0
- package/dist/types/metrics/config.d.ts +172 -0
- package/dist/types/metrics/constants.d.ts +54 -0
- package/dist/types/metrics/index.d.ts +152 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +101 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/types/multistream/remoteMedia.d.ts +72 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
- package/dist/types/networkQualityMonitor/index.d.ts +70 -0
- package/dist/types/personal-meeting-room/index.d.ts +47 -0
- package/dist/types/personal-meeting-room/request.d.ts +14 -0
- package/dist/types/personal-meeting-room/util.d.ts +2 -0
- package/dist/types/reachability/index.d.ts +152 -0
- package/dist/types/reachability/request.d.ts +37 -0
- package/dist/types/reactions/constants.d.ts +3 -0
- package/dist/types/reactions/reactions.d.ts +4 -0
- package/dist/types/reactions/reactions.type.d.ts +52 -0
- package/dist/types/reconnection-manager/index.d.ts +126 -0
- package/dist/types/recording-controller/enums.d.ts +7 -0
- package/dist/types/recording-controller/index.d.ts +193 -0
- package/dist/types/recording-controller/util.d.ts +13 -0
- package/dist/types/roap/index.d.ts +77 -0
- package/dist/types/roap/request.d.ts +38 -0
- package/dist/types/roap/turnDiscovery.d.ts +88 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +200 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/internal-README.md +7 -6
- package/package.json +29 -21
- package/src/annotation/annotation.types.ts +41 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +339 -0
- package/src/breakouts/README.md +219 -0
- package/src/breakouts/breakout.ts +141 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +37 -0
- package/src/breakouts/index.ts +823 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
- package/src/common/collection.ts +9 -7
- package/src/common/{config.js → config.ts} +1 -1
- package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
- package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
- package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
- package/src/common/errors/{media.js → media.ts} +11 -7
- package/src/common/errors/parameter.ts +11 -7
- package/src/common/errors/{password-error.js → password-error.ts} +11 -7
- package/src/common/errors/{permission.js → permission.ts} +10 -6
- package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
- package/src/common/errors/{stats.js → stats.ts} +11 -7
- package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -25
- package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
- package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
- package/src/common/events/{events.js → events.ts} +5 -1
- package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
- package/src/common/events/{util.js → util.ts} +2 -3
- package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
- package/src/common/logs/logger-proxy.ts +44 -0
- package/src/common/logs/{request.js → request.ts} +22 -9
- package/src/common/queue.ts +1 -2
- package/src/{config.js → config.ts} +18 -12
- package/src/constants.ts +256 -183
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +16 -0
- package/src/controls-options-manager/index.ts +278 -0
- package/src/controls-options-manager/types.ts +49 -0
- package/src/controls-options-manager/util.ts +229 -0
- package/src/index.ts +33 -0
- package/src/locus-info/controlsUtils.ts +169 -0
- package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
- package/src/locus-info/{fullState.js → fullState.ts} +16 -12
- package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
- package/src/locus-info/{index.js → index.ts} +331 -80
- package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
- package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
- package/src/locus-info/{parser.js → parser.ts} +67 -79
- package/src/locus-info/{selfUtils.js → selfUtils.ts} +196 -67
- package/src/media/index.ts +488 -0
- package/src/media/{properties.js → properties.ts} +67 -54
- package/src/media/util.ts +16 -0
- package/src/mediaQualityMetrics/config.ts +384 -0
- package/src/meeting/in-meeting-actions.ts +123 -3
- package/src/meeting/{index.js → index.ts} +3334 -1775
- package/src/meeting/muteState.ts +526 -0
- package/src/meeting/{request.js → request.ts} +350 -142
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/{state.js → state.ts} +50 -35
- package/src/meeting/{util.js → util.ts} +126 -159
- package/src/meeting-info/{collection.js → collection.ts} +6 -2
- package/src/meeting-info/{index.js → index.ts} +42 -36
- package/src/meeting-info/meeting-info-v2.ts +345 -0
- package/src/meeting-info/{request.js → request.ts} +14 -4
- package/src/meeting-info/{util.js → util.ts} +60 -51
- package/src/meeting-info/{utilv2.js → utilv2.ts} +76 -60
- package/src/meetings/{collection.js → collection.ts} +26 -3
- package/src/meetings/index.ts +1394 -0
- package/src/meetings/{request.js → request.ts} +34 -25
- package/src/meetings/util.ts +288 -0
- package/src/member/{index.js → index.ts} +124 -56
- package/src/member/types.ts +24 -0
- package/src/member/{util.js → util.ts} +105 -25
- package/src/members/{collection.js → collection.ts} +10 -2
- package/src/members/{index.js → index.ts} +359 -139
- package/src/members/request.ts +215 -0
- package/src/members/types.ts +28 -0
- package/src/members/{util.js → util.ts} +145 -54
- package/src/metrics/{config.js → config.ts} +256 -92
- package/src/metrics/{constants.js → constants.ts} +1 -6
- package/src/metrics/{index.js → index.ts} +116 -97
- package/src/multistream/mediaRequestManager.ts +324 -0
- package/src/multistream/receiveSlot.ts +184 -0
- package/src/multistream/receiveSlotManager.ts +166 -0
- package/src/multistream/remoteMedia.ts +254 -0
- package/src/multistream/remoteMediaGroup.ts +225 -0
- package/src/multistream/remoteMediaManager.ts +1075 -0
- package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
- package/src/personal-meeting-room/{index.js → index.ts} +28 -19
- package/src/personal-meeting-room/{request.js → request.ts} +13 -4
- package/src/personal-meeting-room/{util.js → util.ts} +4 -4
- package/src/reachability/{index.js → index.ts} +157 -94
- package/src/reachability/request.ts +46 -35
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +104 -0
- package/src/reactions/reactions.type.ts +62 -0
- package/src/reconnection-manager/{index.js → index.ts} +261 -163
- package/src/recording-controller/enums.ts +8 -0
- package/src/recording-controller/index.ts +315 -0
- package/src/recording-controller/util.ts +58 -0
- package/src/roap/index.ts +241 -0
- package/src/roap/request.ts +172 -0
- package/src/roap/turnDiscovery.ts +127 -53
- package/src/statsAnalyzer/global.ts +37 -0
- package/src/statsAnalyzer/index.ts +1273 -0
- package/src/statsAnalyzer/mqaUtil.ts +291 -0
- package/src/transcription/{index.js → index.ts} +46 -39
- package/test/integration/spec/converged-space-meetings.js +177 -0
- package/test/integration/spec/journey.js +666 -464
- package/test/integration/spec/space-meeting.js +321 -206
- package/test/integration/spec/transcription.js +7 -8
- package/test/unit/spec/annotation/index.ts +435 -0
- package/test/unit/spec/breakouts/breakout.ts +184 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +77 -0
- package/test/unit/spec/breakouts/index.ts +1504 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/common/browser-detection.js +9 -28
- package/test/unit/spec/controls-options-manager/index.js +287 -0
- package/test/unit/spec/controls-options-manager/util.js +403 -0
- package/test/unit/spec/fixture/locus.js +92 -90
- package/test/unit/spec/locus-info/controlsUtils.js +177 -32
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
- package/test/unit/spec/locus-info/index.js +493 -3
- package/test/unit/spec/locus-info/infoUtils.js +41 -32
- package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
- package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
- package/test/unit/spec/locus-info/parser.js +3 -9
- package/test/unit/spec/locus-info/selfConstant.js +110 -103
- package/test/unit/spec/locus-info/selfUtils.js +236 -12
- package/test/unit/spec/media/index.ts +303 -0
- package/test/unit/spec/media/properties.ts +73 -82
- package/test/unit/spec/meeting/in-meeting-actions.ts +58 -3
- package/test/unit/spec/meeting/index.js +3127 -975
- package/test/unit/spec/meeting/muteState.js +375 -70
- package/test/unit/spec/meeting/request.js +217 -43
- package/test/unit/spec/meeting/utils.js +205 -163
- package/test/unit/spec/meeting-info/meetinginfov2.js +268 -74
- package/test/unit/spec/meeting-info/request.js +7 -9
- package/test/unit/spec/meeting-info/util.js +11 -12
- package/test/unit/spec/meeting-info/utilv2.js +131 -74
- package/test/unit/spec/meetings/collection.js +15 -1
- package/test/unit/spec/meetings/index.js +1052 -333
- package/test/unit/spec/meetings/utils.js +163 -14
- package/test/unit/spec/member/index.js +24 -1
- package/test/unit/spec/member/util.js +359 -32
- package/test/unit/spec/members/index.js +547 -37
- package/test/unit/spec/members/request.js +76 -20
- package/test/unit/spec/members/utils.js +191 -4
- package/test/unit/spec/metrics/index.js +46 -20
- package/test/unit/spec/multistream/mediaRequestManager.ts +1060 -0
- package/test/unit/spec/multistream/receiveSlot.ts +163 -0
- package/test/unit/spec/multistream/receiveSlotManager.ts +203 -0
- package/test/unit/spec/multistream/remoteMedia.ts +255 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +396 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +1793 -0
- package/test/unit/spec/networkQualityMonitor/index.js +24 -18
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
- package/test/unit/spec/reachability/index.ts +176 -27
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +106 -9
- package/test/unit/spec/recording-controller/index.js +231 -0
- package/test/unit/spec/recording-controller/util.js +102 -0
- package/test/unit/spec/roap/index.ts +78 -45
- package/test/unit/spec/roap/request.ts +217 -0
- package/test/unit/spec/roap/turnDiscovery.ts +93 -49
- package/test/unit/spec/stats-analyzer/index.js +118 -65
- package/test/utils/cmr.js +44 -42
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +64 -0
- package/test/utils/testUtils.js +63 -99
- package/test/utils/webex-config.js +22 -18
- package/test/utils/webex-test-users.js +57 -50
- package/tsconfig.json +6 -0
- package/dist/meeting/effectsState.js +0 -327
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/peer-connection-manager/index.js +0 -794
- package/dist/peer-connection-manager/index.js.map +0 -1
- package/dist/peer-connection-manager/util.js +0 -124
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/dist/roap/collection.js +0 -73
- package/dist/roap/collection.js.map +0 -1
- package/dist/roap/handler.js +0 -337
- package/dist/roap/handler.js.map +0 -1
- package/dist/roap/state.js +0 -164
- package/dist/roap/state.js.map +0 -1
- package/dist/roap/util.js +0 -102
- package/dist/roap/util.js.map +0 -1
- package/src/common/logs/logger-proxy.js +0 -33
- package/src/index.js +0 -15
- package/src/locus-info/controlsUtils.js +0 -102
- package/src/media/index.js +0 -593
- package/src/media/util.js +0 -38
- package/src/mediaQualityMetrics/config.js +0 -382
- package/src/meeting/effectsState.js +0 -205
- package/src/meeting/muteState.js +0 -318
- package/src/meeting-info/meeting-info-v2.js +0 -255
- package/src/meetings/index.js +0 -986
- package/src/meetings/util.js +0 -176
- package/src/members/request.js +0 -131
- package/src/peer-connection-manager/index.js +0 -723
- package/src/peer-connection-manager/util.ts +0 -117
- package/src/roap/collection.js +0 -63
- package/src/roap/handler.js +0 -252
- package/src/roap/index.js +0 -380
- package/src/roap/request.js +0 -198
- package/src/roap/state.js +0 -149
- package/src/roap/util.js +0 -93
- package/src/statsAnalyzer/global.js +0 -131
- package/src/statsAnalyzer/index.js +0 -1020
- package/src/statsAnalyzer/mqaUtil.js +0 -173
- package/test/unit/spec/meeting/effectsState.js +0 -293
- package/test/unit/spec/peerconnection-manager/index.js +0 -188
- package/test/unit/spec/peerconnection-manager/utils.js +0 -48
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
- package/test/unit/spec/roap/util.js +0 -30
- /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
package/dist/media/index.js
CHANGED
|
@@ -1,51 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
4
|
-
|
|
5
4
|
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
6
|
-
|
|
7
5
|
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
8
|
-
|
|
9
6
|
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
10
|
-
|
|
11
7
|
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
12
|
-
|
|
13
8
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
14
|
-
|
|
15
9
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
16
|
-
|
|
17
10
|
_Object$defineProperty(exports, "__esModule", {
|
|
18
11
|
value: true
|
|
19
12
|
});
|
|
20
|
-
|
|
21
13
|
exports.default = void 0;
|
|
22
|
-
|
|
23
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
24
|
-
|
|
25
|
-
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
26
|
-
|
|
27
15
|
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
28
|
-
|
|
16
|
+
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
17
|
+
var _internalMediaCore = require("@webex/internal-media-core");
|
|
29
18
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
30
|
-
|
|
31
19
|
var _constants = require("../constants");
|
|
32
|
-
|
|
33
20
|
var _config = _interopRequireDefault(require("../config"));
|
|
34
|
-
|
|
35
|
-
var _peerConnectionManager = _interopRequireDefault(require("../peer-connection-manager"));
|
|
36
|
-
|
|
37
|
-
var _reconnection = _interopRequireDefault(require("../common/errors/reconnection"));
|
|
38
|
-
|
|
21
|
+
var _config2 = _interopRequireDefault(require("../common/config"));
|
|
39
22
|
var _media = _interopRequireDefault(require("../common/errors/media"));
|
|
40
|
-
|
|
41
23
|
var _browserDetection = _interopRequireDefault(require("../common/browser-detection"));
|
|
42
|
-
|
|
43
24
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
44
|
-
|
|
45
25
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
46
|
-
|
|
47
26
|
var _BrowserDetection = (0, _browserDetection.default)(),
|
|
48
|
-
|
|
27
|
+
isBrowser = _BrowserDetection.isBrowser;
|
|
49
28
|
/**
|
|
50
29
|
* MediaDirection
|
|
51
30
|
* @typedef {Object} MediaDirection
|
|
@@ -66,7 +45,6 @@ var _BrowserDetection = (0, _browserDetection.default)(),
|
|
|
66
45
|
* @property isSharing
|
|
67
46
|
* @property {Object} sharePreferences
|
|
68
47
|
*/
|
|
69
|
-
|
|
70
48
|
/**
|
|
71
49
|
*
|
|
72
50
|
* @public
|
|
@@ -75,50 +53,8 @@ var _BrowserDetection = (0, _browserDetection.default)(),
|
|
|
75
53
|
* Handles the quirks of each browser.
|
|
76
54
|
* Extends and enhances adapter.js, i.e., the "media" file from the web client.
|
|
77
55
|
*/
|
|
78
|
-
|
|
79
|
-
|
|
80
56
|
var Media = {};
|
|
81
|
-
/**
|
|
82
|
-
* @param {boolean} enabled
|
|
83
|
-
* @param {MediaStreamTrack} track
|
|
84
|
-
* @returns {Boolean}
|
|
85
|
-
* @public
|
|
86
|
-
*/
|
|
87
|
-
|
|
88
|
-
Media.setLocalTrack = function (enabled, track) {
|
|
89
|
-
if (track) {
|
|
90
|
-
track.enabled = enabled;
|
|
91
|
-
return true;
|
|
92
|
-
}
|
|
93
57
|
|
|
94
|
-
return false;
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* @param {RTCPeerConnection} peerConnection
|
|
98
|
-
* @param {Object} meetingProperties
|
|
99
|
-
* @param {string} meetingProperties.meetingId
|
|
100
|
-
* @param {string} meetingProperties.remoteQualityLevel LOW|MEDIUM|HIGH
|
|
101
|
-
* @returns {Promise}
|
|
102
|
-
*/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
Media.reconnectMedia = function (peerConnection, _ref) {
|
|
106
|
-
var meetingId = _ref.meetingId,
|
|
107
|
-
remoteQualityLevel = _ref.remoteQualityLevel,
|
|
108
|
-
enableRtx = _ref.enableRtx,
|
|
109
|
-
enableExtmap = _ref.enableExtmap;
|
|
110
|
-
|
|
111
|
-
if (peerConnection.connectionState === _constants.PEER_CONNECTION_STATE.CLOSED || peerConnection.connectionState === _constants.PEER_CONNECTION_STATE.FAILED) {
|
|
112
|
-
return _promise.default.reject(new _reconnection.default('Reinitiate peerconnection'));
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return _peerConnectionManager.default.createOffer(peerConnection, {
|
|
116
|
-
meetingId: meetingId,
|
|
117
|
-
remoteQualityLevel: remoteQualityLevel,
|
|
118
|
-
enableRtx: enableRtx,
|
|
119
|
-
enableExtmap: enableExtmap
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
58
|
/**
|
|
123
59
|
* format the media array for send
|
|
124
60
|
* @param {String} mediaId
|
|
@@ -126,8 +62,6 @@ Media.reconnectMedia = function (peerConnection, _ref) {
|
|
|
126
62
|
* @param {Boolean} videoMuted
|
|
127
63
|
* @returns {Array} medias
|
|
128
64
|
*/
|
|
129
|
-
|
|
130
|
-
|
|
131
65
|
Media.generateLocalMedias = function (mediaId, audioMuted, videoMuted) {
|
|
132
66
|
if (mediaId) {
|
|
133
67
|
return [{
|
|
@@ -138,28 +72,24 @@ Media.generateLocalMedias = function (mediaId, audioMuted, videoMuted) {
|
|
|
138
72
|
mediaId: mediaId
|
|
139
73
|
}];
|
|
140
74
|
}
|
|
141
|
-
|
|
142
75
|
return [];
|
|
143
76
|
};
|
|
77
|
+
|
|
144
78
|
/**
|
|
145
79
|
* make a browser call to get the media
|
|
146
80
|
* @param {SendOptions} options
|
|
147
81
|
* @param {Object} config SDK Configuration for meetings plugin
|
|
148
82
|
* @returns {Promise}
|
|
149
83
|
*/
|
|
150
|
-
|
|
151
|
-
|
|
152
84
|
Media.getLocalMedia = function (options, config) {
|
|
153
85
|
var sendAudio = options.sendAudio,
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
86
|
+
sendVideo = options.sendVideo,
|
|
87
|
+
sendShare = options.sendShare,
|
|
88
|
+
sharePreferences = options.sharePreferences,
|
|
89
|
+
isSharing = options.isSharing;
|
|
159
90
|
if (sendAudio || sendVideo) {
|
|
160
91
|
return Media.getMedia(sendAudio, sendVideo, config);
|
|
161
92
|
}
|
|
162
|
-
|
|
163
93
|
if (sendShare && !isSharing) {
|
|
164
94
|
return Media.getDisplayMedia({
|
|
165
95
|
sendAudio: false,
|
|
@@ -167,200 +97,90 @@ Media.getLocalMedia = function (options, config) {
|
|
|
167
97
|
sharePreferences: sharePreferences
|
|
168
98
|
}, config);
|
|
169
99
|
}
|
|
170
|
-
|
|
171
100
|
return _promise.default.resolve(undefined);
|
|
172
101
|
};
|
|
173
|
-
/**
|
|
174
|
-
* Returns the direction and tracks
|
|
175
|
-
* @param {string} trackType type of track (audio/video)
|
|
176
|
-
* @param {object} track tracks passed
|
|
177
|
-
* @param {boolean} receiveTracks do you want to receive tracks from the remote side
|
|
178
|
-
* @returns {Object} returns direction tracks to be added in transceiver
|
|
179
|
-
*/
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
Media.checkTracks = function (trackType, track, receiveTracks) {
|
|
183
|
-
var getDirection = function getDirection(sendTracks, receiveTracks) {
|
|
184
|
-
if (sendTracks && receiveTracks) {
|
|
185
|
-
return 'sendrecv';
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
if (sendTracks && !receiveTracks) {
|
|
189
|
-
return 'sendonly';
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
if (!sendTracks && receiveTracks) {
|
|
193
|
-
return 'recvonly';
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
return 'inactive';
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
if (track) {
|
|
200
|
-
return {
|
|
201
|
-
track: track,
|
|
202
|
-
direction: getDirection(!!track, receiveTracks)
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
return {
|
|
207
|
-
track: trackType,
|
|
208
|
-
direction: getDirection(!!track, receiveTracks)
|
|
209
|
-
};
|
|
210
|
-
};
|
|
211
|
-
/**
|
|
212
|
-
* creates peerconnection and attaches streams
|
|
213
|
-
* @param {MediaDirection} mediaProperties
|
|
214
|
-
* @param {Object} meetingProperties
|
|
215
|
-
* @param {string} meetingProperties.meetingId
|
|
216
|
-
* @param {string} meetingProperties.remoteQualityLevel LOW|MEDIUM|HIGH
|
|
217
|
-
* @returns {Array} [peerConnection, ]
|
|
218
|
-
*/
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
Media.attachMedia = function (mediaProperties, _ref2) {
|
|
222
|
-
var meetingId = _ref2.meetingId,
|
|
223
|
-
remoteQualityLevel = _ref2.remoteQualityLevel,
|
|
224
|
-
enableRtx = _ref2.enableRtx,
|
|
225
|
-
enableExtmap = _ref2.enableExtmap;
|
|
226
|
-
var mediaDirection = mediaProperties.mediaDirection,
|
|
227
|
-
audioTrack = mediaProperties.audioTrack,
|
|
228
|
-
videoTrack = mediaProperties.videoTrack,
|
|
229
|
-
shareTrack = mediaProperties.shareTrack,
|
|
230
|
-
peerConnection = mediaProperties.peerConnection;
|
|
231
|
-
var result = null; // Add Transceiver for audio
|
|
232
|
-
|
|
233
|
-
result = Media.checkTracks('audio', mediaDirection.sendAudio && audioTrack, mediaDirection.receiveAudio);
|
|
234
|
-
peerConnection.audioTransceiver = peerConnection.addTransceiver(result.track, {
|
|
235
|
-
direction: result.direction
|
|
236
|
-
}); // Add Transceiver for video
|
|
237
|
-
|
|
238
|
-
result = Media.checkTracks('video', mediaDirection.sendVideo && videoTrack, mediaDirection.receiveVideo);
|
|
239
|
-
peerConnection.videoTransceiver = peerConnection.addTransceiver(result.track, {
|
|
240
|
-
direction: result.direction
|
|
241
|
-
}); // Add Transceiver for share
|
|
242
|
-
|
|
243
|
-
result = Media.checkTracks('video', mediaDirection.sendShare && shareTrack, mediaDirection.receiveShare);
|
|
244
|
-
peerConnection.shareTransceiver = peerConnection.addTransceiver(result.track, {
|
|
245
|
-
direction: result.direction
|
|
246
|
-
});
|
|
247
|
-
|
|
248
|
-
peerConnection.onnegotiationneeded = function (event) {
|
|
249
|
-
_loggerProxy.default.logger.info("Media:index#attachMedia --> onnegotiationneeded#PeerConnection: ".concat(event));
|
|
250
|
-
};
|
|
251
|
-
|
|
252
|
-
return _peerConnectionManager.default.createOffer(peerConnection, {
|
|
253
|
-
meetingId: meetingId,
|
|
254
|
-
remoteQualityLevel: remoteQualityLevel,
|
|
255
|
-
enableRtx: enableRtx,
|
|
256
|
-
enableExtmap: enableExtmap
|
|
257
|
-
});
|
|
258
|
-
};
|
|
259
|
-
/**
|
|
260
|
-
* updates all the media streams and creates a new media offer
|
|
261
|
-
* @param {MediaDirection} mediaProperties
|
|
262
|
-
* @param {Object} meetingProperties
|
|
263
|
-
* @param {string} meetingProperties.meetingId
|
|
264
|
-
* @param {string} meetingProperties.remoteQualityLevel LOW|MEDIUM|HIGH
|
|
265
|
-
* @returns {Promise}
|
|
266
|
-
*/
|
|
267
102
|
|
|
268
|
-
|
|
269
|
-
Media.updateMedia = function (mediaProperties, _ref3) {
|
|
270
|
-
var meetingId = _ref3.meetingId,
|
|
271
|
-
remoteQualityLevel = _ref3.remoteQualityLevel,
|
|
272
|
-
enableRtx = _ref3.enableRtx,
|
|
273
|
-
enableExtmap = _ref3.enableExtmap;
|
|
274
|
-
var mediaDirection = mediaProperties.mediaDirection,
|
|
275
|
-
audioTrack = mediaProperties.audioTrack,
|
|
276
|
-
videoTrack = mediaProperties.videoTrack,
|
|
277
|
-
shareTrack = mediaProperties.shareTrack,
|
|
278
|
-
peerConnection = mediaProperties.peerConnection; // update audio transceiver
|
|
279
|
-
|
|
280
|
-
Media.setTrackOnTransceiver(peerConnection.audioTransceiver, {
|
|
281
|
-
type: 'audio',
|
|
282
|
-
track: audioTrack,
|
|
283
|
-
sendTrack: mediaDirection.sendAudio && audioTrack,
|
|
284
|
-
receiveTrack: mediaDirection.receiveAudio
|
|
285
|
-
}); // update video transceiver
|
|
286
|
-
|
|
287
|
-
Media.setTrackOnTransceiver(peerConnection.videoTransceiver, {
|
|
288
|
-
type: 'video',
|
|
289
|
-
track: videoTrack,
|
|
290
|
-
sendTrack: mediaDirection.sendVideo && videoTrack,
|
|
291
|
-
receiveTrack: mediaDirection.receiveVideo
|
|
292
|
-
}); // update content transceiver
|
|
293
|
-
|
|
294
|
-
Media.setTrackOnTransceiver(peerConnection.shareTransceiver, {
|
|
295
|
-
type: 'video',
|
|
296
|
-
track: shareTrack,
|
|
297
|
-
sendTrack: mediaDirection.sendShare && shareTrack,
|
|
298
|
-
receiveTrack: mediaDirection.receiveShare
|
|
299
|
-
});
|
|
300
|
-
|
|
301
|
-
peerConnection.onnegotiationneeded = function (event) {
|
|
302
|
-
_loggerProxy.default.logger.info("Media:index#updateMedia --> onnegotiationneeded#PeerConnection: ".concat(event));
|
|
303
|
-
};
|
|
304
|
-
|
|
305
|
-
return _peerConnectionManager.default.createOffer(peerConnection, {
|
|
306
|
-
meetingId: meetingId,
|
|
307
|
-
remoteQualityLevel: remoteQualityLevel,
|
|
308
|
-
enableRtx: enableRtx,
|
|
309
|
-
enableExtmap: enableExtmap
|
|
310
|
-
});
|
|
311
|
-
};
|
|
312
103
|
/**
|
|
313
|
-
*
|
|
104
|
+
* creates a webrtc media connection with provided tracks and mediaDirection configuration
|
|
105
|
+
*
|
|
106
|
+
* @param {boolean} isMultistream
|
|
107
|
+
* @param {string} debugId string useful for debugging (will appear in media connection logs)
|
|
314
108
|
* @param {Object} options
|
|
315
|
-
* @param {
|
|
316
|
-
*
|
|
109
|
+
* @param {Object} [options.mediaProperties] contains mediaDirection and local tracks:
|
|
110
|
+
* audioTrack, videoTrack and shareTrack
|
|
111
|
+
* @param {string} [options.remoteQualityLevel] LOW|MEDIUM|HIGH applicable only to non-multistream connections
|
|
112
|
+
* @param {boolean} [options.enableRtx] applicable only to non-multistream connections
|
|
113
|
+
* @param {boolean} [options.enableExtmap] applicable only to non-multistream connections
|
|
114
|
+
* @param {Object} [options.turnServerInfo]
|
|
115
|
+
* @param {BundlePolicy} [options.bundlePolicy]
|
|
116
|
+
* @returns {RoapMediaConnection | MultistreamRoapMediaConnection}
|
|
317
117
|
*/
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
118
|
+
Media.createMediaConnection = function (isMultistream, debugId, options) {
|
|
119
|
+
var mediaProperties = options.mediaProperties,
|
|
120
|
+
remoteQualityLevel = options.remoteQualityLevel,
|
|
121
|
+
enableRtx = options.enableRtx,
|
|
122
|
+
enableExtmap = options.enableExtmap,
|
|
123
|
+
turnServerInfo = options.turnServerInfo,
|
|
124
|
+
bundlePolicy = options.bundlePolicy;
|
|
125
|
+
var iceServers = [];
|
|
126
|
+
if (turnServerInfo) {
|
|
127
|
+
iceServers.push({
|
|
128
|
+
urls: turnServerInfo.url,
|
|
129
|
+
username: turnServerInfo.username || '',
|
|
130
|
+
credential: turnServerInfo.password || ''
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
if (isMultistream) {
|
|
134
|
+
var _mediaProperties$medi, _mediaProperties$medi2, _mediaProperties$medi3, _mediaProperties$medi4;
|
|
135
|
+
var config = {
|
|
136
|
+
iceServers: iceServers,
|
|
137
|
+
enableMainAudio: ((_mediaProperties$medi = mediaProperties.mediaDirection) === null || _mediaProperties$medi === void 0 ? void 0 : _mediaProperties$medi.sendAudio) || ((_mediaProperties$medi2 = mediaProperties.mediaDirection) === null || _mediaProperties$medi2 === void 0 ? void 0 : _mediaProperties$medi2.receiveAudio),
|
|
138
|
+
enableMainVideo: ((_mediaProperties$medi3 = mediaProperties.mediaDirection) === null || _mediaProperties$medi3 === void 0 ? void 0 : _mediaProperties$medi3.sendVideo) || ((_mediaProperties$medi4 = mediaProperties.mediaDirection) === null || _mediaProperties$medi4 === void 0 ? void 0 : _mediaProperties$medi4.receiveVideo)
|
|
139
|
+
};
|
|
140
|
+
if (bundlePolicy) {
|
|
141
|
+
config.bundlePolicy = bundlePolicy;
|
|
332
142
|
}
|
|
333
|
-
|
|
334
|
-
_loggerProxy.default.logger.error("Media:index#setTrackOnTransceiver --> ".concat(e));
|
|
335
|
-
|
|
336
|
-
throw e;
|
|
143
|
+
return new _internalMediaCore.MultistreamRoapMediaConnection(config, debugId);
|
|
337
144
|
}
|
|
145
|
+
if (!mediaProperties) {
|
|
146
|
+
throw new Error('mediaProperties have to be provided for non-multistream media connections');
|
|
147
|
+
}
|
|
148
|
+
var mediaDirection = mediaProperties.mediaDirection,
|
|
149
|
+
audioTrack = mediaProperties.audioTrack,
|
|
150
|
+
videoTrack = mediaProperties.videoTrack,
|
|
151
|
+
shareTrack = mediaProperties.shareTrack;
|
|
152
|
+
return new _internalMediaCore.RoapMediaConnection({
|
|
153
|
+
iceServers: iceServers,
|
|
154
|
+
skipInactiveTransceivers: false,
|
|
155
|
+
requireH264: true,
|
|
156
|
+
sdpMunging: {
|
|
157
|
+
convertPort9to0: false,
|
|
158
|
+
addContentSlides: true,
|
|
159
|
+
bandwidthLimits: {
|
|
160
|
+
audio: _config2.default.meetings.bandwidth.audio,
|
|
161
|
+
video: _config2.default.meetings.bandwidth.video
|
|
162
|
+
},
|
|
163
|
+
startBitrate: _config2.default.meetings.bandwidth.startBitrate,
|
|
164
|
+
periodicKeyframes: 20,
|
|
165
|
+
// it's always been hardcoded in SDK so for now keeping it that way
|
|
166
|
+
disableExtmap: !enableExtmap,
|
|
167
|
+
disableRtx: !enableRtx // see https://bugs.chromium.org/p/chromium/issues/detail?id=1020642 why we might want to remove RTX from SDP
|
|
168
|
+
}
|
|
169
|
+
}, {
|
|
170
|
+
send: {
|
|
171
|
+
audio: audioTrack === null || audioTrack === void 0 ? void 0 : audioTrack.underlyingTrack,
|
|
172
|
+
video: videoTrack === null || videoTrack === void 0 ? void 0 : videoTrack.underlyingTrack,
|
|
173
|
+
screenShareVideo: shareTrack === null || shareTrack === void 0 ? void 0 : shareTrack.underlyingTrack
|
|
174
|
+
},
|
|
175
|
+
receive: {
|
|
176
|
+
audio: mediaDirection.receiveAudio,
|
|
177
|
+
video: mediaDirection.receiveVideo,
|
|
178
|
+
screenShareVideo: mediaDirection.receiveShare,
|
|
179
|
+
remoteQualityLevel: remoteQualityLevel
|
|
180
|
+
}
|
|
181
|
+
}, debugId);
|
|
338
182
|
};
|
|
339
|
-
/**
|
|
340
|
-
* creates a new offer
|
|
341
|
-
* @param {Object} meetingProperties
|
|
342
|
-
* @param {string} meetingProperties.meetingId
|
|
343
|
-
* @param {string} meetingProperties.remoteQualityLevel LOW|MEDIUM|HIGH
|
|
344
|
-
* @param {RTCPeerConnection} peerConnection
|
|
345
|
-
* @param {RTCRtpTransceiver} transceiver
|
|
346
|
-
* @param {Object} options see #Media.setTrackOnTransceiver
|
|
347
|
-
* @returns {Promise}
|
|
348
|
-
*/
|
|
349
|
-
|
|
350
183
|
|
|
351
|
-
Media.updateTransceiver = function (_ref4, peerConnection, transceiver, options) {
|
|
352
|
-
var meetingId = _ref4.meetingId,
|
|
353
|
-
remoteQualityLevel = _ref4.remoteQualityLevel,
|
|
354
|
-
enableRtx = _ref4.enableRtx,
|
|
355
|
-
enableExtmap = _ref4.enableExtmap;
|
|
356
|
-
Media.setTrackOnTransceiver(transceiver, options);
|
|
357
|
-
return _peerConnectionManager.default.createOffer(peerConnection, {
|
|
358
|
-
meetingId: meetingId,
|
|
359
|
-
remoteQualityLevel: remoteQualityLevel,
|
|
360
|
-
enableRtx: enableRtx,
|
|
361
|
-
enableExtmap: enableExtmap
|
|
362
|
-
});
|
|
363
|
-
};
|
|
364
184
|
/**
|
|
365
185
|
* generates share streams
|
|
366
186
|
* @param {Object} options parameter
|
|
@@ -373,29 +193,26 @@ Media.updateTransceiver = function (_ref4, peerConnection, transceiver, options)
|
|
|
373
193
|
* @param {Object} config SDK Configuration for meetings plugin
|
|
374
194
|
* @returns {Promise.<MediaStream>}
|
|
375
195
|
*/
|
|
376
|
-
|
|
377
|
-
|
|
378
196
|
Media.getDisplayMedia = function (options) {
|
|
379
197
|
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
380
198
|
// SDK screen share resolution settings from Webex.init
|
|
381
|
-
var customResolution = config.screenResolution || {};
|
|
382
|
-
|
|
383
|
-
var customShareFrameRate = config.screenFrameRate || null;
|
|
384
|
-
|
|
199
|
+
var customResolution = config.screenResolution || {};
|
|
200
|
+
// user defined screen share frame rate
|
|
201
|
+
var customShareFrameRate = config.screenFrameRate || null;
|
|
202
|
+
// user defined share preferences
|
|
385
203
|
var hasSharePreferences = options.sharePreferences;
|
|
386
204
|
var hasCustomConstraints = hasSharePreferences && hasSharePreferences.shareConstraints;
|
|
387
205
|
var hasHighFrameRate = hasSharePreferences && hasSharePreferences.highFrameRate;
|
|
388
206
|
var _Config$meetings = _config.default.meetings,
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
207
|
+
screenResolution = _Config$meetings.screenResolution,
|
|
208
|
+
resolution = _Config$meetings.resolution,
|
|
209
|
+
videoShareFrameRate = _Config$meetings.videoShareFrameRate,
|
|
210
|
+
screenFrameRate = _Config$meetings.screenFrameRate,
|
|
211
|
+
aspectRatio = _Config$meetings.aspectRatio;
|
|
394
212
|
var shareConstraints = {
|
|
395
213
|
cursor: _constants.MEDIA_TRACK_CONSTRAINT.CURSOR.AWLAYS,
|
|
396
214
|
aspectRatio: aspectRatio
|
|
397
215
|
};
|
|
398
|
-
|
|
399
216
|
if (hasCustomConstraints) {
|
|
400
217
|
shareConstraints = hasSharePreferences.shareConstraints;
|
|
401
218
|
} else if (hasHighFrameRate) {
|
|
@@ -410,14 +227,15 @@ Media.getDisplayMedia = function (options) {
|
|
|
410
227
|
height: customResolution.idealHeight || screenResolution.idealHeight,
|
|
411
228
|
width: customResolution.idealWidth || screenResolution.idealWidth
|
|
412
229
|
}, config.screenResolution);
|
|
413
|
-
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// chrome and webkit based browsers (edge, safari) automatically adjust everything
|
|
414
233
|
// and we have noticed higher quality with those browser types
|
|
415
234
|
// firefox specifically has some issues with resolution and frame rate decision making
|
|
416
235
|
// so we are making it optional and configurable (with defaults) for firefox
|
|
417
236
|
// to have higher quality, and for developers to control the values
|
|
418
237
|
// eventually we may have to add the same functionality to chrome, OR conversely, get to with firefox
|
|
419
238
|
|
|
420
|
-
|
|
421
239
|
if (isBrowser('firefox')) {
|
|
422
240
|
var mediaConfig = {
|
|
423
241
|
audio: options.sendAudio,
|
|
@@ -433,22 +251,21 @@ Media.getDisplayMedia = function (options) {
|
|
|
433
251
|
// https://bugzilla.mozilla.org/show_bug.cgi?id=1321221
|
|
434
252
|
stream.getVideoTracks()[0].applyConstraints(shareConstraints);
|
|
435
253
|
}
|
|
436
|
-
|
|
437
254
|
return stream;
|
|
438
255
|
});
|
|
439
256
|
}
|
|
440
|
-
|
|
441
257
|
var getDisplayMediaParams = {
|
|
442
258
|
video: options.sendShare ? shareConstraints : false
|
|
443
|
-
};
|
|
444
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia
|
|
259
|
+
};
|
|
445
260
|
|
|
261
|
+
// safari doesn't support sending screen share audio
|
|
262
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia
|
|
446
263
|
if (options.sendAudio && isBrowser('safari')) {
|
|
447
264
|
getDisplayMediaParams.audio = options.sendAudio;
|
|
448
265
|
}
|
|
449
|
-
|
|
450
266
|
return navigator.mediaDevices.getDisplayMedia(getDisplayMediaParams);
|
|
451
267
|
};
|
|
268
|
+
|
|
452
269
|
/**
|
|
453
270
|
* generates audio and video using constraints (often called after getSupportedDevices)
|
|
454
271
|
* @param {Object|Boolean} audio gum constraints
|
|
@@ -456,8 +273,6 @@ Media.getDisplayMedia = function (options) {
|
|
|
456
273
|
* @param {Object} config SDK Configuration for meetings plugin
|
|
457
274
|
* @returns {Object} {streams}
|
|
458
275
|
*/
|
|
459
|
-
|
|
460
|
-
|
|
461
276
|
Media.getMedia = function (audio, video, config) {
|
|
462
277
|
var defaultWidth = {
|
|
463
278
|
ideal: config.resolution.idealWidth,
|
|
@@ -474,23 +289,26 @@ Media.getMedia = function (audio, video, config) {
|
|
|
474
289
|
video: video ? isBrowser('firefox') && video.width && video.width.max === 320 ? {
|
|
475
290
|
deviceId: video.deviceId ? video.deviceId : undefined,
|
|
476
291
|
width: 320,
|
|
477
|
-
height: 180
|
|
292
|
+
height: 180,
|
|
293
|
+
frameRate: video.frameRate ? video.frameRate : undefined,
|
|
294
|
+
facingMode: video.facingMode ? video.facingMode : undefined
|
|
478
295
|
} : {
|
|
479
296
|
deviceId: video.deviceId ? video.deviceId : undefined,
|
|
480
297
|
width: video.width ? video.width : defaultWidth,
|
|
481
|
-
height: video.height ? video.height : defaultHeight
|
|
298
|
+
height: video.height ? video.height : defaultHeight,
|
|
299
|
+
frameRate: video.frameRate ? video.frameRate : undefined,
|
|
300
|
+
facingMode: video.facingMode ? video.facingMode : undefined
|
|
482
301
|
} : false,
|
|
483
302
|
fake: process.env.NODE_ENV === 'test' // Special case to get fake media for Firefox browser for testing
|
|
484
|
-
|
|
485
303
|
};
|
|
304
|
+
|
|
486
305
|
return navigator.mediaDevices.getUserMedia(mediaConfig).catch(function (err) {
|
|
487
306
|
var logPath = 'Media:index#getMedia --> navigator.mediaDevices.getUserMedia';
|
|
488
|
-
|
|
489
307
|
_loggerProxy.default.logger.error("".concat(logPath, " failed - ").concat(err, " (").concat(err.constraint, ")"));
|
|
490
|
-
|
|
491
308
|
throw err;
|
|
492
309
|
});
|
|
493
310
|
};
|
|
311
|
+
|
|
494
312
|
/**
|
|
495
313
|
* Checks if the machine has at least one audio or video device (Dont use this for screen share)
|
|
496
314
|
* @param {object} [options]
|
|
@@ -503,11 +321,9 @@ Media.getMedia = function (audio, video, config) {
|
|
|
503
321
|
* sendVideo: true/false
|
|
504
322
|
*}
|
|
505
323
|
*/
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
var sendAudio = _ref5.sendAudio,
|
|
510
|
-
sendVideo = _ref5.sendVideo;
|
|
324
|
+
Media.getSupportedDevice = function (_ref) {
|
|
325
|
+
var sendAudio = _ref.sendAudio,
|
|
326
|
+
sendVideo = _ref.sendVideo;
|
|
511
327
|
return _promise.default.resolve().then(function () {
|
|
512
328
|
if (!navigator.mediaDevices || navigator.mediaDevices.enumerateDevices === undefined) {
|
|
513
329
|
return {
|
|
@@ -515,7 +331,6 @@ Media.getSupportedDevice = function (_ref5) {
|
|
|
515
331
|
sendVideo: false
|
|
516
332
|
};
|
|
517
333
|
}
|
|
518
|
-
|
|
519
334
|
return navigator.mediaDevices.enumerateDevices().then(function (devices) {
|
|
520
335
|
var supported = {
|
|
521
336
|
audio: devices.filter(function (device) {
|
|
@@ -532,40 +347,35 @@ Media.getSupportedDevice = function (_ref5) {
|
|
|
532
347
|
});
|
|
533
348
|
});
|
|
534
349
|
};
|
|
350
|
+
|
|
535
351
|
/**
|
|
536
352
|
* proxy to browser navigator.mediaDevices.enumerateDevices()
|
|
537
353
|
* @returns {Promise}
|
|
538
354
|
*/
|
|
539
|
-
|
|
540
|
-
|
|
541
355
|
Media.getDevices = function () {
|
|
542
356
|
if (navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {
|
|
543
357
|
return navigator.mediaDevices.enumerateDevices();
|
|
544
358
|
}
|
|
545
|
-
|
|
546
359
|
return _promise.default.reject(new _media.default('enumerateDevices not supported.'));
|
|
547
360
|
};
|
|
361
|
+
|
|
548
362
|
/**
|
|
549
363
|
*
|
|
550
364
|
* Toggle a specific stream
|
|
551
365
|
* noop as of now, does nothing
|
|
552
366
|
* @returns {null}
|
|
553
367
|
*/
|
|
554
|
-
|
|
555
|
-
|
|
556
368
|
Media.toggleStream = function () {};
|
|
369
|
+
|
|
557
370
|
/**
|
|
558
371
|
* Stop input stream
|
|
559
372
|
* @param {MediaTrack} track A media stream
|
|
560
373
|
* @returns {null}
|
|
561
374
|
*/
|
|
562
|
-
|
|
563
|
-
|
|
564
375
|
Media.stopTracks = function (track) {
|
|
565
376
|
if (!track) {
|
|
566
377
|
return _promise.default.resolve();
|
|
567
378
|
}
|
|
568
|
-
|
|
569
379
|
return _promise.default.resolve().then(function () {
|
|
570
380
|
if (track && track.stop) {
|
|
571
381
|
try {
|
|
@@ -576,38 +386,7 @@ Media.stopTracks = function (track) {
|
|
|
576
386
|
}
|
|
577
387
|
});
|
|
578
388
|
};
|
|
579
|
-
/**
|
|
580
|
-
*
|
|
581
|
-
* Stop input stream
|
|
582
|
-
* @param {Stream} stream A media stream
|
|
583
|
-
* @returns {null}
|
|
584
|
-
* @deprecated after v1.89.3
|
|
585
|
-
*/
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
Media.stopStream = function (stream) {
|
|
589
|
-
_loggerProxy.default.logger.warn('Media:index#stopStream --> [DEPRECATION WARNING]: stopStream has been deprecated after v1.89.3');
|
|
590
389
|
|
|
591
|
-
if (!stream) {
|
|
592
|
-
return _promise.default.resolve();
|
|
593
|
-
}
|
|
594
|
-
/*
|
|
595
|
-
* To release local media
|
|
596
|
-
* 1) Chrome requires all tracks to be stopped (stream.stop got deprecated)
|
|
597
|
-
* 2) Firefox requires the stream to be stopped
|
|
598
|
-
*/
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
return _promise.default.resolve().then(function () {
|
|
602
|
-
if (stream.getTracks) {
|
|
603
|
-
stream.getTracks().forEach(function (track) {
|
|
604
|
-
track.stop();
|
|
605
|
-
});
|
|
606
|
-
} else if (stream.stop) {
|
|
607
|
-
stream.stop();
|
|
608
|
-
}
|
|
609
|
-
});
|
|
610
|
-
};
|
|
611
390
|
/**
|
|
612
391
|
* generates streams for audio video and share
|
|
613
392
|
* @param {object} mediaSetting parameter
|
|
@@ -624,8 +403,6 @@ Media.stopStream = function (stream) {
|
|
|
624
403
|
* @param {Object} config SDK Config
|
|
625
404
|
* @returns {Array} [localStream, shareStream]
|
|
626
405
|
*/
|
|
627
|
-
|
|
628
|
-
|
|
629
406
|
Media.getUserMedia = function (mediaSetting, audioVideo, sharePreferences, config) {
|
|
630
407
|
return Media.getLocalMedia({
|
|
631
408
|
sendAudio: mediaSetting.sendAudio ? audioVideo.audio || mediaSetting.sendAudio : false,
|
|
@@ -640,7 +417,6 @@ Media.getUserMedia = function (mediaSetting, audioVideo, sharePreferences, confi
|
|
|
640
417
|
});
|
|
641
418
|
});
|
|
642
419
|
};
|
|
643
|
-
|
|
644
420
|
var _default = Media;
|
|
645
421
|
exports.default = _default;
|
|
646
422
|
//# sourceMappingURL=index.js.map
|