@webex/plugin-meetings 3.0.0-beta.25 → 3.0.0-beta.250
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 +193 -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 +106 -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 +49 -106
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +29 -90
- 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 +2627 -2557
- 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 +228 -123
- 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/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 +155 -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 +22 -36
- package/dist/types/meeting/in-meeting-actions.d.ts +90 -2
- package/dist/types/meeting/index.d.ts +312 -492
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +98 -22
- 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/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 +176 -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 +39 -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 +89 -109
- package/src/media/properties.ts +48 -87
- package/src/meeting/in-meeting-actions.ts +179 -3
- package/src/meeting/index.ts +2111 -2143
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +227 -130
- package/src/meeting/request.ts +172 -121
- package/src/meeting/util.ts +588 -395
- 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/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 +336 -259
- 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 +138 -28
- package/test/unit/spec/meeting/in-meeting-actions.ts +89 -3
- package/test/unit/spec/meeting/index.js +3576 -1748
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +370 -208
- package/test/unit/spec/meeting/request.js +440 -45
- package/test/unit/spec/meeting/utils.js +671 -54
- 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/reachability/index.ts +185 -7
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reconnection-manager/index.js +80 -6
- 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 { LocalTrack, LocalCameraTrack, LocalDisplayTrack, LocalSystemAudioTrack, LocalMicrophoneTrack, TrackMuteEvent } 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,39 @@ 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 LocalTracks = {
|
|
23
|
+
microphone?: LocalMicrophoneTrack;
|
|
24
|
+
camera?: LocalCameraTrack;
|
|
25
|
+
screenShare?: {
|
|
26
|
+
audio?: LocalSystemAudioTrack;
|
|
27
|
+
video?: LocalDisplayTrack;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export type AddMediaOptions = {
|
|
31
|
+
localTracks?: LocalTracks;
|
|
32
|
+
audioEnabled?: boolean;
|
|
33
|
+
videoEnabled?: boolean;
|
|
34
|
+
receiveShare?: boolean;
|
|
35
|
+
remoteMediaManagerConfig?: RemoteMediaManagerConfiguration;
|
|
36
|
+
bundlePolicy?: BundlePolicy;
|
|
37
|
+
allowMediaInLobby?: boolean;
|
|
38
|
+
};
|
|
17
39
|
export declare const MEDIA_UPDATE_TYPE: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
SHARE: string;
|
|
22
|
-
LAMBDA: string;
|
|
40
|
+
TRANSCODED_MEDIA_CONNECTION: string;
|
|
41
|
+
SHARE_FLOOR_REQUEST: string;
|
|
42
|
+
UPDATE_MEDIA: string;
|
|
23
43
|
};
|
|
44
|
+
export declare enum ScreenShareFloorStatus {
|
|
45
|
+
PENDING = "floor_request_pending",
|
|
46
|
+
GRANTED = "floor_request_granted",
|
|
47
|
+
RELEASED = "floor_released"
|
|
48
|
+
}
|
|
24
49
|
/**
|
|
25
50
|
* MediaDirection
|
|
26
51
|
* @typedef {Object} MediaDirection
|
|
@@ -32,15 +57,6 @@ export declare const MEDIA_UPDATE_TYPE: {
|
|
|
32
57
|
* @property {boolean} receiveShare
|
|
33
58
|
* @property {boolean} isSharing
|
|
34
59
|
*/
|
|
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
60
|
/**
|
|
45
61
|
* SharePreferences
|
|
46
62
|
* @typedef {Object} SharePreferences
|
|
@@ -54,18 +70,10 @@ export declare const MEDIA_UPDATE_TYPE: {
|
|
|
54
70
|
* @property {String} [pin]
|
|
55
71
|
* @property {Boolean} [moderator]
|
|
56
72
|
* @property {String|Object} [meetingQuality]
|
|
57
|
-
* @property {String} [meetingQuality.local]
|
|
58
73
|
* @property {String} [meetingQuality.remote]
|
|
59
74
|
* @property {Boolean} [rejoin]
|
|
60
75
|
* @property {Boolean} [enableMultistream]
|
|
61
76
|
*/
|
|
62
|
-
/**
|
|
63
|
-
* SendOptions
|
|
64
|
-
* @typedef {Object} SendOptions
|
|
65
|
-
* @property {Boolean} sendAudio
|
|
66
|
-
* @property {Boolean} sendVideo
|
|
67
|
-
* @property {Boolean} sendShare
|
|
68
|
-
*/
|
|
69
77
|
/**
|
|
70
78
|
* Recording
|
|
71
79
|
* @typedef {Object} Recording
|
|
@@ -147,7 +155,11 @@ export declare const MEDIA_UPDATE_TYPE: {
|
|
|
147
155
|
* @instance
|
|
148
156
|
* @type {Object}
|
|
149
157
|
* @property {Boolean} memberId id of the meeting member that started screen share
|
|
158
|
+
* @property {String} url of this content share
|
|
159
|
+
* @property {String} shareInstanceId of this content share
|
|
160
|
+
* @property {Object} annotation Info of this content share
|
|
150
161
|
* @memberof Meeting
|
|
162
|
+
*
|
|
151
163
|
*/
|
|
152
164
|
/**
|
|
153
165
|
* Meeting Stopped Sharing Remote Event
|
|
@@ -284,12 +296,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
284
296
|
attrs: any;
|
|
285
297
|
audio: any;
|
|
286
298
|
breakouts: any;
|
|
299
|
+
simultaneousInterpretation: any;
|
|
300
|
+
annotation: any;
|
|
287
301
|
conversationUrl: string;
|
|
288
302
|
correlationId: string;
|
|
289
303
|
destination: string;
|
|
290
304
|
destinationType: string;
|
|
291
305
|
deviceUrl: string;
|
|
292
|
-
effects: any;
|
|
293
306
|
hostId: string;
|
|
294
307
|
id: string;
|
|
295
308
|
isMultistream: boolean;
|
|
@@ -297,7 +310,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
297
310
|
mediaConnections: any[];
|
|
298
311
|
mediaId?: string;
|
|
299
312
|
meetingFiniteStateMachine: any;
|
|
300
|
-
meetingInfo:
|
|
313
|
+
meetingInfo: any;
|
|
301
314
|
meetingRequest: MeetingRequest;
|
|
302
315
|
members: Members;
|
|
303
316
|
options: object;
|
|
@@ -309,11 +322,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
309
322
|
resource: string;
|
|
310
323
|
roap: Roap;
|
|
311
324
|
roapSeq: number;
|
|
325
|
+
selfUrl?: string;
|
|
312
326
|
sipUri: string;
|
|
313
327
|
type: string;
|
|
314
328
|
userId: string;
|
|
315
329
|
video: any;
|
|
316
330
|
callEvents: any[];
|
|
331
|
+
datachannelUrl: string;
|
|
317
332
|
deferJoin: Promise<any>;
|
|
318
333
|
dialInDeviceStatus: string;
|
|
319
334
|
dialInUrl: string;
|
|
@@ -326,10 +341,10 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
326
341
|
inMeetingActions: InMeetingActions;
|
|
327
342
|
isLocalShareLive: boolean;
|
|
328
343
|
isRoapInProgress: boolean;
|
|
329
|
-
isSharing: boolean;
|
|
330
344
|
keepAliveTimerId: NodeJS.Timeout;
|
|
331
345
|
lastVideoLayoutInfo: any;
|
|
332
346
|
locusInfo: any;
|
|
347
|
+
locusMediaRequest?: LocusMediaRequest;
|
|
333
348
|
mediaProperties: MediaProperties;
|
|
334
349
|
mediaRequestManagers: {
|
|
335
350
|
audio: MediaRequestManager;
|
|
@@ -338,6 +353,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
338
353
|
screenShareVideo: MediaRequestManager;
|
|
339
354
|
};
|
|
340
355
|
meetingInfoFailureReason: string;
|
|
356
|
+
meetingInfoFailureCode?: number;
|
|
341
357
|
networkQualityMonitor: NetworkQualityMonitor;
|
|
342
358
|
networkStatus: string;
|
|
343
359
|
passwordStatus: string;
|
|
@@ -345,18 +361,22 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
345
361
|
recording: any;
|
|
346
362
|
remoteMediaManager: RemoteMediaManager | null;
|
|
347
363
|
recordingController: RecordingController;
|
|
364
|
+
controlsOptionsManager: ControlsOptionsManager;
|
|
348
365
|
requiredCaptcha: any;
|
|
349
366
|
receiveSlotManager: ReceiveSlotManager;
|
|
367
|
+
selfUserPolicies: any;
|
|
350
368
|
shareStatus: string;
|
|
369
|
+
screenShareFloorState: ScreenShareFloorStatus;
|
|
351
370
|
statsAnalyzer: StatsAnalyzer;
|
|
352
371
|
transcription: Transcription;
|
|
353
372
|
updateMediaConnections: (mediaConnections: any[]) => void;
|
|
354
|
-
|
|
373
|
+
userDisplayHints: any;
|
|
374
|
+
endCallInitJoinReq: any;
|
|
355
375
|
endJoinReqResp: any;
|
|
356
376
|
endLocalSDPGenRemoteSDPRecvDelay: any;
|
|
357
377
|
joinedWith: any;
|
|
358
378
|
locusId: any;
|
|
359
|
-
|
|
379
|
+
startCallInitJoinReq: any;
|
|
360
380
|
startJoinReqResp: any;
|
|
361
381
|
startLocalSDPGenRemoteSDPRecvDelay: any;
|
|
362
382
|
wirelessShare: any;
|
|
@@ -364,12 +384,19 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
364
384
|
meetingJoinUrl: any;
|
|
365
385
|
meetingNumber: any;
|
|
366
386
|
meetingState: any;
|
|
367
|
-
permissionToken:
|
|
387
|
+
permissionToken: string;
|
|
388
|
+
permissionTokenPayload: any;
|
|
368
389
|
resourceId: any;
|
|
369
390
|
resourceUrl: string;
|
|
370
391
|
selfId: string;
|
|
371
392
|
state: any;
|
|
393
|
+
localAudioTrackMuteStateHandler: (event: TrackMuteEvent) => void;
|
|
394
|
+
localVideoTrackMuteStateHandler: (event: TrackMuteEvent) => void;
|
|
395
|
+
underlyingLocalTrackChangeHandler: () => void;
|
|
396
|
+
roles: any[];
|
|
397
|
+
environment: string;
|
|
372
398
|
namespace: string;
|
|
399
|
+
allowMediaInLobby: boolean;
|
|
373
400
|
/**
|
|
374
401
|
* @param {Object} attrs
|
|
375
402
|
* @param {Object} options
|
|
@@ -377,6 +404,18 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
377
404
|
* @memberof Meeting
|
|
378
405
|
*/
|
|
379
406
|
constructor(attrs: any, options: object);
|
|
407
|
+
/**
|
|
408
|
+
* returns meeting is joined
|
|
409
|
+
* @private
|
|
410
|
+
* @memberof Meeting
|
|
411
|
+
* @returns {Boolean}
|
|
412
|
+
*/
|
|
413
|
+
private isJoined;
|
|
414
|
+
/**
|
|
415
|
+
* Returns whether this meeting is a Locus CALL
|
|
416
|
+
* @returns {Boolean}
|
|
417
|
+
*/
|
|
418
|
+
isLocusCall(): boolean;
|
|
380
419
|
/**
|
|
381
420
|
* Fetches meeting information.
|
|
382
421
|
* @param {Object} options
|
|
@@ -386,9 +425,10 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
386
425
|
* @memberof Meeting
|
|
387
426
|
* @returns {Promise}
|
|
388
427
|
*/
|
|
389
|
-
fetchMeetingInfo({ password, captchaCode, }: {
|
|
428
|
+
fetchMeetingInfo({ password, captchaCode, extraParams, }: {
|
|
390
429
|
password?: string;
|
|
391
430
|
captchaCode?: string;
|
|
431
|
+
extraParams?: Record<string, any>;
|
|
392
432
|
}): Promise<void>;
|
|
393
433
|
/**
|
|
394
434
|
* Checks if the supplied password/host key is correct. It returns a promise with information whether the
|
|
@@ -416,6 +456,14 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
416
456
|
* @returns {Promise}
|
|
417
457
|
*/
|
|
418
458
|
refreshCaptcha(): any;
|
|
459
|
+
/**
|
|
460
|
+
* Posts metrics event for this meeting. Allows the app to send Call Analyzer events.
|
|
461
|
+
* @param {String} eventName - Call Analyzer event
|
|
462
|
+
* @public
|
|
463
|
+
* @memberof Meeting
|
|
464
|
+
* @returns {Promise}
|
|
465
|
+
*/
|
|
466
|
+
postMetrics(eventName: ClientEvent['name']): void;
|
|
419
467
|
/**
|
|
420
468
|
* Proxy function for all the listener set ups
|
|
421
469
|
* @returns {undefined}
|
|
@@ -430,6 +478,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
430
478
|
* @memberof Meeting
|
|
431
479
|
*/
|
|
432
480
|
setUpBreakoutsListener(): void;
|
|
481
|
+
/**
|
|
482
|
+
* Set up the listeners for interpretation
|
|
483
|
+
* @returns {undefined}
|
|
484
|
+
* @private
|
|
485
|
+
* @memberof Meeting
|
|
486
|
+
*/
|
|
487
|
+
private setUpInterpretationListener;
|
|
433
488
|
/**
|
|
434
489
|
* Set up the locus info listener for meetings disconnected due to inactivity
|
|
435
490
|
* @returns {undefined}
|
|
@@ -451,47 +506,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
451
506
|
* @memberof Meeting
|
|
452
507
|
*/
|
|
453
508
|
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
509
|
/**
|
|
496
510
|
* sets the network status on meeting object
|
|
497
511
|
* @param {String} networkStatus
|
|
@@ -554,6 +568,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
554
568
|
* @memberof Meeting
|
|
555
569
|
*/
|
|
556
570
|
private setupLocusControlsListener;
|
|
571
|
+
/**
|
|
572
|
+
* Trigger annotation info update event
|
|
573
|
+
@returns {undefined}
|
|
574
|
+
@param {object} contentShare
|
|
575
|
+
@param {object} previousContentShare
|
|
576
|
+
*/
|
|
577
|
+
private triggerAnnotationInfoEvent;
|
|
557
578
|
/**
|
|
558
579
|
* Set up the locus info media shares listener
|
|
559
580
|
* update content and whiteboard sharing id value for members, and updates the member
|
|
@@ -652,13 +673,23 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
652
673
|
phoneNumber: string;
|
|
653
674
|
}): any;
|
|
654
675
|
/**
|
|
655
|
-
* Admit the guest(s) to the call once they are waiting
|
|
676
|
+
* Admit the guest(s) to the call once they are waiting.
|
|
677
|
+
* If the host/cohost is in a breakout session, the locus url
|
|
678
|
+
* of the session must be provided as the authorizingLocusUrl.
|
|
679
|
+
* Regardless of host/cohost location, the locus Id (lid) in
|
|
680
|
+
* the path should be the locus Id of the main, which means the
|
|
681
|
+
* locus url of the api call must be from the main session.
|
|
682
|
+
* If these loucs urls are not provided, the function will do the check.
|
|
656
683
|
* @param {Array} memberIds
|
|
684
|
+
* @param {Object} sessionLocusUrls: {authorizingLocusUrl, mainLocusUrl}
|
|
657
685
|
* @returns {Promise} see #members.admitMembers
|
|
658
686
|
* @public
|
|
659
687
|
* @memberof Meeting
|
|
660
688
|
*/
|
|
661
|
-
admit(memberIds: Array<any
|
|
689
|
+
admit(memberIds: Array<any>, sessionLocusUrls?: {
|
|
690
|
+
authorizingLocusUrl: string;
|
|
691
|
+
mainLocusUrl: string;
|
|
692
|
+
}): any;
|
|
662
693
|
/**
|
|
663
694
|
* Remove the member from the meeting, boot them
|
|
664
695
|
* @param {String} memberId
|
|
@@ -692,48 +723,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
692
723
|
* @memberof Meeting
|
|
693
724
|
*/
|
|
694
725
|
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
726
|
/**
|
|
738
727
|
* Sets the meeting info on the class instance
|
|
739
728
|
* @param {Object} meetingInfo
|
|
@@ -756,16 +745,29 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
756
745
|
};
|
|
757
746
|
} | any, destination?: object | string | null): void;
|
|
758
747
|
/**
|
|
759
|
-
*
|
|
760
|
-
* @
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
748
|
+
* Indicates whether policy can be applied
|
|
749
|
+
* @returns {boolean}
|
|
750
|
+
*/
|
|
751
|
+
private arePolicyRestrictionsSupported;
|
|
752
|
+
/**
|
|
753
|
+
* Updates the meeting actions (display hints), depends on locus display hints, user policy and app api info
|
|
764
754
|
* @returns {undefined}
|
|
765
755
|
* @private
|
|
766
756
|
* @memberof Meeting
|
|
767
757
|
*/
|
|
768
|
-
private
|
|
758
|
+
private updateMeetingActions;
|
|
759
|
+
/**
|
|
760
|
+
* Sets the self user policies based on the contents of the permission token
|
|
761
|
+
* @returns {void}
|
|
762
|
+
*/
|
|
763
|
+
setSelfUserPolicies(): void;
|
|
764
|
+
/**
|
|
765
|
+
* Sets the permission token payload on the class instance
|
|
766
|
+
*
|
|
767
|
+
* @param {String} permissionToken
|
|
768
|
+
* @returns {void}
|
|
769
|
+
*/
|
|
770
|
+
setPermissionTokenPayload(permissionToken: string): void;
|
|
769
771
|
/**
|
|
770
772
|
* Sets the sip uri on the class instance
|
|
771
773
|
* uses meeting info as precedence
|
|
@@ -788,7 +790,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
788
790
|
* @private
|
|
789
791
|
* @memberof Meeting
|
|
790
792
|
*/
|
|
791
|
-
|
|
793
|
+
setLocus(locus: {
|
|
794
|
+
mediaConnections: Array<any>;
|
|
795
|
+
locusUrl: string;
|
|
796
|
+
locusId: string;
|
|
797
|
+
mediaId: string;
|
|
798
|
+
host: object;
|
|
799
|
+
} | any): void;
|
|
792
800
|
/**
|
|
793
801
|
* Upload logs for the current meeting
|
|
794
802
|
* @param {object} options file name and function name
|
|
@@ -797,15 +805,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
797
805
|
* @memberof Meeting
|
|
798
806
|
*/
|
|
799
807
|
uploadLogs(options?: object): void;
|
|
800
|
-
/**
|
|
801
|
-
* Removes remote audio and video stream on the class instance and triggers an event
|
|
802
|
-
* to developers
|
|
803
|
-
* @returns {undefined}
|
|
804
|
-
* @public
|
|
805
|
-
* @memberof Meeting
|
|
806
|
-
* @deprecated after v1.89.3
|
|
807
|
-
*/
|
|
808
|
-
unsetRemoteStream(): void;
|
|
809
808
|
/**
|
|
810
809
|
* Removes remote audio, video and share tracks from class instance's mediaProperties
|
|
811
810
|
* @returns {undefined}
|
|
@@ -828,76 +827,37 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
828
827
|
*/
|
|
829
828
|
closeRemoteTracks(): Promise<[any, any, any]>;
|
|
830
829
|
/**
|
|
831
|
-
*
|
|
832
|
-
*
|
|
833
|
-
*
|
|
834
|
-
* @
|
|
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
|
|
830
|
+
* Stores the reference to a new microphone track, sets up the required event listeners
|
|
831
|
+
* on it, cleans up previous track, etc.
|
|
832
|
+
*
|
|
833
|
+
* @param {LocalMicrophoneTrack | null} localTrack local microphone track
|
|
834
|
+
* @returns {Promise<void>}
|
|
844
835
|
*/
|
|
845
836
|
private setLocalAudioTrack;
|
|
846
837
|
/**
|
|
847
|
-
*
|
|
848
|
-
*
|
|
849
|
-
*
|
|
850
|
-
* @
|
|
851
|
-
* @
|
|
852
|
-
* @memberof Meeting
|
|
838
|
+
* Stores the reference to a new camera track, sets up the required event listeners
|
|
839
|
+
* on it, cleans up previous track, etc.
|
|
840
|
+
*
|
|
841
|
+
* @param {LocalCameraTrack | null} localTrack local camera track
|
|
842
|
+
* @returns {Promise<void>}
|
|
853
843
|
*/
|
|
854
844
|
private setLocalVideoTrack;
|
|
855
845
|
/**
|
|
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
|
|
877
|
-
*/
|
|
878
|
-
closeLocalStream(): any;
|
|
879
|
-
/**
|
|
880
|
-
* Closes the local stream from the class and emits an event to the developer
|
|
881
|
-
* @returns {undefined}
|
|
882
|
-
* @event media:stopped
|
|
883
|
-
* @public
|
|
884
|
-
* @memberof Meeting
|
|
885
|
-
*/
|
|
886
|
-
closeLocalShare(): any;
|
|
887
|
-
/**
|
|
888
|
-
* Removes the local stream from the class and emits an event to the developer
|
|
889
|
-
* @returns {undefined}
|
|
890
|
-
* @public
|
|
891
|
-
* @memberof Meeting
|
|
846
|
+
* Stores the reference to a new screen share video track, sets up the required event listeners
|
|
847
|
+
* on it, cleans up previous track, etc.
|
|
848
|
+
*
|
|
849
|
+
* @param {LocalDisplayTrack | undefined} localDisplayTrack local camera track
|
|
850
|
+
* @returns {Promise<void>}
|
|
892
851
|
*/
|
|
893
|
-
|
|
852
|
+
private setLocalShareVideoTrack;
|
|
894
853
|
/**
|
|
895
|
-
*
|
|
896
|
-
*
|
|
897
|
-
*
|
|
898
|
-
* @
|
|
854
|
+
* Stores the reference to a new screen share audio track, sets up the required event listeners
|
|
855
|
+
* on it, cleans up previous track, etc.
|
|
856
|
+
*
|
|
857
|
+
* @param {LocalSystemAudioTrack | undefined} localSystemAudioTrack local system audio track
|
|
858
|
+
* @returns {Promise<void>}
|
|
899
859
|
*/
|
|
900
|
-
|
|
860
|
+
private setLocalShareAudioTrack;
|
|
901
861
|
/**
|
|
902
862
|
* sets up listner for mercury event
|
|
903
863
|
* @returns {undefined}
|
|
@@ -930,6 +890,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
930
890
|
* @memberof Meeting
|
|
931
891
|
*/
|
|
932
892
|
private setCorrelationId;
|
|
893
|
+
/**
|
|
894
|
+
* Enqueue request for screenshare floor and set the status to pending
|
|
895
|
+
* @returns {Promise}
|
|
896
|
+
* @private
|
|
897
|
+
* @memberof Meeting
|
|
898
|
+
*/
|
|
899
|
+
private enqueueScreenShareFloorRequest;
|
|
933
900
|
/**
|
|
934
901
|
* Mute the audio for a meeting
|
|
935
902
|
* @returns {Promise} resolves the data from muting audio {mute, self} or rejects if there is no audio set
|
|
@@ -962,31 +929,21 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
962
929
|
* Shorthand function to join AND set up media
|
|
963
930
|
* @param {Object} options - options to join with media
|
|
964
931
|
* @param {JoinOptions} [options.joinOptions] - see #join()
|
|
965
|
-
* @param {
|
|
966
|
-
* @
|
|
967
|
-
* @returns {Promise} -- {join: see join(), media: see addMedia(), local: see getMediaStreams()}
|
|
932
|
+
* @param {AddMediaOptions} [options.mediaOptions] - see #addMedia()
|
|
933
|
+
* @returns {Promise} -- {join: see join(), media: see addMedia()}
|
|
968
934
|
* @public
|
|
969
935
|
* @memberof Meeting
|
|
970
936
|
* @example
|
|
971
937
|
* joinWithMedia({
|
|
972
938
|
* 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
|
-
* }})
|
|
939
|
+
* mediaOptions: {
|
|
940
|
+
* localTracks: { microphone: microphoneTrack, camera: cameraTrack }
|
|
941
|
+
* }
|
|
942
|
+
* })
|
|
985
943
|
*/
|
|
986
944
|
joinWithMedia(options?: {
|
|
987
945
|
joinOptions?: any;
|
|
988
|
-
|
|
989
|
-
audioVideoOptions?: any;
|
|
946
|
+
mediaOptions?: AddMediaOptions;
|
|
990
947
|
}): any;
|
|
991
948
|
/**
|
|
992
949
|
* Initiates the reconnection of the media in the meeting
|
|
@@ -1067,7 +1024,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1067
1024
|
* @public
|
|
1068
1025
|
* @memberof Meeting
|
|
1069
1026
|
*/
|
|
1070
|
-
usePhoneAudio(phoneNumber: string): any
|
|
1027
|
+
usePhoneAudio(phoneNumber: string): Promise<any>;
|
|
1071
1028
|
/**
|
|
1072
1029
|
* Determines if the given pstnStatus is in a state which implies the phone is provisioned
|
|
1073
1030
|
* @param {String} pstnStatus
|
|
@@ -1115,38 +1072,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1115
1072
|
* @memberof Meeting
|
|
1116
1073
|
*/
|
|
1117
1074
|
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
1075
|
/**
|
|
1151
1076
|
* Handles ROAP_FAILURE event from the webrtc media connection
|
|
1152
1077
|
*
|
|
@@ -1163,7 +1088,14 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1163
1088
|
*/
|
|
1164
1089
|
setupStatsAnalyzerEventHandlers: () => void;
|
|
1165
1090
|
getMediaConnectionDebugId(): string;
|
|
1166
|
-
|
|
1091
|
+
/**
|
|
1092
|
+
* Creates a webrtc media connection and publishes tracks to it
|
|
1093
|
+
*
|
|
1094
|
+
* @param {Object} turnServerInfo TURN server information
|
|
1095
|
+
* @param {BundlePolicy} [bundlePolicy] Bundle policy settings
|
|
1096
|
+
* @returns {RoapMediaConnection | MultistreamRoapMediaConnection}
|
|
1097
|
+
*/
|
|
1098
|
+
private createMediaConnection;
|
|
1167
1099
|
/**
|
|
1168
1100
|
* Listens for an event emitted by eventEmitter and emits it from the meeting object
|
|
1169
1101
|
*
|
|
@@ -1175,18 +1107,14 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1175
1107
|
*/
|
|
1176
1108
|
forwardEvent(eventEmitter: any, eventTypeToForward: any, meetingEventType: any): void;
|
|
1177
1109
|
/**
|
|
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
|
|
1110
|
+
* Creates a media connection to the server. Media connection is required for sending or receiving any audio/video.
|
|
1111
|
+
*
|
|
1112
|
+
* @param {AddMediaOptions} options
|
|
1185
1113
|
* @returns {Promise}
|
|
1186
1114
|
* @public
|
|
1187
1115
|
* @memberof Meeting
|
|
1188
1116
|
*/
|
|
1189
|
-
addMedia(options?:
|
|
1117
|
+
addMedia(options?: AddMediaOptions): Promise<any>;
|
|
1190
1118
|
/**
|
|
1191
1119
|
* Informs if the peer connection is in a state that can be updated with updateMedia (audio/video/share)
|
|
1192
1120
|
* @returns {Boolean}
|
|
@@ -1217,94 +1145,25 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1217
1145
|
*/
|
|
1218
1146
|
processNextQueuedMediaUpdate: () => void;
|
|
1219
1147
|
/**
|
|
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()
|
|
1148
|
+
* Updates the media connection - it allows to enable/disable all audio/video/share in the meeting.
|
|
1149
|
+
* This does not affect the published tracks, so for example if a microphone track is published and
|
|
1150
|
+
* updateMedia({audioEnabled: false}) is called, the audio will not be sent or received anymore,
|
|
1151
|
+
* but the track's "published" state is not changed and when updateMedia({audioEnabled: true}) is called,
|
|
1152
|
+
* the sending of the audio from the same track will resume.
|
|
1239
1153
|
*
|
|
1240
1154
|
* @param {Object} options
|
|
1241
|
-
* @param {boolean} options.
|
|
1242
|
-
* @param {boolean} options.
|
|
1243
|
-
* @param {
|
|
1155
|
+
* @param {boolean} options.audioEnabled [optional] enables/disables receiving and sending of main audio in the meeting
|
|
1156
|
+
* @param {boolean} options.videoEnabled [optional] enables/disables receiving and sending of main video in the meeting
|
|
1157
|
+
* @param {boolean} options.shareEnabled [optional] enables/disables receiving and sending of screen share in the meeting
|
|
1244
1158
|
* @returns {Promise}
|
|
1245
1159
|
* @public
|
|
1246
1160
|
* @memberof Meeting
|
|
1247
1161
|
*/
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
stream: MediaStream;
|
|
1252
|
-
}): Promise<any>;
|
|
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;
|
|
1162
|
+
updateMedia(options: {
|
|
1163
|
+
audioEnabled?: boolean;
|
|
1164
|
+
videoEnabled?: boolean;
|
|
1294
1165
|
receiveShare?: boolean;
|
|
1295
|
-
|
|
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
|
+
}): Promise<void>;
|
|
1308
1167
|
/**
|
|
1309
1168
|
* Acknowledge the meeting, outgoing or incoming
|
|
1310
1169
|
* @param {String} type
|
|
@@ -1312,7 +1171,11 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1312
1171
|
* @public
|
|
1313
1172
|
* @memberof Meeting
|
|
1314
1173
|
*/
|
|
1315
|
-
acknowledge(type: string):
|
|
1174
|
+
acknowledge(type: string): Promise<{
|
|
1175
|
+
response: any;
|
|
1176
|
+
}> | Promise<{
|
|
1177
|
+
message: string;
|
|
1178
|
+
}>;
|
|
1316
1179
|
/**
|
|
1317
1180
|
* Decline this meeting
|
|
1318
1181
|
* @param {String} reason
|
|
@@ -1322,15 +1185,45 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1322
1185
|
*/
|
|
1323
1186
|
decline(reason: string): any;
|
|
1324
1187
|
/**
|
|
1325
|
-
*
|
|
1188
|
+
* Returns a promise that will resolve to fetch options for leaving a meeting.
|
|
1189
|
+
*
|
|
1190
|
+
* This is to support quickly submitting a leave request when the browser/tab is closing.
|
|
1191
|
+
* Calling meeting.leave will not work because there are some async steps that will
|
|
1192
|
+
* not complete before the browser is closed. Instead, we pre-gather all the
|
|
1193
|
+
* information/options needed for the request(s), and then simply and quickly
|
|
1194
|
+
* fire the fetch(es) when pagehide is triggered.
|
|
1195
|
+
*
|
|
1196
|
+
* We must use fetch instead of request because fetch has a keepalive option that
|
|
1197
|
+
* allows the request it to outlive the page.
|
|
1198
|
+
*
|
|
1199
|
+
* Note: the $timings values will be wrong, but setRequestTimingsAndFetch() will
|
|
1200
|
+
* properly adjust them before submitting.
|
|
1201
|
+
*
|
|
1202
|
+
* @public
|
|
1326
1203
|
* @param {Object} options leave options
|
|
1327
1204
|
* @param {String} options.resourceId the device with which to leave from, empty if just the computer
|
|
1205
|
+
* @param {any} options.reason the reason for leaving
|
|
1206
|
+
* @returns {Promise} resolves to options to be used with fetch
|
|
1207
|
+
*/
|
|
1208
|
+
buildLeaveFetchRequestOptions(options?: {
|
|
1209
|
+
resourceId?: string;
|
|
1210
|
+
reason?: any;
|
|
1211
|
+
}): any;
|
|
1212
|
+
/**
|
|
1213
|
+
* Leave the current meeting
|
|
1214
|
+
* @param {Object} options - leave options
|
|
1215
|
+
* @param {String} [options.resourceId] - the device with which to leave from, empty if just the computer
|
|
1216
|
+
* @param {String} [options.clientEventLeaveReason] - the leaveReason to include in the Call Analyzer event.
|
|
1217
|
+
* Must be one of: 'paired-leave' | 'one-to-one' | 'ended-by-locus' (defaults to no reason)
|
|
1218
|
+
* https://sqbu-github.cisco.com/WebExSquared/event-dictionary/blob/main/diagnostic-events.raml#L796
|
|
1219
|
+
* @param {String} [options.reason] - only used for logging
|
|
1328
1220
|
* @returns {Promise}
|
|
1329
1221
|
* @public
|
|
1330
1222
|
* @memberof Meeting
|
|
1331
1223
|
*/
|
|
1332
1224
|
leave(options?: {
|
|
1333
1225
|
resourceId?: string;
|
|
1226
|
+
clientEventLeaveReason?: ClientEventLeaveReason;
|
|
1334
1227
|
reason?: any;
|
|
1335
1228
|
}): any;
|
|
1336
1229
|
/**
|
|
@@ -1358,12 +1251,12 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1358
1251
|
*/
|
|
1359
1252
|
private requestScreenShareFloor;
|
|
1360
1253
|
/**
|
|
1361
|
-
*
|
|
1362
|
-
*
|
|
1363
|
-
*
|
|
1364
|
-
* @
|
|
1254
|
+
* Requests screen share floor if such request is pending.
|
|
1255
|
+
* It should be called whenever meeting state changes to JOINED
|
|
1256
|
+
*
|
|
1257
|
+
* @returns {void}
|
|
1365
1258
|
*/
|
|
1366
|
-
|
|
1259
|
+
private requestScreenShareFloorIfPending;
|
|
1367
1260
|
/**
|
|
1368
1261
|
* Sends a request to Locus to release the screen share floor.
|
|
1369
1262
|
* @returns {Promise} see #meetingRequest.changeMeetingFloor
|
|
@@ -1378,6 +1271,32 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1378
1271
|
* @memberof Meeting
|
|
1379
1272
|
*/
|
|
1380
1273
|
startRecording(): Promise<any>;
|
|
1274
|
+
/**
|
|
1275
|
+
* set the mute on entry flag for participants if you're the host
|
|
1276
|
+
* @returns {Promise}
|
|
1277
|
+
* @param {boolean} enabled
|
|
1278
|
+
* @public
|
|
1279
|
+
* @memberof Meeting
|
|
1280
|
+
*/
|
|
1281
|
+
setMuteOnEntry(enabled: boolean): Promise<any>;
|
|
1282
|
+
/**
|
|
1283
|
+
* set the disallow unmute flag for participants if you're the host
|
|
1284
|
+
* @returns {Promise}
|
|
1285
|
+
* @param {boolean} enabled
|
|
1286
|
+
* @public
|
|
1287
|
+
* @memberof Meeting
|
|
1288
|
+
*/
|
|
1289
|
+
setDisallowUnmute(enabled: boolean): Promise<any>;
|
|
1290
|
+
/**
|
|
1291
|
+
* set the mute all flag for participants if you're the host
|
|
1292
|
+
* @returns {Promise}
|
|
1293
|
+
* @param {boolean} mutedEnabled
|
|
1294
|
+
* @param {boolean} disallowUnmuteEnabled
|
|
1295
|
+
* @param {boolean} muteOnEntryEnabled
|
|
1296
|
+
* @public
|
|
1297
|
+
* @memberof Meeting
|
|
1298
|
+
*/
|
|
1299
|
+
setMuteAll(mutedEnabled: boolean, disallowUnmuteEnabled: boolean, muteOnEntryEnabled: boolean): Promise<any>;
|
|
1381
1300
|
/**
|
|
1382
1301
|
* End the recording of this meeting
|
|
1383
1302
|
* @returns {Promise}
|
|
@@ -1428,7 +1347,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1428
1347
|
* @public
|
|
1429
1348
|
* @memberof Meeting
|
|
1430
1349
|
*/
|
|
1431
|
-
sendDTMF(tones: string): any
|
|
1350
|
+
sendDTMF(tones: string): Promise<any>;
|
|
1432
1351
|
/**
|
|
1433
1352
|
* Sends request to change layout type for the current meeting for the specific participant/device only
|
|
1434
1353
|
* @param {String} [layoutType] a layout type that should be available in meeting constants {@link #layout_types}
|
|
@@ -1453,53 +1372,33 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1453
1372
|
height: number;
|
|
1454
1373
|
};
|
|
1455
1374
|
}): 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
1375
|
/**
|
|
1463
1376
|
* Sets the quality level of the remote incoming media
|
|
1464
1377
|
* @param {String} level {LOW|MEDIUM|HIGH}
|
|
1465
1378
|
* @returns {Promise}
|
|
1466
1379
|
*/
|
|
1467
|
-
setRemoteQualityLevel(level: string):
|
|
1380
|
+
setRemoteQualityLevel(level: string): Promise<void>;
|
|
1468
1381
|
/**
|
|
1469
|
-
*
|
|
1470
|
-
* @
|
|
1471
|
-
* @
|
|
1472
|
-
* @
|
|
1382
|
+
* Functionality for when a share audio is ended.
|
|
1383
|
+
* @private
|
|
1384
|
+
* @memberof Meeting
|
|
1385
|
+
* @returns {undefined}
|
|
1473
1386
|
*/
|
|
1474
|
-
|
|
1387
|
+
private handleShareAudioTrackEnded;
|
|
1475
1388
|
/**
|
|
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}
|
|
1389
|
+
* Functionality for when a share video is ended.
|
|
1390
|
+
* @private
|
|
1391
|
+
* @memberof Meeting
|
|
1392
|
+
* @returns {undefined}
|
|
1487
1393
|
*/
|
|
1488
|
-
|
|
1489
|
-
sendAudio: boolean;
|
|
1490
|
-
sendShare: boolean;
|
|
1491
|
-
sharePreferences: {
|
|
1492
|
-
shareConstraints: MediaTrackConstraints;
|
|
1493
|
-
};
|
|
1494
|
-
}): any;
|
|
1394
|
+
private handleShareVideoTrackEnded;
|
|
1495
1395
|
/**
|
|
1496
|
-
*
|
|
1396
|
+
* Emits meeting:stoppedSharingLocal
|
|
1497
1397
|
* @private
|
|
1498
|
-
* @memberof Meeting
|
|
1499
|
-
* @param {MediaStream} localShare
|
|
1500
1398
|
* @returns {undefined}
|
|
1399
|
+
* @memberof Meeting
|
|
1501
1400
|
*/
|
|
1502
|
-
private
|
|
1401
|
+
private triggerStoppedSharing;
|
|
1503
1402
|
/**
|
|
1504
1403
|
* Emits the 'network:quality' event
|
|
1505
1404
|
* 1 indicates an acceptable uplink network.
|
|
@@ -1514,92 +1413,16 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1514
1413
|
private sendNetworkQualityEvent;
|
|
1515
1414
|
/**
|
|
1516
1415
|
* Handle logging the media
|
|
1517
|
-
* @param {Object}
|
|
1518
|
-
* @param {Object} videoTrack The video track
|
|
1416
|
+
* @param {Object} mediaProperties
|
|
1519
1417
|
* @private
|
|
1520
1418
|
* @returns {undefined}
|
|
1521
1419
|
*/
|
|
1522
1420
|
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
1421
|
/**
|
|
1594
1422
|
*
|
|
1595
|
-
* @returns {string}
|
|
1423
|
+
* @returns {string} one of 'attendee','host','cohost', returns the user type of the current user
|
|
1596
1424
|
*/
|
|
1597
|
-
|
|
1598
|
-
/**
|
|
1599
|
-
*
|
|
1600
|
-
* @returns {string} duration between call initiate and successful locus join (even if it is in lobby)
|
|
1601
|
-
*/
|
|
1602
|
-
getTotalJmt(): number;
|
|
1425
|
+
getCurUserType(): "host" | "cohost" | "attendee";
|
|
1603
1426
|
/**
|
|
1604
1427
|
* End the current meeting for all
|
|
1605
1428
|
* @returns {Promise}
|
|
@@ -1614,35 +1437,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1614
1437
|
* @memberof Meeting
|
|
1615
1438
|
*/
|
|
1616
1439
|
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
1440
|
/**
|
|
1647
1441
|
* starts keepAlives being sent
|
|
1648
1442
|
* @returns {void}
|
|
@@ -1675,32 +1469,58 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1675
1469
|
* @public
|
|
1676
1470
|
* @memberof Meeting
|
|
1677
1471
|
*/
|
|
1678
|
-
toggleReactions(enable: boolean): any
|
|
1472
|
+
toggleReactions(enable: boolean): Promise<any>;
|
|
1679
1473
|
/**
|
|
1680
1474
|
* Throws if we don't have a media connection created
|
|
1681
1475
|
*
|
|
1682
1476
|
* @returns {void}
|
|
1683
1477
|
*/
|
|
1684
1478
|
private checkMediaConnection;
|
|
1479
|
+
/**
|
|
1480
|
+
* Method to enable or disable the 'Music mode' effect on audio track
|
|
1481
|
+
*
|
|
1482
|
+
* @param {boolean} shouldEnableMusicMode
|
|
1483
|
+
* @returns {Promise}
|
|
1484
|
+
*/
|
|
1485
|
+
enableMusicMode(shouldEnableMusicMode: boolean): Promise<void>;
|
|
1486
|
+
/** Updates the tracks being sent on the transcoded media connection
|
|
1487
|
+
*
|
|
1488
|
+
* @returns {Promise<void>}
|
|
1489
|
+
*/
|
|
1490
|
+
private updateTranscodedMediaConnection;
|
|
1491
|
+
/**
|
|
1492
|
+
* Publishes a track.
|
|
1493
|
+
*
|
|
1494
|
+
* @param {LocalTrack} track to publish
|
|
1495
|
+
* @returns {Promise}
|
|
1496
|
+
*/
|
|
1497
|
+
private publishTrack;
|
|
1498
|
+
/**
|
|
1499
|
+
* Un-publishes a track.
|
|
1500
|
+
*
|
|
1501
|
+
* @param {LocalTrack} track to unpublish
|
|
1502
|
+
* @returns {Promise}
|
|
1503
|
+
*/
|
|
1504
|
+
private unpublishTrack;
|
|
1685
1505
|
/**
|
|
1686
1506
|
* Publishes specified local tracks in the meeting
|
|
1687
1507
|
*
|
|
1688
1508
|
* @param {Object} tracks
|
|
1689
1509
|
* @returns {Promise}
|
|
1690
1510
|
*/
|
|
1691
|
-
publishTracks(tracks:
|
|
1692
|
-
microphone?: MediaStreamTrack;
|
|
1693
|
-
camera?: MediaStreamTrack;
|
|
1694
|
-
screenShare: {
|
|
1695
|
-
audio?: MediaStreamTrack;
|
|
1696
|
-
video?: MediaStreamTrack;
|
|
1697
|
-
};
|
|
1698
|
-
}): Promise<void>;
|
|
1511
|
+
publishTracks(tracks: LocalTracks): Promise<void>;
|
|
1699
1512
|
/**
|
|
1700
1513
|
* Un-publishes specified local tracks in the meeting
|
|
1701
1514
|
*
|
|
1702
1515
|
* @param {Array<MediaStreamTrack>} tracks
|
|
1703
1516
|
* @returns {Promise}
|
|
1704
1517
|
*/
|
|
1705
|
-
unpublishTracks(tracks:
|
|
1518
|
+
unpublishTracks(tracks: LocalTrack[]): Promise<void>;
|
|
1519
|
+
/**
|
|
1520
|
+
* Gets the time left in seconds till the permission token expires
|
|
1521
|
+
* (from the time the function has been fired)
|
|
1522
|
+
*
|
|
1523
|
+
* @returns {number} time left in seconds
|
|
1524
|
+
*/
|
|
1525
|
+
getPermissionTokenTimeLeftInSec(): number | undefined;
|
|
1706
1526
|
}
|