@webex/plugin-meetings 3.0.0-beta.25 → 3.0.0-beta.251
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.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +114 -14
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +841 -19
- package/dist/breakouts/index.js.map +1 -1
- 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/errors/webex-errors.js +28 -7
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +5 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.js +195 -28
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +14 -0
- package/dist/controls-options-manager/constants.js.map +1 -0
- package/dist/controls-options-manager/enums.js +27 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +297 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +319 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +112 -1
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +366 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +91 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +381 -62
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +7 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +43 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +224 -63
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +89 -14
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +58 -116
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +60 -121
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +90 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2785 -2652
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +292 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +230 -124
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +256 -196
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +601 -417
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +48 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +171 -51
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/util.js +1 -1
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +36 -36
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +22 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +370 -90
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +2 -0
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +88 -1
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +49 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +25 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +121 -25
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +10 -0
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +86 -5
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +106 -38
- 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 +316 -233
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +6 -5
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -468
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +238 -49
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +49 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +52 -34
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +44 -18
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +60 -3
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +209 -59
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +233 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/reachability/index.js +81 -30
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +16 -7
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +199 -154
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/index.js +21 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +9 -8
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +23 -29
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +112 -89
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +96 -36
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +117 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/index.js +51 -34
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +6 -6
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +13 -1
- package/dist/types/common/queue.d.ts +9 -7
- package/dist/types/config.d.ts +1 -6
- package/dist/types/constants.d.ts +157 -21
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +15 -0
- package/dist/types/controls-options-manager/index.d.ts +136 -0
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -0
- package/dist/types/index.d.ts +6 -4
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/index.d.ts +57 -4
- package/dist/types/locus-info/parser.d.ts +65 -6
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +34 -48
- package/dist/types/meeting/in-meeting-actions.d.ts +90 -2
- package/dist/types/meeting/index.d.ts +330 -503
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +99 -23
- package/dist/types/meeting/request.d.ts +72 -43
- package/dist/types/meeting/util.d.ts +101 -1
- package/dist/types/meeting-info/index.d.ts +6 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +30 -1
- package/dist/types/meetings/collection.d.ts +8 -0
- package/dist/types/meetings/index.d.ts +76 -12
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/member/index.d.ts +13 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/members/collection.d.ts +5 -0
- package/dist/types/members/index.d.ts +35 -2
- package/dist/types/members/request.d.ts +73 -9
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +209 -1
- package/dist/types/metrics/constants.d.ts +5 -4
- package/dist/types/metrics/index.d.ts +4 -119
- package/dist/types/multistream/mediaRequestManager.d.ts +73 -5
- package/dist/types/multistream/receiveSlot.d.ts +16 -12
- package/dist/types/multistream/receiveSlotManager.d.ts +19 -4
- package/dist/types/multistream/remoteMedia.d.ts +8 -29
- package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
- package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
- package/dist/types/multistream/sendSlotManager.d.ts +61 -0
- package/dist/types/reachability/index.d.ts +15 -3
- package/dist/types/reachability/request.d.ts +7 -3
- package/dist/types/reconnection-manager/index.d.ts +9 -0
- package/dist/types/recording-controller/index.d.ts +15 -1
- package/dist/types/recording-controller/util.d.ts +5 -4
- package/dist/types/roap/request.d.ts +15 -11
- package/dist/types/roap/turnDiscovery.d.ts +18 -1
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +47 -0
- package/dist/types/statsAnalyzer/index.d.ts +6 -1
- package/package.json +23 -20
- 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 +44 -14
- package/src/breakouts/breakout.ts +87 -9
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +710 -10
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/webex-errors.ts +27 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +4 -9
- package/src/constants.ts +178 -18
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +18 -0
- package/src/controls-options-manager/index.ts +278 -0
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +300 -0
- package/src/index.ts +40 -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 +108 -0
- package/src/locus-info/index.ts +412 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +231 -39
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +100 -122
- package/src/media/properties.ts +70 -108
- package/src/meeting/in-meeting-actions.ts +179 -3
- package/src/meeting/index.ts +2269 -2218
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +229 -131
- package/src/meeting/request.ts +172 -121
- package/src/meeting/util.ts +588 -394
- package/src/meeting-info/index.ts +54 -8
- package/src/meeting-info/meeting-info-v2.ts +148 -14
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +23 -23
- package/src/meetings/collection.ts +20 -0
- package/src/meetings/index.ts +407 -108
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +103 -4
- package/src/member/index.ts +49 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +127 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +107 -6
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +319 -240
- package/src/metrics/constants.ts +5 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +289 -79
- package/src/multistream/receiveSlot.ts +55 -18
- package/src/multistream/receiveSlotManager.ts +46 -24
- package/src/multistream/remoteMedia.ts +27 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +148 -30
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/reachability/index.ts +69 -17
- package/src/reachability/request.ts +16 -7
- package/src/reconnection-manager/index.ts +81 -54
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +23 -30
- package/src/roap/request.ts +104 -95
- package/src/roap/turnDiscovery.ts +50 -25
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/index.ts +73 -35
- package/src/statsAnalyzer/mqaUtil.ts +8 -10
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +320 -261
- package/test/integration/spec/space-meeting.js +76 -3
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +142 -24
- 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 +1545 -48
- 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 +287 -0
- package/test/unit/spec/controls-options-manager/util.js +582 -0
- package/test/unit/spec/fixture/locus.js +1 -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 +316 -43
- package/test/unit/spec/locus-info/index.js +1283 -33
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/parser.js +62 -22
- package/test/unit/spec/locus-info/selfConstant.js +27 -4
- package/test/unit/spec/locus-info/selfUtils.js +208 -17
- package/test/unit/spec/media/index.ts +104 -37
- package/test/unit/spec/meeting/in-meeting-actions.ts +89 -3
- package/test/unit/spec/meeting/index.js +3688 -1861
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +408 -208
- package/test/unit/spec/meeting/request.js +440 -45
- package/test/unit/spec/meeting/utils.js +679 -64
- package/test/unit/spec/meeting-info/index.js +181 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +14 -0
- package/test/unit/spec/meetings/index.js +939 -150
- package/test/unit/spec/meetings/utils.js +206 -2
- package/test/unit/spec/member/index.js +58 -4
- package/test/unit/spec/member/util.js +479 -35
- package/test/unit/spec/members/index.js +319 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +184 -0
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
- package/test/unit/spec/multistream/receiveSlot.ts +72 -13
- package/test/unit/spec/multistream/receiveSlotManager.ts +58 -28
- package/test/unit/spec/multistream/remoteMedia.ts +30 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/reachability/index.ts +185 -7
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reconnection-manager/index.js +84 -9
- package/test/unit/spec/recording-controller/index.js +294 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +31 -51
- package/test/unit/spec/roap/request.ts +202 -85
- package/test/unit/spec/roap/turnDiscovery.ts +45 -10
- package/test/unit/spec/rtcMetrics/index.ts +68 -0
- package/test/unit/spec/stats-analyzer/index.js +29 -2
- 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 +6 -3
- package/dist/meeting/effectsState.js +0 -262
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.js +0 -299
- package/dist/metrics/config.js.map +0 -1
- package/dist/types/meeting/effectsState.d.ts +0 -42
- package/dist/types/metrics/config.d.ts +0 -178
- package/src/index.js +0 -16
- package/src/meeting/effectsState.ts +0 -211
- package/src/metrics/config.ts +0 -495
- package/test/unit/spec/meeting/effectsState.js +0 -285
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
3
|
+
import { ClientEvent, ClientEventLeaveReason } from '@webex/internal-plugin-metrics';
|
|
4
|
+
import { LocalStream, LocalCameraStream, LocalDisplayStream, LocalSystemAudioStream, LocalMicrophoneStream } from '@webex/media-helpers';
|
|
3
5
|
import { StatsAnalyzer } from '../statsAnalyzer';
|
|
4
6
|
import NetworkQualityMonitor from '../networkQualityMonitor';
|
|
5
7
|
import Roap from '../roap/index';
|
|
8
|
+
import { type BundlePolicy } from '../media';
|
|
6
9
|
import MediaProperties from '../media/properties';
|
|
7
10
|
import ReconnectionManager from '../reconnection-manager';
|
|
8
11
|
import MeetingRequest from './request';
|
|
@@ -10,17 +13,40 @@ import Members from '../members/index';
|
|
|
10
13
|
import Transcription from '../transcription';
|
|
11
14
|
import { ReceiveSlotManager } from '../multistream/receiveSlotManager';
|
|
12
15
|
import { MediaRequestManager } from '../multistream/mediaRequestManager';
|
|
13
|
-
import { RemoteMediaManager } from '../multistream/remoteMediaManager';
|
|
16
|
+
import { Configuration as RemoteMediaManagerConfiguration, RemoteMediaManager } from '../multistream/remoteMediaManager';
|
|
14
17
|
import { ReactionServerType, SkinToneType } from '../reactions/reactions.type';
|
|
15
18
|
import InMeetingActions from './in-meeting-actions';
|
|
16
19
|
import RecordingController from '../recording-controller';
|
|
20
|
+
import ControlsOptionsManager from '../controls-options-manager';
|
|
21
|
+
import { LocusMediaRequest } from './locusMediaRequest';
|
|
22
|
+
export type LocalStreams = {
|
|
23
|
+
microphone?: LocalMicrophoneStream;
|
|
24
|
+
camera?: LocalCameraStream;
|
|
25
|
+
screenShare?: {
|
|
26
|
+
audio?: LocalSystemAudioStream;
|
|
27
|
+
video?: LocalDisplayStream;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export type AddMediaOptions = {
|
|
31
|
+
localStreams?: LocalStreams;
|
|
32
|
+
audioEnabled?: boolean;
|
|
33
|
+
videoEnabled?: boolean;
|
|
34
|
+
shareAudioEnabled?: boolean;
|
|
35
|
+
shareVideoEnabled?: boolean;
|
|
36
|
+
remoteMediaManagerConfig?: RemoteMediaManagerConfiguration;
|
|
37
|
+
bundlePolicy?: BundlePolicy;
|
|
38
|
+
allowMediaInLobby?: boolean;
|
|
39
|
+
};
|
|
17
40
|
export declare const MEDIA_UPDATE_TYPE: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
SHARE: string;
|
|
22
|
-
LAMBDA: string;
|
|
41
|
+
TRANSCODED_MEDIA_CONNECTION: string;
|
|
42
|
+
SHARE_FLOOR_REQUEST: string;
|
|
43
|
+
UPDATE_MEDIA: string;
|
|
23
44
|
};
|
|
45
|
+
export declare enum ScreenShareFloorStatus {
|
|
46
|
+
PENDING = "floor_request_pending",
|
|
47
|
+
GRANTED = "floor_request_granted",
|
|
48
|
+
RELEASED = "floor_released"
|
|
49
|
+
}
|
|
24
50
|
/**
|
|
25
51
|
* MediaDirection
|
|
26
52
|
* @typedef {Object} MediaDirection
|
|
@@ -32,15 +58,6 @@ export declare const MEDIA_UPDATE_TYPE: {
|
|
|
32
58
|
* @property {boolean} receiveShare
|
|
33
59
|
* @property {boolean} isSharing
|
|
34
60
|
*/
|
|
35
|
-
/**
|
|
36
|
-
* AudioVideo
|
|
37
|
-
* @typedef {Object} AudioVideo
|
|
38
|
-
* @property {Object} audio
|
|
39
|
-
* @property {String} audio.deviceId
|
|
40
|
-
* @property {Object} video
|
|
41
|
-
* @property {String} video.deviceId
|
|
42
|
-
* @property {String} video.localVideoQuality // [240p, 360p, 480p, 720p, 1080p]
|
|
43
|
-
*/
|
|
44
61
|
/**
|
|
45
62
|
* SharePreferences
|
|
46
63
|
* @typedef {Object} SharePreferences
|
|
@@ -54,18 +71,10 @@ export declare const MEDIA_UPDATE_TYPE: {
|
|
|
54
71
|
* @property {String} [pin]
|
|
55
72
|
* @property {Boolean} [moderator]
|
|
56
73
|
* @property {String|Object} [meetingQuality]
|
|
57
|
-
* @property {String} [meetingQuality.local]
|
|
58
74
|
* @property {String} [meetingQuality.remote]
|
|
59
75
|
* @property {Boolean} [rejoin]
|
|
60
76
|
* @property {Boolean} [enableMultistream]
|
|
61
77
|
*/
|
|
62
|
-
/**
|
|
63
|
-
* SendOptions
|
|
64
|
-
* @typedef {Object} SendOptions
|
|
65
|
-
* @property {Boolean} sendAudio
|
|
66
|
-
* @property {Boolean} sendVideo
|
|
67
|
-
* @property {Boolean} sendShare
|
|
68
|
-
*/
|
|
69
78
|
/**
|
|
70
79
|
* Recording
|
|
71
80
|
* @typedef {Object} Recording
|
|
@@ -147,7 +156,11 @@ export declare const MEDIA_UPDATE_TYPE: {
|
|
|
147
156
|
* @instance
|
|
148
157
|
* @type {Object}
|
|
149
158
|
* @property {Boolean} memberId id of the meeting member that started screen share
|
|
159
|
+
* @property {String} url of this content share
|
|
160
|
+
* @property {String} shareInstanceId of this content share
|
|
161
|
+
* @property {Object} annotation Info of this content share
|
|
150
162
|
* @memberof Meeting
|
|
163
|
+
*
|
|
151
164
|
*/
|
|
152
165
|
/**
|
|
153
166
|
* Meeting Stopped Sharing Remote Event
|
|
@@ -284,12 +297,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
284
297
|
attrs: any;
|
|
285
298
|
audio: any;
|
|
286
299
|
breakouts: any;
|
|
300
|
+
simultaneousInterpretation: any;
|
|
301
|
+
annotation: any;
|
|
287
302
|
conversationUrl: string;
|
|
288
303
|
correlationId: string;
|
|
289
304
|
destination: string;
|
|
290
305
|
destinationType: string;
|
|
291
306
|
deviceUrl: string;
|
|
292
|
-
effects: any;
|
|
293
307
|
hostId: string;
|
|
294
308
|
id: string;
|
|
295
309
|
isMultistream: boolean;
|
|
@@ -297,7 +311,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
297
311
|
mediaConnections: any[];
|
|
298
312
|
mediaId?: string;
|
|
299
313
|
meetingFiniteStateMachine: any;
|
|
300
|
-
meetingInfo:
|
|
314
|
+
meetingInfo: any;
|
|
301
315
|
meetingRequest: MeetingRequest;
|
|
302
316
|
members: Members;
|
|
303
317
|
options: object;
|
|
@@ -309,11 +323,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
309
323
|
resource: string;
|
|
310
324
|
roap: Roap;
|
|
311
325
|
roapSeq: number;
|
|
326
|
+
selfUrl?: string;
|
|
312
327
|
sipUri: string;
|
|
313
328
|
type: string;
|
|
314
329
|
userId: string;
|
|
315
330
|
video: any;
|
|
316
331
|
callEvents: any[];
|
|
332
|
+
datachannelUrl: string;
|
|
317
333
|
deferJoin: Promise<any>;
|
|
318
334
|
dialInDeviceStatus: string;
|
|
319
335
|
dialInUrl: string;
|
|
@@ -326,10 +342,10 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
326
342
|
inMeetingActions: InMeetingActions;
|
|
327
343
|
isLocalShareLive: boolean;
|
|
328
344
|
isRoapInProgress: boolean;
|
|
329
|
-
isSharing: boolean;
|
|
330
345
|
keepAliveTimerId: NodeJS.Timeout;
|
|
331
346
|
lastVideoLayoutInfo: any;
|
|
332
347
|
locusInfo: any;
|
|
348
|
+
locusMediaRequest?: LocusMediaRequest;
|
|
333
349
|
mediaProperties: MediaProperties;
|
|
334
350
|
mediaRequestManagers: {
|
|
335
351
|
audio: MediaRequestManager;
|
|
@@ -338,6 +354,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
338
354
|
screenShareVideo: MediaRequestManager;
|
|
339
355
|
};
|
|
340
356
|
meetingInfoFailureReason: string;
|
|
357
|
+
meetingInfoFailureCode?: number;
|
|
341
358
|
networkQualityMonitor: NetworkQualityMonitor;
|
|
342
359
|
networkStatus: string;
|
|
343
360
|
passwordStatus: string;
|
|
@@ -345,18 +362,22 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
345
362
|
recording: any;
|
|
346
363
|
remoteMediaManager: RemoteMediaManager | null;
|
|
347
364
|
recordingController: RecordingController;
|
|
365
|
+
controlsOptionsManager: ControlsOptionsManager;
|
|
348
366
|
requiredCaptcha: any;
|
|
349
367
|
receiveSlotManager: ReceiveSlotManager;
|
|
368
|
+
selfUserPolicies: any;
|
|
350
369
|
shareStatus: string;
|
|
370
|
+
screenShareFloorState: ScreenShareFloorStatus;
|
|
351
371
|
statsAnalyzer: StatsAnalyzer;
|
|
352
372
|
transcription: Transcription;
|
|
353
373
|
updateMediaConnections: (mediaConnections: any[]) => void;
|
|
354
|
-
|
|
374
|
+
userDisplayHints: any;
|
|
375
|
+
endCallInitJoinReq: any;
|
|
355
376
|
endJoinReqResp: any;
|
|
356
377
|
endLocalSDPGenRemoteSDPRecvDelay: any;
|
|
357
378
|
joinedWith: any;
|
|
358
379
|
locusId: any;
|
|
359
|
-
|
|
380
|
+
startCallInitJoinReq: any;
|
|
360
381
|
startJoinReqResp: any;
|
|
361
382
|
startLocalSDPGenRemoteSDPRecvDelay: any;
|
|
362
383
|
wirelessShare: any;
|
|
@@ -364,12 +385,20 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
364
385
|
meetingJoinUrl: any;
|
|
365
386
|
meetingNumber: any;
|
|
366
387
|
meetingState: any;
|
|
367
|
-
permissionToken:
|
|
388
|
+
permissionToken: string;
|
|
389
|
+
permissionTokenPayload: any;
|
|
368
390
|
resourceId: any;
|
|
369
391
|
resourceUrl: string;
|
|
370
392
|
selfId: string;
|
|
371
393
|
state: any;
|
|
394
|
+
localAudioStreamMuteStateHandler: (muted: boolean) => void;
|
|
395
|
+
localVideoStreamMuteStateHandler: (muted: boolean) => void;
|
|
396
|
+
localOutputTrackChangeHandler: () => void;
|
|
397
|
+
roles: any[];
|
|
398
|
+
environment: string;
|
|
372
399
|
namespace: string;
|
|
400
|
+
allowMediaInLobby: boolean;
|
|
401
|
+
private sendSlotManager;
|
|
373
402
|
/**
|
|
374
403
|
* @param {Object} attrs
|
|
375
404
|
* @param {Object} options
|
|
@@ -377,6 +406,18 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
377
406
|
* @memberof Meeting
|
|
378
407
|
*/
|
|
379
408
|
constructor(attrs: any, options: object);
|
|
409
|
+
/**
|
|
410
|
+
* returns meeting is joined
|
|
411
|
+
* @private
|
|
412
|
+
* @memberof Meeting
|
|
413
|
+
* @returns {Boolean}
|
|
414
|
+
*/
|
|
415
|
+
private isJoined;
|
|
416
|
+
/**
|
|
417
|
+
* Returns whether this meeting is a Locus CALL
|
|
418
|
+
* @returns {Boolean}
|
|
419
|
+
*/
|
|
420
|
+
isLocusCall(): boolean;
|
|
380
421
|
/**
|
|
381
422
|
* Fetches meeting information.
|
|
382
423
|
* @param {Object} options
|
|
@@ -386,9 +427,10 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
386
427
|
* @memberof Meeting
|
|
387
428
|
* @returns {Promise}
|
|
388
429
|
*/
|
|
389
|
-
fetchMeetingInfo({ password, captchaCode, }: {
|
|
430
|
+
fetchMeetingInfo({ password, captchaCode, extraParams, }: {
|
|
390
431
|
password?: string;
|
|
391
432
|
captchaCode?: string;
|
|
433
|
+
extraParams?: Record<string, any>;
|
|
392
434
|
}): Promise<void>;
|
|
393
435
|
/**
|
|
394
436
|
* Checks if the supplied password/host key is correct. It returns a promise with information whether the
|
|
@@ -416,6 +458,14 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
416
458
|
* @returns {Promise}
|
|
417
459
|
*/
|
|
418
460
|
refreshCaptcha(): any;
|
|
461
|
+
/**
|
|
462
|
+
* Posts metrics event for this meeting. Allows the app to send Call Analyzer events.
|
|
463
|
+
* @param {String} eventName - Call Analyzer event
|
|
464
|
+
* @public
|
|
465
|
+
* @memberof Meeting
|
|
466
|
+
* @returns {Promise}
|
|
467
|
+
*/
|
|
468
|
+
postMetrics(eventName: ClientEvent['name']): void;
|
|
419
469
|
/**
|
|
420
470
|
* Proxy function for all the listener set ups
|
|
421
471
|
* @returns {undefined}
|
|
@@ -430,6 +480,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
430
480
|
* @memberof Meeting
|
|
431
481
|
*/
|
|
432
482
|
setUpBreakoutsListener(): void;
|
|
483
|
+
/**
|
|
484
|
+
* Set up the listeners for interpretation
|
|
485
|
+
* @returns {undefined}
|
|
486
|
+
* @private
|
|
487
|
+
* @memberof Meeting
|
|
488
|
+
*/
|
|
489
|
+
private setUpInterpretationListener;
|
|
433
490
|
/**
|
|
434
491
|
* Set up the locus info listener for meetings disconnected due to inactivity
|
|
435
492
|
* @returns {undefined}
|
|
@@ -451,47 +508,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
451
508
|
* @memberof Meeting
|
|
452
509
|
*/
|
|
453
510
|
private setUpLocusFullStateListener;
|
|
454
|
-
/**
|
|
455
|
-
* get the metrics payload pre
|
|
456
|
-
* @param {Object} options
|
|
457
|
-
* @param {String} options.event
|
|
458
|
-
* @param {String} options.trackingId
|
|
459
|
-
* @param {Object} options.locus
|
|
460
|
-
* @param {Array} options.mediaConnections
|
|
461
|
-
* @param {Object} options.errors
|
|
462
|
-
* @returns {Object}
|
|
463
|
-
* @memberof Meeting
|
|
464
|
-
*/
|
|
465
|
-
getAnalyzerMetricsPrePayload(options: {
|
|
466
|
-
event: string;
|
|
467
|
-
trackingId: string;
|
|
468
|
-
locus: object;
|
|
469
|
-
mediaConnections: Array<any>;
|
|
470
|
-
errors: object;
|
|
471
|
-
} | any): {};
|
|
472
|
-
/**
|
|
473
|
-
* Send the metrics to call-analyzer dashboard
|
|
474
|
-
* @param {Object} options
|
|
475
|
-
* @param {String} options.event
|
|
476
|
-
* @param {String} options.trackingId
|
|
477
|
-
* @param {Object} options.locus
|
|
478
|
-
* @param {Object} options.errors
|
|
479
|
-
* @returns {Promise}
|
|
480
|
-
* @private
|
|
481
|
-
* @memberof Meeting
|
|
482
|
-
*/
|
|
483
|
-
private sendCallAnalyzerMetrics;
|
|
484
|
-
/**
|
|
485
|
-
* Send the metrics to Media Quality Analyzer dashboard
|
|
486
|
-
* @param {Object} options
|
|
487
|
-
* @param {String} options.event
|
|
488
|
-
* @param {String} options.trackingId
|
|
489
|
-
* @param {Object} options.locus
|
|
490
|
-
* @returns {Promise}
|
|
491
|
-
* @private
|
|
492
|
-
* @memberof Meeting
|
|
493
|
-
*/
|
|
494
|
-
private sendMediaQualityAnalyzerMetrics;
|
|
495
511
|
/**
|
|
496
512
|
* sets the network status on meeting object
|
|
497
513
|
* @param {String} networkStatus
|
|
@@ -554,6 +570,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
554
570
|
* @memberof Meeting
|
|
555
571
|
*/
|
|
556
572
|
private setupLocusControlsListener;
|
|
573
|
+
/**
|
|
574
|
+
* Trigger annotation info update event
|
|
575
|
+
@returns {undefined}
|
|
576
|
+
@param {object} contentShare
|
|
577
|
+
@param {object} previousContentShare
|
|
578
|
+
*/
|
|
579
|
+
private triggerAnnotationInfoEvent;
|
|
557
580
|
/**
|
|
558
581
|
* Set up the locus info media shares listener
|
|
559
582
|
* update content and whiteboard sharing id value for members, and updates the member
|
|
@@ -652,13 +675,23 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
652
675
|
phoneNumber: string;
|
|
653
676
|
}): any;
|
|
654
677
|
/**
|
|
655
|
-
* Admit the guest(s) to the call once they are waiting
|
|
678
|
+
* Admit the guest(s) to the call once they are waiting.
|
|
679
|
+
* If the host/cohost is in a breakout session, the locus url
|
|
680
|
+
* of the session must be provided as the authorizingLocusUrl.
|
|
681
|
+
* Regardless of host/cohost location, the locus Id (lid) in
|
|
682
|
+
* the path should be the locus Id of the main, which means the
|
|
683
|
+
* locus url of the api call must be from the main session.
|
|
684
|
+
* If these loucs urls are not provided, the function will do the check.
|
|
656
685
|
* @param {Array} memberIds
|
|
686
|
+
* @param {Object} sessionLocusUrls: {authorizingLocusUrl, mainLocusUrl}
|
|
657
687
|
* @returns {Promise} see #members.admitMembers
|
|
658
688
|
* @public
|
|
659
689
|
* @memberof Meeting
|
|
660
690
|
*/
|
|
661
|
-
admit(memberIds: Array<any
|
|
691
|
+
admit(memberIds: Array<any>, sessionLocusUrls?: {
|
|
692
|
+
authorizingLocusUrl: string;
|
|
693
|
+
mainLocusUrl: string;
|
|
694
|
+
}): any;
|
|
662
695
|
/**
|
|
663
696
|
* Remove the member from the meeting, boot them
|
|
664
697
|
* @param {String} memberId
|
|
@@ -692,48 +725,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
692
725
|
* @memberof Meeting
|
|
693
726
|
*/
|
|
694
727
|
getMembers(): Members;
|
|
695
|
-
/**
|
|
696
|
-
* Truthy when a meeting has an audio connection established
|
|
697
|
-
* @returns {Boolean} true if meeting audio is connected otherwise false
|
|
698
|
-
* @public
|
|
699
|
-
* @memberof Meeting
|
|
700
|
-
*/
|
|
701
|
-
isAudioConnected(): boolean;
|
|
702
|
-
/**
|
|
703
|
-
* Convenience function to tell whether a meeting is muted
|
|
704
|
-
* @returns {Boolean} if meeting audio muted or not
|
|
705
|
-
* @public
|
|
706
|
-
* @memberof Meeting
|
|
707
|
-
*/
|
|
708
|
-
isAudioMuted(): any;
|
|
709
|
-
/**
|
|
710
|
-
* Convenience function to tell if the end user last changed the audio state
|
|
711
|
-
* @returns {Boolean} if audio was manipulated by the end user
|
|
712
|
-
* @public
|
|
713
|
-
* @memberof Meeting
|
|
714
|
-
*/
|
|
715
|
-
isAudioSelf(): any;
|
|
716
|
-
/**
|
|
717
|
-
* Truthy when a meeting has a video connection established
|
|
718
|
-
* @returns {Boolean} true if meeting video connected otherwise false
|
|
719
|
-
* @public
|
|
720
|
-
* @memberof Meeting
|
|
721
|
-
*/
|
|
722
|
-
isVideoConnected(): boolean;
|
|
723
|
-
/**
|
|
724
|
-
* Convenience function to tell whether video is muted
|
|
725
|
-
* @returns {Boolean} if meeting video is muted or not
|
|
726
|
-
* @public
|
|
727
|
-
* @memberof Meeting
|
|
728
|
-
*/
|
|
729
|
-
isVideoMuted(): any;
|
|
730
|
-
/**
|
|
731
|
-
* Convenience function to tell whether the end user changed the video state
|
|
732
|
-
* @returns {Boolean} if meeting video is muted or not
|
|
733
|
-
* @public
|
|
734
|
-
* @memberof Meeting
|
|
735
|
-
*/
|
|
736
|
-
isVideoSelf(): any;
|
|
737
728
|
/**
|
|
738
729
|
* Sets the meeting info on the class instance
|
|
739
730
|
* @param {Object} meetingInfo
|
|
@@ -756,16 +747,29 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
756
747
|
};
|
|
757
748
|
} | any, destination?: object | string | null): void;
|
|
758
749
|
/**
|
|
759
|
-
*
|
|
760
|
-
* @
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
750
|
+
* Indicates whether policy can be applied
|
|
751
|
+
* @returns {boolean}
|
|
752
|
+
*/
|
|
753
|
+
private arePolicyRestrictionsSupported;
|
|
754
|
+
/**
|
|
755
|
+
* Updates the meeting actions (display hints), depends on locus display hints, user policy and app api info
|
|
764
756
|
* @returns {undefined}
|
|
765
757
|
* @private
|
|
766
758
|
* @memberof Meeting
|
|
767
759
|
*/
|
|
768
|
-
private
|
|
760
|
+
private updateMeetingActions;
|
|
761
|
+
/**
|
|
762
|
+
* Sets the self user policies based on the contents of the permission token
|
|
763
|
+
* @returns {void}
|
|
764
|
+
*/
|
|
765
|
+
setSelfUserPolicies(): void;
|
|
766
|
+
/**
|
|
767
|
+
* Sets the permission token payload on the class instance
|
|
768
|
+
*
|
|
769
|
+
* @param {String} permissionToken
|
|
770
|
+
* @returns {void}
|
|
771
|
+
*/
|
|
772
|
+
setPermissionTokenPayload(permissionToken: string): void;
|
|
769
773
|
/**
|
|
770
774
|
* Sets the sip uri on the class instance
|
|
771
775
|
* uses meeting info as precedence
|
|
@@ -788,7 +792,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
788
792
|
* @private
|
|
789
793
|
* @memberof Meeting
|
|
790
794
|
*/
|
|
791
|
-
|
|
795
|
+
setLocus(locus: {
|
|
796
|
+
mediaConnections: Array<any>;
|
|
797
|
+
locusUrl: string;
|
|
798
|
+
locusId: string;
|
|
799
|
+
mediaId: string;
|
|
800
|
+
host: object;
|
|
801
|
+
} | any): void;
|
|
792
802
|
/**
|
|
793
803
|
* Upload logs for the current meeting
|
|
794
804
|
* @param {object} options file name and function name
|
|
@@ -798,19 +808,10 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
798
808
|
*/
|
|
799
809
|
uploadLogs(options?: object): void;
|
|
800
810
|
/**
|
|
801
|
-
* Removes remote audio and
|
|
802
|
-
* to developers
|
|
803
|
-
* @returns {undefined}
|
|
804
|
-
* @public
|
|
805
|
-
* @memberof Meeting
|
|
806
|
-
* @deprecated after v1.89.3
|
|
807
|
-
*/
|
|
808
|
-
unsetRemoteStream(): void;
|
|
809
|
-
/**
|
|
810
|
-
* Removes remote audio, video and share tracks from class instance's mediaProperties
|
|
811
|
+
* Removes remote audio, video and share streams from class instance's mediaProperties
|
|
811
812
|
* @returns {undefined}
|
|
812
813
|
*/
|
|
813
|
-
|
|
814
|
+
unsetRemoteStreams(): void;
|
|
814
815
|
/**
|
|
815
816
|
* Removes the remote stream on the class instance and triggers an event
|
|
816
817
|
* to developers
|
|
@@ -821,83 +822,45 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
821
822
|
*/
|
|
822
823
|
closeRemoteStream(): void;
|
|
823
824
|
/**
|
|
824
|
-
* Removes the remote
|
|
825
|
+
* Removes the remote streams on the class instance and triggers an event
|
|
825
826
|
* to developers
|
|
826
827
|
* @returns {undefined}
|
|
827
828
|
* @memberof Meeting
|
|
828
829
|
*/
|
|
829
|
-
|
|
830
|
-
/**
|
|
831
|
-
* Emits the 'media:ready' event with a local stream that consists of 1 local audio and 1 local video track
|
|
832
|
-
* @returns {undefined}
|
|
833
|
-
* @private
|
|
834
|
-
* @memberof Meeting
|
|
835
|
-
*/
|
|
836
|
-
private sendLocalMediaReadyEvent;
|
|
837
|
-
/**
|
|
838
|
-
* Sets the local audio track on the class and emits an event to the developer
|
|
839
|
-
* @param {MediaStreamTrack} audioTrack
|
|
840
|
-
* @param {Boolean} emitEvent if true, a media ready event is emitted to the developer
|
|
841
|
-
* @returns {undefined}
|
|
842
|
-
* @private
|
|
843
|
-
* @memberof Meeting
|
|
844
|
-
*/
|
|
845
|
-
private setLocalAudioTrack;
|
|
846
|
-
/**
|
|
847
|
-
* Sets the local video track on the class and emits an event to the developer
|
|
848
|
-
* @param {MediaStreamTrack} videoTrack
|
|
849
|
-
* @param {Boolean} emitEvent if true, a media ready event is emitted to the developer
|
|
850
|
-
* @returns {undefined}
|
|
851
|
-
* @private
|
|
852
|
-
* @memberof Meeting
|
|
853
|
-
*/
|
|
854
|
-
private setLocalVideoTrack;
|
|
830
|
+
closeRemoteStreams(): Promise<[any, any, any, any]>;
|
|
855
831
|
/**
|
|
856
|
-
*
|
|
857
|
-
*
|
|
858
|
-
*
|
|
859
|
-
* @
|
|
860
|
-
* @
|
|
861
|
-
*/
|
|
862
|
-
setLocalTracks(localStream: any): void;
|
|
863
|
-
/**
|
|
864
|
-
* Sets the local media stream on the class and emits an event to the developer
|
|
865
|
-
* @param {MediaStreamTrack} localShareTrack the local media stream
|
|
866
|
-
* @returns {undefined}
|
|
867
|
-
* @public
|
|
868
|
-
* @memberof Meeting
|
|
869
|
-
*/
|
|
870
|
-
setLocalShareTrack(localShareTrack: MediaStreamTrack): void;
|
|
871
|
-
/**
|
|
872
|
-
* Closes the local stream from the class and emits an event to the developer
|
|
873
|
-
* @returns {undefined}
|
|
874
|
-
* @event media:stopped
|
|
875
|
-
* @public
|
|
876
|
-
* @memberof Meeting
|
|
832
|
+
* Stores the reference to a new microphone stream, sets up the required event listeners
|
|
833
|
+
* on it, cleans up previous stream, etc.
|
|
834
|
+
*
|
|
835
|
+
* @param {LocalMicrophoneStream | null} localStream local microphone stream
|
|
836
|
+
* @returns {Promise<void>}
|
|
877
837
|
*/
|
|
878
|
-
|
|
838
|
+
private setLocalAudioStream;
|
|
879
839
|
/**
|
|
880
|
-
*
|
|
881
|
-
*
|
|
882
|
-
*
|
|
883
|
-
* @
|
|
884
|
-
* @
|
|
840
|
+
* Stores the reference to a new camera stream, sets up the required event listeners
|
|
841
|
+
* on it, cleans up previous stream, etc.
|
|
842
|
+
*
|
|
843
|
+
* @param {LocalCameraStream | null} localStream local camera stream
|
|
844
|
+
* @returns {Promise<void>}
|
|
885
845
|
*/
|
|
886
|
-
|
|
846
|
+
private setLocalVideoStream;
|
|
887
847
|
/**
|
|
888
|
-
*
|
|
889
|
-
*
|
|
890
|
-
*
|
|
891
|
-
*
|
|
848
|
+
* Stores the reference to a new screen share stream, sets up the required event listeners
|
|
849
|
+
* on it, cleans up previous stream, etc.
|
|
850
|
+
* It also sends the floor grant/release request.
|
|
851
|
+
*
|
|
852
|
+
* @param {LocalDisplayStream | undefined} localDisplayStream local display stream
|
|
853
|
+
* @returns {Promise<void>}
|
|
892
854
|
*/
|
|
893
|
-
|
|
855
|
+
private setLocalShareVideoStream;
|
|
894
856
|
/**
|
|
895
|
-
*
|
|
896
|
-
*
|
|
897
|
-
*
|
|
898
|
-
* @
|
|
857
|
+
* Stores the reference to a new screen share audio stream, sets up the required event listeners
|
|
858
|
+
* on it, cleans up previous stream, etc.
|
|
859
|
+
*
|
|
860
|
+
* @param {LocalSystemAudioStream | undefined} localSystemAudioStream local system audio stream
|
|
861
|
+
* @returns {Promise<void>}
|
|
899
862
|
*/
|
|
900
|
-
|
|
863
|
+
private setLocalShareAudioStream;
|
|
901
864
|
/**
|
|
902
865
|
* sets up listner for mercury event
|
|
903
866
|
* @returns {undefined}
|
|
@@ -930,6 +893,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
930
893
|
* @memberof Meeting
|
|
931
894
|
*/
|
|
932
895
|
private setCorrelationId;
|
|
896
|
+
/**
|
|
897
|
+
* Enqueue request for screenshare floor and set the status to pending
|
|
898
|
+
* @returns {Promise}
|
|
899
|
+
* @private
|
|
900
|
+
* @memberof Meeting
|
|
901
|
+
*/
|
|
902
|
+
private enqueueScreenShareFloorRequest;
|
|
933
903
|
/**
|
|
934
904
|
* Mute the audio for a meeting
|
|
935
905
|
* @returns {Promise} resolves the data from muting audio {mute, self} or rejects if there is no audio set
|
|
@@ -962,31 +932,21 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
962
932
|
* Shorthand function to join AND set up media
|
|
963
933
|
* @param {Object} options - options to join with media
|
|
964
934
|
* @param {JoinOptions} [options.joinOptions] - see #join()
|
|
965
|
-
* @param {
|
|
966
|
-
* @
|
|
967
|
-
* @returns {Promise} -- {join: see join(), media: see addMedia(), local: see getMediaStreams()}
|
|
935
|
+
* @param {AddMediaOptions} [options.mediaOptions] - see #addMedia()
|
|
936
|
+
* @returns {Promise} -- {join: see join(), media: see addMedia()}
|
|
968
937
|
* @public
|
|
969
938
|
* @memberof Meeting
|
|
970
939
|
* @example
|
|
971
940
|
* joinWithMedia({
|
|
972
941
|
* joinOptions: {resourceId: 'resourceId' },
|
|
973
|
-
*
|
|
974
|
-
*
|
|
975
|
-
*
|
|
976
|
-
*
|
|
977
|
-
* receiveVideo:true,
|
|
978
|
-
* receiveAudio: true,
|
|
979
|
-
* receiveShare: true
|
|
980
|
-
* }
|
|
981
|
-
* audioVideoOptions: {
|
|
982
|
-
* audio: 'audioDeviceId',
|
|
983
|
-
* video: 'videoDeviceId'
|
|
984
|
-
* }})
|
|
942
|
+
* mediaOptions: {
|
|
943
|
+
* localStreams: { microphone: microphoneStream, camera: cameraStream }
|
|
944
|
+
* }
|
|
945
|
+
* })
|
|
985
946
|
*/
|
|
986
947
|
joinWithMedia(options?: {
|
|
987
948
|
joinOptions?: any;
|
|
988
|
-
|
|
989
|
-
audioVideoOptions?: any;
|
|
949
|
+
mediaOptions?: AddMediaOptions;
|
|
990
950
|
}): any;
|
|
991
951
|
/**
|
|
992
952
|
* Initiates the reconnection of the media in the meeting
|
|
@@ -1067,7 +1027,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1067
1027
|
* @public
|
|
1068
1028
|
* @memberof Meeting
|
|
1069
1029
|
*/
|
|
1070
|
-
usePhoneAudio(phoneNumber: string): any
|
|
1030
|
+
usePhoneAudio(phoneNumber: string): Promise<any>;
|
|
1071
1031
|
/**
|
|
1072
1032
|
* Determines if the given pstnStatus is in a state which implies the phone is provisioned
|
|
1073
1033
|
* @param {String} pstnStatus
|
|
@@ -1115,38 +1075,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1115
1075
|
* @memberof Meeting
|
|
1116
1076
|
*/
|
|
1117
1077
|
moveFrom(resourceId: string): any;
|
|
1118
|
-
/**
|
|
1119
|
-
* Get local media streams based on options passed
|
|
1120
|
-
*
|
|
1121
|
-
* NOTE: this method can only be used with transcoded meetings, not with multistream meetings
|
|
1122
|
-
*
|
|
1123
|
-
* @param {MediaDirection} mediaDirection A configurable options object for joining a meeting
|
|
1124
|
-
* @param {AudioVideo} [audioVideo] audio/video object to set audioinput and videoinput devices, see #Media.getUserMedia
|
|
1125
|
-
* @param {SharePreferences} [sharePreferences] audio/video object to set audioinput and videoinput devices, see #Media.getUserMedia
|
|
1126
|
-
* @returns {Promise} see #Media.getUserMedia
|
|
1127
|
-
* @public
|
|
1128
|
-
* @todo should be static, or moved so can be called outside of a meeting
|
|
1129
|
-
* @memberof Meeting
|
|
1130
|
-
*/
|
|
1131
|
-
getMediaStreams: (mediaDirection: any, audioVideo?: any, sharePreferences?: any) => any;
|
|
1132
|
-
/**
|
|
1133
|
-
* Checks if the machine has at least one audio or video device
|
|
1134
|
-
* @param {Object} options
|
|
1135
|
-
* @param {Boolean} options.sendAudio
|
|
1136
|
-
* @param {Boolean} options.sendVideo
|
|
1137
|
-
* @returns {Object}
|
|
1138
|
-
* @memberof Meetings
|
|
1139
|
-
*/
|
|
1140
|
-
getSupportedDevices: ({ sendAudio, sendVideo, }: {
|
|
1141
|
-
sendAudio: boolean;
|
|
1142
|
-
sendVideo: boolean;
|
|
1143
|
-
}) => any;
|
|
1144
|
-
/**
|
|
1145
|
-
* Get the devices from the Media module
|
|
1146
|
-
* @returns {Promise} resolves to an array of DeviceInfo
|
|
1147
|
-
* @memberof Meetings
|
|
1148
|
-
*/
|
|
1149
|
-
getDevices: () => any;
|
|
1150
1078
|
/**
|
|
1151
1079
|
* Handles ROAP_FAILURE event from the webrtc media connection
|
|
1152
1080
|
*
|
|
@@ -1163,7 +1091,15 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1163
1091
|
*/
|
|
1164
1092
|
setupStatsAnalyzerEventHandlers: () => void;
|
|
1165
1093
|
getMediaConnectionDebugId(): string;
|
|
1166
|
-
|
|
1094
|
+
/**
|
|
1095
|
+
* Creates a webrtc media connection and publishes streams to it
|
|
1096
|
+
*
|
|
1097
|
+
* @param {Object} turnServerInfo TURN server information
|
|
1098
|
+
* @param {BundlePolicy} [bundlePolicy] Bundle policy settings
|
|
1099
|
+
* @param {AddMediaOptions} [options] Options for enabling/disabling audio/video
|
|
1100
|
+
* @returns {RoapMediaConnection | MultistreamRoapMediaConnection}
|
|
1101
|
+
*/
|
|
1102
|
+
private createMediaConnection;
|
|
1167
1103
|
/**
|
|
1168
1104
|
* Listens for an event emitted by eventEmitter and emits it from the meeting object
|
|
1169
1105
|
*
|
|
@@ -1175,18 +1111,14 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1175
1111
|
*/
|
|
1176
1112
|
forwardEvent(eventEmitter: any, eventTypeToForward: any, meetingEventType: any): void;
|
|
1177
1113
|
/**
|
|
1178
|
-
*
|
|
1179
|
-
*
|
|
1180
|
-
* @param {
|
|
1181
|
-
* @param {MediaDirection} options.mediaSettings pass media options
|
|
1182
|
-
* @param {MediaStream} options.localStream
|
|
1183
|
-
* @param {MediaStream} options.localShare
|
|
1184
|
-
* @param {RemoteMediaManagerConfig} options.remoteMediaManagerConfig only applies if multistream is enabled
|
|
1114
|
+
* Creates a media connection to the server. Media connection is required for sending or receiving any audio/video.
|
|
1115
|
+
*
|
|
1116
|
+
* @param {AddMediaOptions} options
|
|
1185
1117
|
* @returns {Promise}
|
|
1186
1118
|
* @public
|
|
1187
1119
|
* @memberof Meeting
|
|
1188
1120
|
*/
|
|
1189
|
-
addMedia(options?:
|
|
1121
|
+
addMedia(options?: AddMediaOptions): Promise<any>;
|
|
1190
1122
|
/**
|
|
1191
1123
|
* Informs if the peer connection is in a state that can be updated with updateMedia (audio/video/share)
|
|
1192
1124
|
* @returns {Boolean}
|
|
@@ -1217,94 +1149,26 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1217
1149
|
*/
|
|
1218
1150
|
processNextQueuedMediaUpdate: () => void;
|
|
1219
1151
|
/**
|
|
1220
|
-
*
|
|
1221
|
-
*
|
|
1222
|
-
*
|
|
1223
|
-
*
|
|
1224
|
-
*
|
|
1225
|
-
* @param {MediaDirection} options.mediaSettings
|
|
1226
|
-
* @returns {Promise}
|
|
1227
|
-
* @public
|
|
1228
|
-
* @memberof Meeting
|
|
1229
|
-
*/
|
|
1230
|
-
updateMedia(options?: {
|
|
1231
|
-
localStream?: MediaStream;
|
|
1232
|
-
localShare?: MediaStream;
|
|
1233
|
-
mediaSettings?: any;
|
|
1234
|
-
}): any;
|
|
1235
|
-
/**
|
|
1236
|
-
* Update the main audio track with new parameters
|
|
1237
|
-
*
|
|
1238
|
-
* NOTE: this method can only be used with transcoded meetings, for multistream meetings use publishTrack()
|
|
1152
|
+
* Updates the media connection - it allows to enable/disable all audio/video/share in the meeting.
|
|
1153
|
+
* This does not affect the published tracks, so for example if a microphone track is published and
|
|
1154
|
+
* updateMedia({audioEnabled: false}) is called, the audio will not be sent or received anymore,
|
|
1155
|
+
* but the track's "published" state is not changed and when updateMedia({audioEnabled: true}) is called,
|
|
1156
|
+
* the sending of the audio from the same track will resume.
|
|
1239
1157
|
*
|
|
1240
1158
|
* @param {Object} options
|
|
1241
|
-
* @param {boolean} options.
|
|
1242
|
-
* @param {boolean} options.
|
|
1243
|
-
* @param {
|
|
1159
|
+
* @param {boolean} options.audioEnabled [optional] enables/disables receiving and sending of main audio in the meeting
|
|
1160
|
+
* @param {boolean} options.videoEnabled [optional] enables/disables receiving and sending of main video in the meeting
|
|
1161
|
+
* @param {boolean} options.shareEnabled [optional] enables/disables receiving and sending of screen share in the meeting
|
|
1244
1162
|
* @returns {Promise}
|
|
1245
1163
|
* @public
|
|
1246
1164
|
* @memberof Meeting
|
|
1247
1165
|
*/
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
* Update the main video track with new parameters
|
|
1255
|
-
*
|
|
1256
|
-
* NOTE: this method can only be used with transcoded meetings, for multistream meetings use publishTrack()
|
|
1257
|
-
*
|
|
1258
|
-
* @param {Object} options
|
|
1259
|
-
* @param {boolean} options.sendVideo
|
|
1260
|
-
* @param {boolean} options.receiveVideo
|
|
1261
|
-
* @param {MediaStream} options.stream Stream that contains the video track to update
|
|
1262
|
-
* @returns {Promise}
|
|
1263
|
-
* @public
|
|
1264
|
-
* @memberof Meeting
|
|
1265
|
-
*/
|
|
1266
|
-
updateVideo(options: {
|
|
1267
|
-
sendVideo: boolean;
|
|
1268
|
-
receiveVideo: boolean;
|
|
1269
|
-
stream: MediaStream;
|
|
1270
|
-
}): any;
|
|
1271
|
-
/**
|
|
1272
|
-
* Internal function when stopping a share stream, cleanup
|
|
1273
|
-
* @param {boolean} sendShare
|
|
1274
|
-
* @param {boolean} previousShareStatus
|
|
1275
|
-
* @returns {Promise}
|
|
1276
|
-
* @private
|
|
1277
|
-
* @memberof Meeting
|
|
1278
|
-
*/
|
|
1279
|
-
private checkForStopShare;
|
|
1280
|
-
/**
|
|
1281
|
-
* Update the share streams, can be used to start sharing
|
|
1282
|
-
*
|
|
1283
|
-
* NOTE: this method can only be used with transcoded meetings, for multistream meetings use publishTrack()
|
|
1284
|
-
*
|
|
1285
|
-
* @param {Object} options
|
|
1286
|
-
* @param {boolean} options.sendShare
|
|
1287
|
-
* @param {boolean} options.receiveShare
|
|
1288
|
-
* @returns {Promise}
|
|
1289
|
-
* @public
|
|
1290
|
-
* @memberof Meeting
|
|
1291
|
-
*/
|
|
1292
|
-
updateShare(options: {
|
|
1293
|
-
sendShare?: boolean;
|
|
1294
|
-
receiveShare?: boolean;
|
|
1295
|
-
stream?: any;
|
|
1296
|
-
skipSignalingCheck?: boolean;
|
|
1297
|
-
}): any;
|
|
1298
|
-
/**
|
|
1299
|
-
* Do all the attach media pre set up before executing the actual attach
|
|
1300
|
-
* @param {MediaStream} localStream
|
|
1301
|
-
* @param {MediaStream} localShare
|
|
1302
|
-
* @param {MediaDirection} mediaSettings
|
|
1303
|
-
* @returns {undefined}
|
|
1304
|
-
* @private
|
|
1305
|
-
* @memberof Meeting
|
|
1306
|
-
*/
|
|
1307
|
-
private preMedia;
|
|
1166
|
+
updateMedia(options: {
|
|
1167
|
+
audioEnabled?: boolean;
|
|
1168
|
+
videoEnabled?: boolean;
|
|
1169
|
+
shareAudioEnabled?: boolean;
|
|
1170
|
+
shareVideoEnabled?: boolean;
|
|
1171
|
+
}): Promise<void>;
|
|
1308
1172
|
/**
|
|
1309
1173
|
* Acknowledge the meeting, outgoing or incoming
|
|
1310
1174
|
* @param {String} type
|
|
@@ -1312,7 +1176,11 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1312
1176
|
* @public
|
|
1313
1177
|
* @memberof Meeting
|
|
1314
1178
|
*/
|
|
1315
|
-
acknowledge(type: string):
|
|
1179
|
+
acknowledge(type: string): Promise<{
|
|
1180
|
+
response: any;
|
|
1181
|
+
}> | Promise<{
|
|
1182
|
+
message: string;
|
|
1183
|
+
}>;
|
|
1316
1184
|
/**
|
|
1317
1185
|
* Decline this meeting
|
|
1318
1186
|
* @param {String} reason
|
|
@@ -1322,15 +1190,45 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1322
1190
|
*/
|
|
1323
1191
|
decline(reason: string): any;
|
|
1324
1192
|
/**
|
|
1325
|
-
*
|
|
1193
|
+
* Returns a promise that will resolve to fetch options for leaving a meeting.
|
|
1194
|
+
*
|
|
1195
|
+
* This is to support quickly submitting a leave request when the browser/tab is closing.
|
|
1196
|
+
* Calling meeting.leave will not work because there are some async steps that will
|
|
1197
|
+
* not complete before the browser is closed. Instead, we pre-gather all the
|
|
1198
|
+
* information/options needed for the request(s), and then simply and quickly
|
|
1199
|
+
* fire the fetch(es) when pagehide is triggered.
|
|
1200
|
+
*
|
|
1201
|
+
* We must use fetch instead of request because fetch has a keepalive option that
|
|
1202
|
+
* allows the request it to outlive the page.
|
|
1203
|
+
*
|
|
1204
|
+
* Note: the $timings values will be wrong, but setRequestTimingsAndFetch() will
|
|
1205
|
+
* properly adjust them before submitting.
|
|
1206
|
+
*
|
|
1207
|
+
* @public
|
|
1326
1208
|
* @param {Object} options leave options
|
|
1327
1209
|
* @param {String} options.resourceId the device with which to leave from, empty if just the computer
|
|
1210
|
+
* @param {any} options.reason the reason for leaving
|
|
1211
|
+
* @returns {Promise} resolves to options to be used with fetch
|
|
1212
|
+
*/
|
|
1213
|
+
buildLeaveFetchRequestOptions(options?: {
|
|
1214
|
+
resourceId?: string;
|
|
1215
|
+
reason?: any;
|
|
1216
|
+
}): any;
|
|
1217
|
+
/**
|
|
1218
|
+
* Leave the current meeting
|
|
1219
|
+
* @param {Object} options - leave options
|
|
1220
|
+
* @param {String} [options.resourceId] - the device with which to leave from, empty if just the computer
|
|
1221
|
+
* @param {String} [options.clientEventLeaveReason] - the leaveReason to include in the Call Analyzer event.
|
|
1222
|
+
* Must be one of: 'paired-leave' | 'one-to-one' | 'ended-by-locus' (defaults to no reason)
|
|
1223
|
+
* https://sqbu-github.cisco.com/WebExSquared/event-dictionary/blob/main/diagnostic-events.raml#L796
|
|
1224
|
+
* @param {String} [options.reason] - only used for logging
|
|
1328
1225
|
* @returns {Promise}
|
|
1329
1226
|
* @public
|
|
1330
1227
|
* @memberof Meeting
|
|
1331
1228
|
*/
|
|
1332
1229
|
leave(options?: {
|
|
1333
1230
|
resourceId?: string;
|
|
1231
|
+
clientEventLeaveReason?: ClientEventLeaveReason;
|
|
1334
1232
|
reason?: any;
|
|
1335
1233
|
}): any;
|
|
1336
1234
|
/**
|
|
@@ -1358,12 +1256,12 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1358
1256
|
*/
|
|
1359
1257
|
private requestScreenShareFloor;
|
|
1360
1258
|
/**
|
|
1361
|
-
*
|
|
1362
|
-
*
|
|
1363
|
-
*
|
|
1364
|
-
* @
|
|
1259
|
+
* Requests screen share floor if such request is pending.
|
|
1260
|
+
* It should be called whenever meeting state changes to JOINED
|
|
1261
|
+
*
|
|
1262
|
+
* @returns {void}
|
|
1365
1263
|
*/
|
|
1366
|
-
|
|
1264
|
+
private requestScreenShareFloorIfPending;
|
|
1367
1265
|
/**
|
|
1368
1266
|
* Sends a request to Locus to release the screen share floor.
|
|
1369
1267
|
* @returns {Promise} see #meetingRequest.changeMeetingFloor
|
|
@@ -1378,6 +1276,32 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1378
1276
|
* @memberof Meeting
|
|
1379
1277
|
*/
|
|
1380
1278
|
startRecording(): Promise<any>;
|
|
1279
|
+
/**
|
|
1280
|
+
* set the mute on entry flag for participants if you're the host
|
|
1281
|
+
* @returns {Promise}
|
|
1282
|
+
* @param {boolean} enabled
|
|
1283
|
+
* @public
|
|
1284
|
+
* @memberof Meeting
|
|
1285
|
+
*/
|
|
1286
|
+
setMuteOnEntry(enabled: boolean): Promise<any>;
|
|
1287
|
+
/**
|
|
1288
|
+
* set the disallow unmute flag for participants if you're the host
|
|
1289
|
+
* @returns {Promise}
|
|
1290
|
+
* @param {boolean} enabled
|
|
1291
|
+
* @public
|
|
1292
|
+
* @memberof Meeting
|
|
1293
|
+
*/
|
|
1294
|
+
setDisallowUnmute(enabled: boolean): Promise<any>;
|
|
1295
|
+
/**
|
|
1296
|
+
* set the mute all flag for participants if you're the host
|
|
1297
|
+
* @returns {Promise}
|
|
1298
|
+
* @param {boolean} mutedEnabled
|
|
1299
|
+
* @param {boolean} disallowUnmuteEnabled
|
|
1300
|
+
* @param {boolean} muteOnEntryEnabled
|
|
1301
|
+
* @public
|
|
1302
|
+
* @memberof Meeting
|
|
1303
|
+
*/
|
|
1304
|
+
setMuteAll(mutedEnabled: boolean, disallowUnmuteEnabled: boolean, muteOnEntryEnabled: boolean): Promise<any>;
|
|
1381
1305
|
/**
|
|
1382
1306
|
* End the recording of this meeting
|
|
1383
1307
|
* @returns {Promise}
|
|
@@ -1428,7 +1352,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1428
1352
|
* @public
|
|
1429
1353
|
* @memberof Meeting
|
|
1430
1354
|
*/
|
|
1431
|
-
sendDTMF(tones: string): any
|
|
1355
|
+
sendDTMF(tones: string): Promise<any>;
|
|
1432
1356
|
/**
|
|
1433
1357
|
* Sends request to change layout type for the current meeting for the specific participant/device only
|
|
1434
1358
|
* @param {String} [layoutType] a layout type that should be available in meeting constants {@link #layout_types}
|
|
@@ -1453,53 +1377,33 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1453
1377
|
height: number;
|
|
1454
1378
|
};
|
|
1455
1379
|
}): any;
|
|
1456
|
-
/**
|
|
1457
|
-
* Sets the quality of the local video stream
|
|
1458
|
-
* @param {String} level {LOW|MEDIUM|HIGH}
|
|
1459
|
-
* @returns {Promise<MediaStream>} localStream
|
|
1460
|
-
*/
|
|
1461
|
-
setLocalVideoQuality(level: string): any;
|
|
1462
1380
|
/**
|
|
1463
1381
|
* Sets the quality level of the remote incoming media
|
|
1464
1382
|
* @param {String} level {LOW|MEDIUM|HIGH}
|
|
1465
1383
|
* @returns {Promise}
|
|
1466
1384
|
*/
|
|
1467
|
-
setRemoteQualityLevel(level: string):
|
|
1385
|
+
setRemoteQualityLevel(level: string): Promise<void>;
|
|
1468
1386
|
/**
|
|
1469
|
-
*
|
|
1470
|
-
* @
|
|
1471
|
-
* @
|
|
1472
|
-
* @
|
|
1387
|
+
* Functionality for when a share audio is ended.
|
|
1388
|
+
* @private
|
|
1389
|
+
* @memberof Meeting
|
|
1390
|
+
* @returns {undefined}
|
|
1473
1391
|
*/
|
|
1474
|
-
|
|
1392
|
+
private handleShareAudioStreamEnded;
|
|
1475
1393
|
/**
|
|
1476
|
-
*
|
|
1477
|
-
*
|
|
1478
|
-
*
|
|
1479
|
-
* @
|
|
1480
|
-
* @param {Boolean} options.sendAudio send audio from the display share
|
|
1481
|
-
* @param {Boolean} options.sendShare send video from the display share
|
|
1482
|
-
* @param {Object} options.sharePreferences
|
|
1483
|
-
* @param {MediaTrackConstraints} options.sharePreferences.shareConstraints constraints to apply to video
|
|
1484
|
-
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints}
|
|
1485
|
-
* @param {Boolean} options.sharePreferences.highFrameRate if shareConstraints isn't provided, set default values based off of this boolean
|
|
1486
|
-
* @returns {Promise}
|
|
1394
|
+
* Functionality for when a share video is ended.
|
|
1395
|
+
* @private
|
|
1396
|
+
* @memberof Meeting
|
|
1397
|
+
* @returns {undefined}
|
|
1487
1398
|
*/
|
|
1488
|
-
|
|
1489
|
-
sendAudio: boolean;
|
|
1490
|
-
sendShare: boolean;
|
|
1491
|
-
sharePreferences: {
|
|
1492
|
-
shareConstraints: MediaTrackConstraints;
|
|
1493
|
-
};
|
|
1494
|
-
}): any;
|
|
1399
|
+
private handleShareVideoStreamEnded;
|
|
1495
1400
|
/**
|
|
1496
|
-
*
|
|
1401
|
+
* Emits meeting:stoppedSharingLocal
|
|
1497
1402
|
* @private
|
|
1498
|
-
* @memberof Meeting
|
|
1499
|
-
* @param {MediaStream} localShare
|
|
1500
1403
|
* @returns {undefined}
|
|
1404
|
+
* @memberof Meeting
|
|
1501
1405
|
*/
|
|
1502
|
-
private
|
|
1406
|
+
private triggerStoppedSharing;
|
|
1503
1407
|
/**
|
|
1504
1408
|
* Emits the 'network:quality' event
|
|
1505
1409
|
* 1 indicates an acceptable uplink network.
|
|
@@ -1514,92 +1418,16 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1514
1418
|
private sendNetworkQualityEvent;
|
|
1515
1419
|
/**
|
|
1516
1420
|
* Handle logging the media
|
|
1517
|
-
* @param {Object}
|
|
1518
|
-
* @param {Object} videoTrack The video track
|
|
1421
|
+
* @param {Object} mediaProperties
|
|
1519
1422
|
* @private
|
|
1520
1423
|
* @returns {undefined}
|
|
1521
1424
|
*/
|
|
1522
1425
|
private handleMediaLogging;
|
|
1523
|
-
/**
|
|
1524
|
-
* @param {string} typeMedia 'audio' or 'video'
|
|
1525
|
-
* @returns {undefined}
|
|
1526
|
-
*/
|
|
1527
|
-
setStartSetupDelay(typeMedia: string): void;
|
|
1528
|
-
/**
|
|
1529
|
-
* @param {string} typeMedia 'audio' or 'video'
|
|
1530
|
-
* @returns {undefined}
|
|
1531
|
-
*/
|
|
1532
|
-
setEndSetupDelay(typeMedia: string): void;
|
|
1533
|
-
/**
|
|
1534
|
-
* @param {string} typeMedia 'audio' or 'video'
|
|
1535
|
-
* @returns {string} duration between start and end of setup
|
|
1536
|
-
*/
|
|
1537
|
-
getSetupDelayDuration(typeMedia: string): number;
|
|
1538
|
-
/**
|
|
1539
|
-
* @param {string} typeMedia 'audio' or 'video'
|
|
1540
|
-
* @returns {undefined}
|
|
1541
|
-
*/
|
|
1542
|
-
setStartSendingMediaDelay(typeMedia: string): void;
|
|
1543
|
-
/**
|
|
1544
|
-
* @param {string} typeMedia 'audio' or 'video'
|
|
1545
|
-
* @returns {undefined}
|
|
1546
|
-
*/
|
|
1547
|
-
setEndSendingMediaDelay(typeMedia: string): void;
|
|
1548
|
-
/**
|
|
1549
|
-
* @param {string} typeMedia 'audio' or 'video'
|
|
1550
|
-
* @returns {string} duration between join response and first media tx
|
|
1551
|
-
*/
|
|
1552
|
-
getSendingMediaDelayDuration(typeMedia: string): number;
|
|
1553
|
-
/**
|
|
1554
|
-
*
|
|
1555
|
-
* @returns {undefined}
|
|
1556
|
-
*/
|
|
1557
|
-
setStartLocalSDPGenRemoteSDPRecvDelay(): void;
|
|
1558
|
-
/**
|
|
1559
|
-
*
|
|
1560
|
-
* @returns {undefined}
|
|
1561
|
-
*/
|
|
1562
|
-
setEndLocalSDPGenRemoteSDPRecvDelay(): void;
|
|
1563
|
-
/**
|
|
1564
|
-
*
|
|
1565
|
-
* @returns {string} duration between local SDP generation and remote SDP reception
|
|
1566
|
-
*/
|
|
1567
|
-
getLocalSDPGenRemoteSDPRecvDelay(): number;
|
|
1568
|
-
/**
|
|
1569
|
-
*
|
|
1570
|
-
* @returns {undefined}
|
|
1571
|
-
*/
|
|
1572
|
-
setStartCallInitiateJoinReq(): void;
|
|
1573
|
-
/**
|
|
1574
|
-
*
|
|
1575
|
-
* @returns {undefined}
|
|
1576
|
-
*/
|
|
1577
|
-
setEndCallInitiateJoinReq(): void;
|
|
1578
|
-
/**
|
|
1579
|
-
*
|
|
1580
|
-
* @returns {string} duration between call initiate and sending join request to locus
|
|
1581
|
-
*/
|
|
1582
|
-
getCallInitiateJoinReq(): number;
|
|
1583
|
-
/**
|
|
1584
|
-
*
|
|
1585
|
-
* @returns {undefined}
|
|
1586
|
-
*/
|
|
1587
|
-
setStartJoinReqResp(): void;
|
|
1588
|
-
/**
|
|
1589
|
-
*
|
|
1590
|
-
* @returns {undefined}
|
|
1591
|
-
*/
|
|
1592
|
-
setEndJoinReqResp(): void;
|
|
1593
1426
|
/**
|
|
1594
1427
|
*
|
|
1595
|
-
* @returns {string}
|
|
1428
|
+
* @returns {string} one of 'attendee','host','cohost', returns the user type of the current user
|
|
1596
1429
|
*/
|
|
1597
|
-
|
|
1598
|
-
/**
|
|
1599
|
-
*
|
|
1600
|
-
* @returns {string} duration between call initiate and successful locus join (even if it is in lobby)
|
|
1601
|
-
*/
|
|
1602
|
-
getTotalJmt(): number;
|
|
1430
|
+
getCurUserType(): "host" | "cohost" | "attendee";
|
|
1603
1431
|
/**
|
|
1604
1432
|
* End the current meeting for all
|
|
1605
1433
|
* @returns {Promise}
|
|
@@ -1614,35 +1442,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1614
1442
|
* @memberof Meeting
|
|
1615
1443
|
*/
|
|
1616
1444
|
clearMeetingData: () => void;
|
|
1617
|
-
/**
|
|
1618
|
-
* Internal API to return status of BNR
|
|
1619
|
-
* @returns {Boolean}
|
|
1620
|
-
* @public
|
|
1621
|
-
* @memberof Meeting
|
|
1622
|
-
*/
|
|
1623
|
-
isBnrEnabled(): any;
|
|
1624
|
-
/**
|
|
1625
|
-
* Internal API to obtain BNR enabled MediaStream
|
|
1626
|
-
* @returns {Promise<MediaStreamTrack>}
|
|
1627
|
-
* @private
|
|
1628
|
-
* @param {MedaiStreamTrack} audioTrack from updateAudio
|
|
1629
|
-
* @memberof Meeting
|
|
1630
|
-
*/
|
|
1631
|
-
private internal_enableBNR;
|
|
1632
|
-
/**
|
|
1633
|
-
* Enable the audio track with BNR for a meeting
|
|
1634
|
-
* @returns {Promise} resolves the data from enable bnr or rejects if there is no audio or audio is muted
|
|
1635
|
-
* @public
|
|
1636
|
-
* @memberof Meeting
|
|
1637
|
-
*/
|
|
1638
|
-
enableBNR(): any;
|
|
1639
|
-
/**
|
|
1640
|
-
* Disable the BNR for an audio track
|
|
1641
|
-
* @returns {Promise} resolves the data from disable bnr or rejects if there is no audio set
|
|
1642
|
-
* @public
|
|
1643
|
-
* @memberof Meeting
|
|
1644
|
-
*/
|
|
1645
|
-
disableBNR(): any;
|
|
1646
1445
|
/**
|
|
1647
1446
|
* starts keepAlives being sent
|
|
1648
1447
|
* @returns {void}
|
|
@@ -1675,7 +1474,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1675
1474
|
* @public
|
|
1676
1475
|
* @memberof Meeting
|
|
1677
1476
|
*/
|
|
1678
|
-
toggleReactions(enable: boolean): any
|
|
1477
|
+
toggleReactions(enable: boolean): Promise<any>;
|
|
1679
1478
|
/**
|
|
1680
1479
|
* Throws if we don't have a media connection created
|
|
1681
1480
|
*
|
|
@@ -1683,24 +1482,52 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1683
1482
|
*/
|
|
1684
1483
|
private checkMediaConnection;
|
|
1685
1484
|
/**
|
|
1686
|
-
*
|
|
1485
|
+
* Method to enable or disable the 'Music mode' effect on audio stream
|
|
1687
1486
|
*
|
|
1688
|
-
* @param {
|
|
1487
|
+
* @param {boolean} shouldEnableMusicMode
|
|
1689
1488
|
* @returns {Promise}
|
|
1690
1489
|
*/
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1490
|
+
enableMusicMode(shouldEnableMusicMode: boolean): Promise<void>;
|
|
1491
|
+
/** Updates the tracks being sent on the transcoded media connection
|
|
1492
|
+
*
|
|
1493
|
+
* @returns {Promise<void>}
|
|
1494
|
+
*/
|
|
1495
|
+
private updateTranscodedMediaConnection;
|
|
1496
|
+
/**
|
|
1497
|
+
* Publishes a stream.
|
|
1498
|
+
*
|
|
1499
|
+
* @param {MediaType} mediaType of the stream
|
|
1500
|
+
* @param {LocalStream} stream to publish
|
|
1501
|
+
* @returns {Promise}
|
|
1502
|
+
*/
|
|
1503
|
+
private publishStream;
|
|
1504
|
+
/**
|
|
1505
|
+
* Un-publishes a stream.
|
|
1506
|
+
*
|
|
1507
|
+
* @param {MediaType} mediaType of the stream
|
|
1508
|
+
* @param {LocalStream} stream to unpublish
|
|
1509
|
+
* @returns {Promise}
|
|
1510
|
+
*/
|
|
1511
|
+
private unpublishStream;
|
|
1512
|
+
/**
|
|
1513
|
+
* Publishes specified local streams in the meeting
|
|
1514
|
+
*
|
|
1515
|
+
* @param {Object} streams
|
|
1516
|
+
* @returns {Promise}
|
|
1517
|
+
*/
|
|
1518
|
+
publishStreams(streams: LocalStreams): Promise<void>;
|
|
1699
1519
|
/**
|
|
1700
|
-
* Un-publishes specified local
|
|
1520
|
+
* Un-publishes specified local streams in the meeting
|
|
1701
1521
|
*
|
|
1702
|
-
* @param {Array<
|
|
1522
|
+
* @param {Array<LocalStream>} streams
|
|
1703
1523
|
* @returns {Promise}
|
|
1704
1524
|
*/
|
|
1705
|
-
|
|
1525
|
+
unpublishStreams(streams: LocalStream[]): Promise<void>;
|
|
1526
|
+
/**
|
|
1527
|
+
* Gets the time left in seconds till the permission token expires
|
|
1528
|
+
* (from the time the function has been fired)
|
|
1529
|
+
*
|
|
1530
|
+
* @returns {number} time left in seconds
|
|
1531
|
+
*/
|
|
1532
|
+
getPermissionTokenTimeLeftInSec(): number | undefined;
|
|
1706
1533
|
}
|