@webex/plugin-meetings 2.60.0 → 2.60.1-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -8
- package/dist/annotation/annotation.types.d.ts +42 -0
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.d.ts +31 -0
- package/dist/annotation/constants.js +41 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.d.ts +117 -0
- package/dist/annotation/index.js +357 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.d.ts +8 -0
- package/dist/breakouts/breakout.js +215 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.d.ts +5 -0
- package/dist/breakouts/collection.js +22 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/breakouts/edit-lock-error.js +51 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.d.ts +8 -0
- package/dist/breakouts/events.js +44 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.d.ts +5 -0
- package/dist/breakouts/index.js +1047 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.d.ts +22 -0
- package/dist/breakouts/request.js +77 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.d.ts +15 -0
- package/dist/breakouts/utils.js +64 -0
- package/dist/breakouts/utils.js.map +1 -0
- 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.d.ts +14 -0
- package/dist/common/errors/no-meeting-info.js +50 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- 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-error.js → reclaim-host-role-errors.js} +7 -11
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- 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.d.ts +20 -8
- package/dist/common/errors/webex-errors.js +48 -28
- 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 +2 -3
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.d.ts +3 -1
- package/dist/common/logs/request.js +8 -5
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.d.ts +9 -7
- package/dist/common/queue.js +22 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.d.ts +6 -7
- package/dist/config.js +8 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +217 -97
- package/dist/constants.js +416 -441
- 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.d.ts +11 -1
- package/dist/controls-options-manager/enums.js +15 -6
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.d.ts +17 -1
- package/dist/controls-options-manager/index.js +127 -38
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.d.ts +43 -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.d.ts +1 -7
- package/dist/controls-options-manager/util.js +309 -19
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.js +121 -5
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.d.ts +2 -0
- package/dist/interceptors/index.js +15 -0
- package/dist/interceptors/index.js.map +1 -0
- package/dist/interceptors/locusRetry.d.ts +27 -0
- package/dist/interceptors/locusRetry.js +94 -0
- package/dist/interceptors/locusRetry.js.map +1 -0
- package/dist/interpretation/collection.d.ts +5 -0
- package/dist/interpretation/collection.js +22 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.d.ts +5 -0
- package/dist/interpretation/index.js +365 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.d.ts +5 -0
- package/dist/interpretation/siLanguage.js +24 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +100 -11
- 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.d.ts +57 -4
- package/dist/locus-info/index.js +425 -84
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +13 -5
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +58 -3
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.d.ts +66 -6
- package/dist/locus-info/parser.js +253 -80
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +97 -13
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.d.ts +2 -0
- package/dist/media/index.js +107 -319
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.d.ts +38 -53
- package/dist/media/properties.js +96 -153
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +1 -22
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.d.ts +234 -230
- package/dist/mediaQualityMetrics/config.js +302 -498
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.d.ts +88 -0
- package/dist/meeting/in-meeting-actions.js +94 -3
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +591 -494
- package/dist/meeting/index.js +4732 -2990
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/meeting/locusMediaRequest.js +291 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.d.ts +93 -25
- package/dist/meeting/muteState.js +224 -133
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +82 -47
- package/dist/meeting/request.js +297 -199
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.d.ts +11 -0
- package/dist/meeting/request.type.js +7 -0
- package/dist/meeting/request.type.js.map +1 -0
- package/dist/meeting/state.js +1 -2
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.d.ts +102 -1
- package/dist/meeting/util.js +605 -435
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +3 -4
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.d.ts +13 -1
- package/dist/meeting-info/index.js +74 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.d.ts +31 -1
- package/dist/meeting-info/meeting-info-v2.js +200 -63
- 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 +2 -3
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +39 -41
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +17 -0
- package/dist/meetings/collection.js +42 -4
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +93 -21
- package/dist/meetings/index.js +490 -127
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.d.ts +4 -0
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +4 -3
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +107 -6
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.d.ts +13 -1
- package/dist/member/index.js +45 -2
- package/dist/member/index.js.map +1 -1
- package/dist/member/member.types.js +3 -4
- package/dist/member/member.types.js.map +1 -1
- package/dist/member/types.d.ts +32 -0
- package/dist/member/types.js +23 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +120 -29
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.d.ts +5 -0
- package/dist/members/collection.js +11 -2
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.d.ts +56 -11
- package/dist/members/index.js +174 -47
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.d.ts +67 -11
- package/dist/members/request.js +102 -54
- 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/members/util.d.ts +214 -1
- package/dist/members/util.js +327 -284
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.d.ts +15 -6
- package/dist/metrics/constants.js +17 -9
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +4 -111
- package/dist/metrics/index.js +4 -452
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/multistream/mediaRequestManager.js +344 -0
- package/dist/multistream/mediaRequestManager.js.map +1 -0
- package/dist/multistream/receiveSlot.d.ts +68 -0
- package/dist/multistream/receiveSlot.js +200 -0
- package/dist/multistream/receiveSlot.js.map +1 -0
- package/dist/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/multistream/receiveSlotManager.js +174 -0
- package/dist/multistream/receiveSlotManager.js.map +1 -0
- package/dist/multistream/remoteMedia.d.ts +72 -0
- package/dist/multistream/remoteMedia.js +268 -0
- package/dist/multistream/remoteMedia.js.map +1 -0
- package/dist/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/multistream/remoteMediaGroup.js +267 -0
- package/dist/multistream/remoteMediaGroup.js.map +1 -0
- package/dist/multistream/remoteMediaManager.d.ts +285 -0
- package/dist/multistream/remoteMediaManager.js +1211 -0
- package/dist/multistream/remoteMediaManager.js.map +1 -0
- package/dist/multistream/sendSlotManager.d.ts +61 -0
- package/dist/multistream/sendSlotManager.js +236 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/networkQualityMonitor/index.js +5 -4
- 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/reachability/clusterReachability.d.ts +109 -0
- package/dist/reachability/clusterReachability.js +357 -0
- package/dist/reachability/clusterReachability.js.map +1 -0
- package/dist/reachability/index.d.ts +61 -95
- package/dist/reachability/index.js +300 -393
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.d.ts +7 -3
- package/dist/reachability/request.js +18 -10
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.d.ts +8 -0
- package/dist/reachability/util.js +29 -0
- package/dist/reachability/util.js.map +1 -0
- package/dist/reactions/constants.d.ts +3 -0
- package/dist/reactions/constants.js +12 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.d.ts +2 -2
- package/dist/reactions/reactions.js +4 -6
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.d.ts +23 -3
- package/dist/reactions/reactions.type.js +21 -23
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.d.ts +32 -8
- package/dist/reconnection-manager/index.js +282 -231
- 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.d.ts +15 -1
- package/dist/recording-controller/index.js +57 -46
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.d.ts +5 -4
- package/dist/recording-controller/util.js +10 -10
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.d.ts +9 -47
- package/dist/roap/index.js +101 -235
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.d.ts +18 -12
- package/dist/roap/request.js +126 -180
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.d.ts +27 -16
- package/dist/roap/turnDiscovery.js +115 -105
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.d.ts +4 -0
- package/dist/rtcMetrics/constants.js +11 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.d.ts +54 -0
- package/dist/rtcMetrics/index.js +140 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/global.d.ts +1 -83
- package/dist/statsAnalyzer/global.js +2 -85
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.d.ts +50 -30
- package/dist/statsAnalyzer/index.js +435 -510
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +8 -6
- package/dist/statsAnalyzer/mqaUtil.js +120 -83
- 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.d.ts +16 -0
- package/dist/webinar/collection.js +43 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.d.ts +5 -0
- package/dist/webinar/index.js +68 -0
- package/dist/webinar/index.js.map +1 -0
- package/package.json +38 -26
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +220 -0
- package/src/breakouts/breakout.ts +188 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +925 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/webex-errors.ts +36 -12
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/logs/request.ts +5 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +6 -7
- package/src/constants.ts +244 -97
- package/src/controls-options-manager/enums.ts +12 -0
- package/src/controls-options-manager/index.ts +116 -21
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +294 -14
- package/src/index.ts +44 -0
- package/src/interceptors/index.ts +3 -0
- package/src/interceptors/locusRetry.ts +67 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +110 -0
- package/src/locus-info/index.ts +449 -61
- package/src/locus-info/infoUtils.ts +14 -2
- package/src/locus-info/mediaSharesUtils.ts +64 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +85 -2
- package/src/media/index.ts +153 -370
- package/src/media/properties.ts +106 -136
- package/src/media/util.ts +0 -21
- package/src/mediaQualityMetrics/config.ts +244 -377
- package/src/meeting/in-meeting-actions.ts +176 -0
- package/src/meeting/index.ts +3944 -2489
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +224 -138
- package/src/meeting/request.ts +207 -127
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/util.ts +590 -423
- package/src/meeting-info/index.ts +81 -8
- package/src/meeting-info/meeting-info-v2.ts +163 -13
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +28 -28
- package/src/meetings/collection.ts +33 -0
- package/src/meetings/index.ts +487 -126
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +116 -5
- package/src/member/index.ts +43 -1
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +125 -28
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +187 -52
- package/src/members/request.ts +87 -27
- package/src/members/util.ts +332 -291
- package/src/metrics/constants.ts +15 -6
- package/src/metrics/index.ts +1 -471
- package/src/multistream/mediaRequestManager.ts +440 -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 +284 -0
- package/src/multistream/remoteMediaManager.ts +1145 -0
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/reachability/clusterReachability.ts +320 -0
- package/src/reachability/index.ts +243 -347
- package/src/reachability/request.ts +17 -8
- package/src/reachability/util.ts +24 -0
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +30 -4
- package/src/reconnection-manager/index.ts +168 -156
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +98 -241
- package/src/roap/request.ts +74 -148
- package/src/roap/turnDiscovery.ts +62 -56
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +124 -0
- package/src/statsAnalyzer/global.ts +1 -84
- package/src/statsAnalyzer/index.ts +477 -643
- package/src/statsAnalyzer/mqaUtil.ts +115 -114
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +320 -264
- package/test/integration/spec/space-meeting.js +77 -4
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +237 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1790 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +163 -0
- package/test/unit/spec/controls-options-manager/util.js +576 -60
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interceptors/locusRetry.ts +131 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +323 -30
- package/test/unit/spec/locus-info/index.js +1390 -16
- package/test/unit/spec/locus-info/infoUtils.js +54 -16
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/lib/selfConstant.js +48 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
- package/test/unit/spec/locus-info/parser.js +116 -35
- package/test/unit/spec/locus-info/selfUtils.js +275 -0
- package/test/unit/spec/media/index.ts +290 -0
- package/test/unit/spec/media/properties.ts +75 -84
- package/test/unit/spec/meeting/in-meeting-actions.ts +86 -0
- package/test/unit/spec/meeting/index.js +8187 -2769
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +409 -213
- package/test/unit/spec/meeting/request.js +512 -42
- package/test/unit/spec/meeting/utils.js +741 -24
- package/test/unit/spec/meeting-info/index.js +300 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +527 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +26 -0
- package/test/unit/spec/meetings/index.js +1313 -243
- package/test/unit/spec/meetings/utils.js +202 -2
- package/test/unit/spec/member/index.js +32 -9
- package/test/unit/spec/member/util.js +499 -61
- package/test/unit/spec/members/index.js +394 -5
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +173 -38
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +1418 -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 +662 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +1924 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/reachability/clusterReachability.ts +279 -0
- package/test/unit/spec/reachability/index.ts +531 -24
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reachability/util.ts +40 -0
- package/test/unit/spec/reconnection-manager/index.js +162 -24
- package/test/unit/spec/recording-controller/index.js +293 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +200 -76
- package/test/unit/spec/roap/request.ts +255 -0
- package/test/unit/spec/roap/turnDiscovery.ts +86 -48
- package/test/unit/spec/rtcMetrics/index.ts +93 -0
- package/test/unit/spec/stats-analyzer/index.js +261 -167
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -45
- package/test/utils/webex-config.js +4 -0
- package/test/utils/webex-test-users.js +7 -3
- package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
- package/dist/meeting/effectsState.d.ts +0 -42
- package/dist/meeting/effectsState.js +0 -260
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.d.ts +0 -169
- package/dist/metrics/config.js +0 -289
- package/dist/metrics/config.js.map +0 -1
- package/dist/peer-connection-manager/index.d.ts +0 -6
- package/dist/peer-connection-manager/index.js +0 -671
- package/dist/peer-connection-manager/index.js.map +0 -1
- package/dist/peer-connection-manager/util.d.ts +0 -6
- package/dist/peer-connection-manager/util.js +0 -110
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/dist/roap/collection.d.ts +0 -10
- package/dist/roap/collection.js +0 -63
- package/dist/roap/collection.js.map +0 -1
- package/dist/roap/handler.d.ts +0 -47
- package/dist/roap/handler.js +0 -279
- package/dist/roap/handler.js.map +0 -1
- package/dist/roap/state.d.ts +0 -9
- package/dist/roap/state.js +0 -127
- package/dist/roap/state.js.map +0 -1
- package/dist/roap/util.d.ts +0 -2
- package/dist/roap/util.js +0 -76
- package/dist/roap/util.js.map +0 -1
- package/src/index.js +0 -15
- package/src/meeting/effectsState.ts +0 -209
- package/src/metrics/config.ts +0 -485
- package/src/peer-connection-manager/index.ts +0 -847
- package/src/peer-connection-manager/util.ts +0 -119
- package/src/roap/collection.ts +0 -62
- package/src/roap/handler.ts +0 -294
- package/src/roap/state.ts +0 -156
- package/src/roap/util.ts +0 -100
- package/test/unit/spec/meeting/effectsState.js +0 -281
- package/test/unit/spec/peerconnection-manager/index.js +0 -218
- package/test/unit/spec/peerconnection-manager/utils.js +0 -49
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -388
- package/test/unit/spec/roap/util.js +0 -30
- /package/dist/common/errors/{reclaim-host-role-error.d.ts → reclaim-host-role-errors.d.ts} +0 -0
- /package/src/common/errors/{reclaim-host-role-error.ts → reclaim-host-role-errors.ts} +0 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
13
|
+
var _internalPluginMetrics = require("@webex/internal-plugin-metrics");
|
|
14
|
+
var _constants = _interopRequireDefault(require("./constants"));
|
|
15
|
+
/* eslint-disable class-methods-use-this */
|
|
16
|
+
/**
|
|
17
|
+
* Rtc Metrics
|
|
18
|
+
*/
|
|
19
|
+
var RtcMetrics = exports.default = /*#__PURE__*/function () {
|
|
20
|
+
/**
|
|
21
|
+
* Initialize the interval.
|
|
22
|
+
*
|
|
23
|
+
* @param {object} webex - The main `webex` object.
|
|
24
|
+
* @param {string} meetingId - The meeting id.
|
|
25
|
+
* @param {string} correlationId - The correlation id.
|
|
26
|
+
*/
|
|
27
|
+
function RtcMetrics(webex, meetingId, correlationId) {
|
|
28
|
+
(0, _classCallCheck2.default)(this, RtcMetrics);
|
|
29
|
+
/**
|
|
30
|
+
* Array of MetricData items to be sent to the metrics service.
|
|
31
|
+
*/
|
|
32
|
+
(0, _defineProperty2.default)(this, "metricsQueue", []);
|
|
33
|
+
(0, _defineProperty2.default)(this, "intervalId", void 0);
|
|
34
|
+
(0, _defineProperty2.default)(this, "webex", void 0);
|
|
35
|
+
(0, _defineProperty2.default)(this, "meetingId", void 0);
|
|
36
|
+
(0, _defineProperty2.default)(this, "correlationId", void 0);
|
|
37
|
+
// `window` is used to prevent typescript from returning a NodeJS.Timer.
|
|
38
|
+
this.intervalId = window.setInterval(this.sendMetricsInQueue.bind(this), 30 * 1000);
|
|
39
|
+
this.meetingId = meetingId;
|
|
40
|
+
this.webex = webex;
|
|
41
|
+
this.correlationId = correlationId;
|
|
42
|
+
// Send the first set of metrics at 5 seconds in the case of a user leaving the call shortly after joining.
|
|
43
|
+
setTimeout(this.sendMetricsInQueue.bind(this), 5 * 1000);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Check to see if the metrics queue has any items.
|
|
48
|
+
*
|
|
49
|
+
* @returns {void}
|
|
50
|
+
*/
|
|
51
|
+
(0, _createClass2.default)(RtcMetrics, [{
|
|
52
|
+
key: "sendMetricsInQueue",
|
|
53
|
+
value: function sendMetricsInQueue() {
|
|
54
|
+
if (this.metricsQueue.length) {
|
|
55
|
+
this.sendMetrics();
|
|
56
|
+
this.metricsQueue = [];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Add metrics items to the metrics queue.
|
|
62
|
+
*
|
|
63
|
+
* @param {object} data - An object with a payload array of metrics items.
|
|
64
|
+
*
|
|
65
|
+
* @returns {void}
|
|
66
|
+
*/
|
|
67
|
+
}, {
|
|
68
|
+
key: "addMetrics",
|
|
69
|
+
value: function addMetrics(data) {
|
|
70
|
+
if (data.payload.length) {
|
|
71
|
+
if (data.name === 'stats-report') {
|
|
72
|
+
data.payload = data.payload.map(this.anonymizeIp);
|
|
73
|
+
}
|
|
74
|
+
this.metricsQueue.push(data);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Clear the metrics interval.
|
|
80
|
+
*
|
|
81
|
+
* @returns {void}
|
|
82
|
+
*/
|
|
83
|
+
}, {
|
|
84
|
+
key: "closeMetrics",
|
|
85
|
+
value: function closeMetrics() {
|
|
86
|
+
this.sendMetricsInQueue();
|
|
87
|
+
clearInterval(this.intervalId);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Anonymize IP addresses.
|
|
92
|
+
*
|
|
93
|
+
* @param {array} stats - An RTCStatsReport organized into an array of strings.
|
|
94
|
+
* @returns {string}
|
|
95
|
+
*/
|
|
96
|
+
}, {
|
|
97
|
+
key: "anonymizeIp",
|
|
98
|
+
value: function anonymizeIp(stats) {
|
|
99
|
+
var data = JSON.parse(stats);
|
|
100
|
+
// on local and remote candidates, anonymize the last 4 bits.
|
|
101
|
+
if (data.type === 'local-candidate' || data.type === 'remote-candidate') {
|
|
102
|
+
data.ip = _internalPluginMetrics.CallDiagnosticUtils.anonymizeIPAddress(data.ip) || undefined;
|
|
103
|
+
data.address = _internalPluginMetrics.CallDiagnosticUtils.anonymizeIPAddress(data.address) || undefined;
|
|
104
|
+
data.relatedAddress = _internalPluginMetrics.CallDiagnosticUtils.anonymizeIPAddress(data.relatedAddress) || undefined;
|
|
105
|
+
}
|
|
106
|
+
return (0, _stringify.default)(data);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Send metrics to the metrics service.
|
|
111
|
+
*
|
|
112
|
+
* @returns {void}
|
|
113
|
+
*/
|
|
114
|
+
}, {
|
|
115
|
+
key: "sendMetrics",
|
|
116
|
+
value: function sendMetrics() {
|
|
117
|
+
this.webex.request({
|
|
118
|
+
method: 'POST',
|
|
119
|
+
service: 'unifiedTelemetry',
|
|
120
|
+
resource: 'metric/v2',
|
|
121
|
+
headers: {
|
|
122
|
+
type: 'webrtcMedia',
|
|
123
|
+
appId: _constants.default.APP_ID
|
|
124
|
+
},
|
|
125
|
+
body: {
|
|
126
|
+
metrics: [{
|
|
127
|
+
type: 'webrtc',
|
|
128
|
+
version: '1.0.1',
|
|
129
|
+
userId: this.webex.internal.device.userId,
|
|
130
|
+
meetingId: this.meetingId,
|
|
131
|
+
correlationId: this.correlationId,
|
|
132
|
+
data: this.metricsQueue
|
|
133
|
+
}]
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}]);
|
|
138
|
+
return RtcMetrics;
|
|
139
|
+
}();
|
|
140
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_internalPluginMetrics","require","_constants","_interopRequireDefault","RtcMetrics","exports","default","webex","meetingId","correlationId","_classCallCheck2","_defineProperty2","intervalId","window","setInterval","sendMetricsInQueue","bind","setTimeout","_createClass2","key","value","metricsQueue","length","sendMetrics","addMetrics","data","payload","name","map","anonymizeIp","push","closeMetrics","clearInterval","stats","JSON","parse","type","ip","CallDiagnosticUtils","anonymizeIPAddress","undefined","address","relatedAddress","_stringify","request","method","service","resource","headers","appId","RTC_METRICS","APP_ID","body","metrics","version","userId","internal","device"],"sources":["index.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport {CallDiagnosticUtils} from '@webex/internal-plugin-metrics';\nimport RTC_METRICS from './constants';\n\n/**\n * Rtc Metrics\n */\nexport default class RtcMetrics {\n /**\n * Array of MetricData items to be sent to the metrics service.\n */\n metricsQueue = [];\n\n intervalId: number;\n\n webex: any;\n\n meetingId: string;\n\n correlationId: string;\n\n /**\n * Initialize the interval.\n *\n * @param {object} webex - The main `webex` object.\n * @param {string} meetingId - The meeting id.\n * @param {string} correlationId - The correlation id.\n */\n constructor(webex, meetingId, correlationId) {\n // `window` is used to prevent typescript from returning a NodeJS.Timer.\n this.intervalId = window.setInterval(this.sendMetricsInQueue.bind(this), 30 * 1000);\n this.meetingId = meetingId;\n this.webex = webex;\n this.correlationId = correlationId;\n // Send the first set of metrics at 5 seconds in the case of a user leaving the call shortly after joining.\n setTimeout(this.sendMetricsInQueue.bind(this), 5 * 1000);\n }\n\n /**\n * Check to see if the metrics queue has any items.\n *\n * @returns {void}\n */\n public sendMetricsInQueue() {\n if (this.metricsQueue.length) {\n this.sendMetrics();\n this.metricsQueue = [];\n }\n }\n\n /**\n * Add metrics items to the metrics queue.\n *\n * @param {object} data - An object with a payload array of metrics items.\n *\n * @returns {void}\n */\n addMetrics(data) {\n if (data.payload.length) {\n if (data.name === 'stats-report') {\n data.payload = data.payload.map(this.anonymizeIp);\n }\n this.metricsQueue.push(data);\n }\n }\n\n /**\n * Clear the metrics interval.\n *\n * @returns {void}\n */\n closeMetrics() {\n this.sendMetricsInQueue();\n clearInterval(this.intervalId);\n }\n\n /**\n * Anonymize IP addresses.\n *\n * @param {array} stats - An RTCStatsReport organized into an array of strings.\n * @returns {string}\n */\n anonymizeIp(stats: string): string {\n const data = JSON.parse(stats);\n // on local and remote candidates, anonymize the last 4 bits.\n if (data.type === 'local-candidate' || data.type === 'remote-candidate') {\n data.ip = CallDiagnosticUtils.anonymizeIPAddress(data.ip) || undefined;\n data.address = CallDiagnosticUtils.anonymizeIPAddress(data.address) || undefined;\n data.relatedAddress =\n CallDiagnosticUtils.anonymizeIPAddress(data.relatedAddress) || undefined;\n }\n\n return JSON.stringify(data);\n }\n\n /**\n * Send metrics to the metrics service.\n *\n * @returns {void}\n */\n private sendMetrics() {\n this.webex.request({\n method: 'POST',\n service: 'unifiedTelemetry',\n resource: 'metric/v2',\n headers: {\n type: 'webrtcMedia',\n appId: RTC_METRICS.APP_ID,\n },\n body: {\n metrics: [\n {\n type: 'webrtc',\n version: '1.0.1',\n userId: this.webex.internal.device.userId,\n meetingId: this.meetingId,\n correlationId: this.correlationId,\n data: this.metricsQueue,\n },\n ],\n },\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,52 +1,5 @@
|
|
|
1
1
|
declare const STATS_DEFAULT: {
|
|
2
2
|
encryption: string;
|
|
3
|
-
audio: {
|
|
4
|
-
send: {
|
|
5
|
-
maxPacketLossRatio: number;
|
|
6
|
-
availableBandwidth: number;
|
|
7
|
-
bytesSent: number;
|
|
8
|
-
meanRemoteJitter: any[];
|
|
9
|
-
meanRoundTripTime: any[];
|
|
10
|
-
};
|
|
11
|
-
recv: {
|
|
12
|
-
availableBandwidth: number;
|
|
13
|
-
bytesReceived: number;
|
|
14
|
-
meanRtpJitter: any[];
|
|
15
|
-
meanRoundTripTime: any[];
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
video: {
|
|
19
|
-
send: {
|
|
20
|
-
maxPacketLossRatio: number;
|
|
21
|
-
availableBandwidth: number;
|
|
22
|
-
meanRemoteJitter: any[];
|
|
23
|
-
meanRoundTripTime: any[];
|
|
24
|
-
};
|
|
25
|
-
recv: {
|
|
26
|
-
availableBandwidth: number;
|
|
27
|
-
totalPacketsLost: number;
|
|
28
|
-
meanRtpJitter: any[];
|
|
29
|
-
meanRoundTripTime: any[];
|
|
30
|
-
};
|
|
31
|
-
latency: number;
|
|
32
|
-
packetsLost: number;
|
|
33
|
-
};
|
|
34
|
-
share: {
|
|
35
|
-
send: {
|
|
36
|
-
maxPacketLossRatio: number;
|
|
37
|
-
availableBandwidth: number;
|
|
38
|
-
totalPacketsLost: number;
|
|
39
|
-
meanRemoteJitter: any[];
|
|
40
|
-
meanRoundTripTime: any[];
|
|
41
|
-
};
|
|
42
|
-
recv: {
|
|
43
|
-
availableBandwidth: number;
|
|
44
|
-
meanRtpJitter: any[];
|
|
45
|
-
meanRoundTripTime: any[];
|
|
46
|
-
};
|
|
47
|
-
latency: number;
|
|
48
|
-
packetsLost: number;
|
|
49
|
-
};
|
|
50
3
|
bandwidth: {
|
|
51
4
|
systemBandwidth: number;
|
|
52
5
|
sentPerSecond: number;
|
|
@@ -74,43 +27,8 @@ declare const STATS_DEFAULT: {
|
|
|
74
27
|
networkType: any[];
|
|
75
28
|
};
|
|
76
29
|
};
|
|
77
|
-
resolutions: {
|
|
78
|
-
video: {
|
|
79
|
-
send: {
|
|
80
|
-
width: number;
|
|
81
|
-
height: number;
|
|
82
|
-
framesSent: number;
|
|
83
|
-
};
|
|
84
|
-
recv: {
|
|
85
|
-
width: number;
|
|
86
|
-
height: number;
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
share: {
|
|
90
|
-
send: {
|
|
91
|
-
width: number;
|
|
92
|
-
height: number;
|
|
93
|
-
framesSent: number;
|
|
94
|
-
};
|
|
95
|
-
recv: {
|
|
96
|
-
width: number;
|
|
97
|
-
height: number;
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
|
-
};
|
|
30
|
+
resolutions: {};
|
|
101
31
|
internal: {
|
|
102
|
-
audio: {
|
|
103
|
-
send: {};
|
|
104
|
-
recv: {};
|
|
105
|
-
};
|
|
106
|
-
video: {
|
|
107
|
-
send: {};
|
|
108
|
-
recv: {};
|
|
109
|
-
};
|
|
110
|
-
share: {
|
|
111
|
-
send: {};
|
|
112
|
-
recv: {};
|
|
113
|
-
};
|
|
114
32
|
remote: {};
|
|
115
33
|
candidates: {};
|
|
116
34
|
};
|
|
@@ -7,53 +7,6 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var STATS_DEFAULT = {
|
|
9
9
|
encryption: 'sha-256',
|
|
10
|
-
audio: {
|
|
11
|
-
send: {
|
|
12
|
-
maxPacketLossRatio: 0,
|
|
13
|
-
availableBandwidth: 0,
|
|
14
|
-
bytesSent: 0,
|
|
15
|
-
meanRemoteJitter: [],
|
|
16
|
-
meanRoundTripTime: []
|
|
17
|
-
},
|
|
18
|
-
recv: {
|
|
19
|
-
availableBandwidth: 0,
|
|
20
|
-
bytesReceived: 0,
|
|
21
|
-
meanRtpJitter: [],
|
|
22
|
-
meanRoundTripTime: []
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
video: {
|
|
26
|
-
send: {
|
|
27
|
-
maxPacketLossRatio: 0,
|
|
28
|
-
availableBandwidth: 0,
|
|
29
|
-
meanRemoteJitter: [],
|
|
30
|
-
meanRoundTripTime: []
|
|
31
|
-
},
|
|
32
|
-
recv: {
|
|
33
|
-
availableBandwidth: 0,
|
|
34
|
-
totalPacketsLost: 0,
|
|
35
|
-
meanRtpJitter: [],
|
|
36
|
-
meanRoundTripTime: []
|
|
37
|
-
},
|
|
38
|
-
latency: 0,
|
|
39
|
-
packetsLost: 0
|
|
40
|
-
},
|
|
41
|
-
share: {
|
|
42
|
-
send: {
|
|
43
|
-
maxPacketLossRatio: 0,
|
|
44
|
-
availableBandwidth: 0,
|
|
45
|
-
totalPacketsLost: 0,
|
|
46
|
-
meanRemoteJitter: [],
|
|
47
|
-
meanRoundTripTime: []
|
|
48
|
-
},
|
|
49
|
-
recv: {
|
|
50
|
-
availableBandwidth: 0,
|
|
51
|
-
meanRtpJitter: [],
|
|
52
|
-
meanRoundTripTime: []
|
|
53
|
-
},
|
|
54
|
-
latency: 0,
|
|
55
|
-
packetsLost: 0
|
|
56
|
-
},
|
|
57
10
|
bandwidth: {
|
|
58
11
|
systemBandwidth: 0,
|
|
59
12
|
sentPerSecond: 0,
|
|
@@ -81,47 +34,11 @@ var STATS_DEFAULT = {
|
|
|
81
34
|
networkType: []
|
|
82
35
|
}
|
|
83
36
|
},
|
|
84
|
-
resolutions: {
|
|
85
|
-
video: {
|
|
86
|
-
send: {
|
|
87
|
-
width: 0,
|
|
88
|
-
height: 0,
|
|
89
|
-
framesSent: 0
|
|
90
|
-
},
|
|
91
|
-
recv: {
|
|
92
|
-
width: 0,
|
|
93
|
-
height: 0
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
share: {
|
|
97
|
-
send: {
|
|
98
|
-
width: 0,
|
|
99
|
-
height: 0,
|
|
100
|
-
framesSent: 0
|
|
101
|
-
},
|
|
102
|
-
recv: {
|
|
103
|
-
width: 0,
|
|
104
|
-
height: 0
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
},
|
|
37
|
+
resolutions: {},
|
|
108
38
|
internal: {
|
|
109
|
-
audio: {
|
|
110
|
-
send: {},
|
|
111
|
-
recv: {}
|
|
112
|
-
},
|
|
113
|
-
video: {
|
|
114
|
-
send: {},
|
|
115
|
-
recv: {}
|
|
116
|
-
},
|
|
117
|
-
share: {
|
|
118
|
-
send: {},
|
|
119
|
-
recv: {}
|
|
120
|
-
},
|
|
121
39
|
remote: {},
|
|
122
40
|
candidates: {}
|
|
123
41
|
}
|
|
124
42
|
};
|
|
125
|
-
var _default = STATS_DEFAULT;
|
|
126
|
-
exports.default = _default;
|
|
43
|
+
var _default = exports.default = STATS_DEFAULT;
|
|
127
44
|
//# sourceMappingURL=global.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["STATS_DEFAULT","encryption","
|
|
1
|
+
{"version":3,"names":["STATS_DEFAULT","encryption","bandwidth","systemBandwidth","sentPerSecond","encodedPerSecond","helper","audioBytesSent","videoBytestSent","speed","results","connectionType","systemNetworkType","systemIpAddress","local","candidateType","transport","ipAddress","networkType","remote","resolutions","internal","candidates","_default","exports","default"],"sources":["global.ts"],"sourcesContent":["const STATS_DEFAULT = {\n encryption: 'sha-256',\n bandwidth: {\n systemBandwidth: 0,\n sentPerSecond: 0,\n encodedPerSecond: 0,\n helper: {\n audioBytesSent: 0,\n videoBytestSent: 0,\n },\n speed: 0,\n },\n results: {},\n connectionType: {\n systemNetworkType: 'unknown',\n systemIpAddress: '0.0.0.0',\n local: {\n candidateType: [],\n transport: [],\n ipAddress: [],\n networkType: [],\n },\n remote: {\n candidateType: [],\n transport: [],\n ipAddress: [],\n networkType: [],\n },\n },\n resolutions: {},\n internal: {\n remote: {},\n candidates: {},\n },\n};\n\nexport default STATS_DEFAULT;\n"],"mappings":";;;;;;;AAAA,IAAMA,aAAa,GAAG;EACpBC,UAAU,EAAE,SAAS;EACrBC,SAAS,EAAE;IACTC,eAAe,EAAE,CAAC;IAClBC,aAAa,EAAE,CAAC;IAChBC,gBAAgB,EAAE,CAAC;IACnBC,MAAM,EAAE;MACNC,cAAc,EAAE,CAAC;MACjBC,eAAe,EAAE;IACnB,CAAC;IACDC,KAAK,EAAE;EACT,CAAC;EACDC,OAAO,EAAE,CAAC,CAAC;EACXC,cAAc,EAAE;IACdC,iBAAiB,EAAE,SAAS;IAC5BC,eAAe,EAAE,SAAS;IAC1BC,KAAK,EAAE;MACLC,aAAa,EAAE,EAAE;MACjBC,SAAS,EAAE,EAAE;MACbC,SAAS,EAAE,EAAE;MACbC,WAAW,EAAE;IACf,CAAC;IACDC,MAAM,EAAE;MACNJ,aAAa,EAAE,EAAE;MACjBC,SAAS,EAAE,EAAE;MACbC,SAAS,EAAE,EAAE;MACbC,WAAW,EAAE;IACf;EACF,CAAC;EACDE,WAAW,EAAE,CAAC,CAAC;EACfC,QAAQ,EAAE;IACRF,MAAM,EAAE,CAAC,CAAC;IACVG,UAAU,EAAE,CAAC;EACf;AACF,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEazB,aAAa"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import EventsScope from '../common/events/events-scope';
|
|
3
|
+
import { ReceiveSlot } from '../multistream/receiveSlot';
|
|
3
4
|
export declare const EVENTS: {
|
|
4
5
|
MEDIA_QUALITY: string;
|
|
5
|
-
NO_FRAMES_SENT: string;
|
|
6
|
-
NO_VIDEO_ENCODED: string;
|
|
7
6
|
LOCAL_MEDIA_STARTED: string;
|
|
8
7
|
LOCAL_MEDIA_STOPPED: string;
|
|
9
8
|
REMOTE_MEDIA_STARTED: string;
|
|
10
9
|
REMOTE_MEDIA_STOPPED: string;
|
|
11
10
|
};
|
|
11
|
+
type ReceiveSlotCallback = (csi: number) => ReceiveSlot | undefined;
|
|
12
12
|
/**
|
|
13
13
|
* Stats Analyzer class that will emit events based on detected quality
|
|
14
14
|
*
|
|
@@ -22,25 +22,34 @@ export declare class StatsAnalyzer extends EventsScope {
|
|
|
22
22
|
lastEmittedStartStopEvent: any;
|
|
23
23
|
lastMqaDataSent: any;
|
|
24
24
|
lastStatsResults: any;
|
|
25
|
-
localMQEStats: any;
|
|
26
25
|
meetingMediaStatus: any;
|
|
27
26
|
mqaInterval: NodeJS.Timeout;
|
|
28
27
|
mqaSentCount: any;
|
|
29
28
|
networkQualityMonitor: any;
|
|
30
|
-
|
|
29
|
+
mediaConnection: any;
|
|
31
30
|
statsInterval: NodeJS.Timeout;
|
|
32
31
|
statsResults: any;
|
|
33
32
|
statsStarted: any;
|
|
33
|
+
successfulCandidatePair: any;
|
|
34
|
+
localIpAddress: string;
|
|
35
|
+
receiveSlotCallback: ReceiveSlotCallback;
|
|
34
36
|
/**
|
|
35
37
|
* Creates a new instance of StatsAnalyzer
|
|
36
38
|
* @constructor
|
|
37
39
|
* @public
|
|
38
40
|
* @param {Object} config SDK Configuration Object
|
|
41
|
+
* @param {Function} receiveSlotCallback Callback used to access receive slots.
|
|
39
42
|
* @param {Object} networkQualityMonitor class for assessing network characteristics (jitter, packetLoss, latency)
|
|
40
43
|
* @param {Object} statsResults Default properties for stats
|
|
41
44
|
*/
|
|
42
|
-
constructor(config: any, networkQualityMonitor?: object, statsResults?: object);
|
|
43
|
-
|
|
45
|
+
constructor(config: any, receiveSlotCallback?: ReceiveSlotCallback, networkQualityMonitor?: object, statsResults?: object);
|
|
46
|
+
/**
|
|
47
|
+
* Resets cumulative stats arrays.
|
|
48
|
+
*
|
|
49
|
+
* @public
|
|
50
|
+
* @memberof StatsAnalyzer
|
|
51
|
+
* @returns {void}
|
|
52
|
+
*/
|
|
44
53
|
resetStatsResults(): void;
|
|
45
54
|
/**
|
|
46
55
|
* sets mediaStatus status for analyzing metrics
|
|
@@ -52,7 +61,7 @@ export declare class StatsAnalyzer extends EventsScope {
|
|
|
52
61
|
*/
|
|
53
62
|
updateMediaStatus(status: object): void;
|
|
54
63
|
/**
|
|
55
|
-
* captures MQA data from
|
|
64
|
+
* captures MQA data from media connection
|
|
56
65
|
*
|
|
57
66
|
* @public
|
|
58
67
|
* @memberof StatsAnalyzer
|
|
@@ -60,23 +69,30 @@ export declare class StatsAnalyzer extends EventsScope {
|
|
|
60
69
|
*/
|
|
61
70
|
sendMqaData(): void;
|
|
62
71
|
/**
|
|
63
|
-
* updated the
|
|
72
|
+
* updated the media connection when changed
|
|
64
73
|
*
|
|
65
74
|
* @private
|
|
66
|
-
* @memberof
|
|
67
|
-
* @param {
|
|
75
|
+
* @memberof StatsAnalyzer
|
|
76
|
+
* @param {RoapMediaConnection} mediaConnection
|
|
68
77
|
* @returns {void}
|
|
69
78
|
*/
|
|
70
|
-
|
|
79
|
+
updateMediaConnection(mediaConnection: any): void;
|
|
80
|
+
/**
|
|
81
|
+
* Returns the local IP address for diagnostics.
|
|
82
|
+
* this is the local IP of the interface used for the current media connection
|
|
83
|
+
* a host can have many local Ip Addresses
|
|
84
|
+
* @returns {string | undefined} The local IP address.
|
|
85
|
+
*/
|
|
86
|
+
getLocalIpAddress(): string;
|
|
71
87
|
/**
|
|
72
88
|
* Starts the stats analyzer on interval
|
|
73
89
|
*
|
|
74
90
|
* @public
|
|
75
91
|
* @memberof StatsAnalyzer
|
|
76
|
-
* @param {
|
|
92
|
+
* @param {RoapMediaConnection} mediaConnection
|
|
77
93
|
* @returns {Promise}
|
|
78
94
|
*/
|
|
79
|
-
startAnalyzer(
|
|
95
|
+
startAnalyzer(mediaConnection: any): any;
|
|
80
96
|
/**
|
|
81
97
|
* Cleans up the analyzer when done
|
|
82
98
|
*
|
|
@@ -84,7 +100,7 @@ export declare class StatsAnalyzer extends EventsScope {
|
|
|
84
100
|
* @memberof StatsAnalyzer
|
|
85
101
|
* @returns {void}
|
|
86
102
|
*/
|
|
87
|
-
stopAnalyzer():
|
|
103
|
+
stopAnalyzer(): any;
|
|
88
104
|
/**
|
|
89
105
|
* Parse a single result of get stats
|
|
90
106
|
*
|
|
@@ -99,12 +115,12 @@ export declare class StatsAnalyzer extends EventsScope {
|
|
|
99
115
|
/**
|
|
100
116
|
* Filters the get stats results for types
|
|
101
117
|
* @private
|
|
102
|
-
* @param {Array}
|
|
118
|
+
* @param {Array} statsItem
|
|
103
119
|
* @param {String} type
|
|
104
120
|
* @param {boolean} isSender
|
|
105
121
|
* @returns {void}
|
|
106
122
|
*/
|
|
107
|
-
|
|
123
|
+
filterAndParseGetStatsResults(statsItem: any, type: string, isSender: boolean): void;
|
|
108
124
|
/**
|
|
109
125
|
* parse the audio
|
|
110
126
|
* @param {String} result
|
|
@@ -147,7 +163,7 @@ export declare class StatsAnalyzer extends EventsScope {
|
|
|
147
163
|
* Processes OutboundRTP stats result and stores
|
|
148
164
|
* @private
|
|
149
165
|
* @param {*} result
|
|
150
|
-
* @param {*}
|
|
166
|
+
* @param {*} mediaType
|
|
151
167
|
* @returns {void}
|
|
152
168
|
*/
|
|
153
169
|
private processOutboundRTPResult;
|
|
@@ -155,10 +171,24 @@ export declare class StatsAnalyzer extends EventsScope {
|
|
|
155
171
|
* Processes InboundRTP stats result and stores
|
|
156
172
|
* @private
|
|
157
173
|
* @param {*} result
|
|
158
|
-
* @param {*}
|
|
174
|
+
* @param {*} mediaType
|
|
159
175
|
* @returns {void}
|
|
160
176
|
*/
|
|
161
177
|
private processInboundRTPResult;
|
|
178
|
+
/**
|
|
179
|
+
* extracts the local Ip address from the statsResult object by looking at stats results candidates
|
|
180
|
+
* and matches that ID with the successful candidate pair. It looks at the type of local candidate it is
|
|
181
|
+
* and then extracts the IP address from the relatedAddress or address property based on conditions known in webrtc
|
|
182
|
+
* note, there are known incompatibilities and it is possible for this to set undefined, or for the IP address to be the public IP address
|
|
183
|
+
* for example, firefox does not set the relayProtocol, and if the user is behind a NAT it might be the public IP
|
|
184
|
+
* @private
|
|
185
|
+
* @param {string} successfulCandidatePairId - The ID of the successful candidate pair.
|
|
186
|
+
* @param {Object} candidates - the stats result candidates
|
|
187
|
+
* @returns {void}
|
|
188
|
+
*/
|
|
189
|
+
extractAndSetLocalIpAddressInfoForDiagnostics: (successfulCandidatePairId: string, candidates: {
|
|
190
|
+
[key: string]: Record<string, unknown>;
|
|
191
|
+
}) => void;
|
|
162
192
|
/**
|
|
163
193
|
* Processes remote and local candidate result and stores
|
|
164
194
|
* @private
|
|
@@ -170,17 +200,6 @@ export declare class StatsAnalyzer extends EventsScope {
|
|
|
170
200
|
* @returns {void}
|
|
171
201
|
*/
|
|
172
202
|
parseCandidate: (result: any, type: any, isSender: boolean, isRemote: boolean) => void;
|
|
173
|
-
/**
|
|
174
|
-
* Process Track results
|
|
175
|
-
*
|
|
176
|
-
* @private
|
|
177
|
-
* @param {*} result
|
|
178
|
-
* @param {*} mediaType
|
|
179
|
-
* @param {*} sendrecvType
|
|
180
|
-
* @returns {void}
|
|
181
|
-
* @memberof StatsAnalyzer
|
|
182
|
-
*/
|
|
183
|
-
private processTrackResult;
|
|
184
203
|
/**
|
|
185
204
|
*
|
|
186
205
|
* @private
|
|
@@ -189,5 +208,6 @@ export declare class StatsAnalyzer extends EventsScope {
|
|
|
189
208
|
* @returns {void}
|
|
190
209
|
* @memberof StatsAnalyzer
|
|
191
210
|
*/
|
|
192
|
-
|
|
211
|
+
compareSentAndReceived(result: any, type: any): void;
|
|
193
212
|
}
|
|
213
|
+
export {};
|