@webex/plugin-meetings 2.60.0-next.4 → 2.60.0-next.6
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/dist/annotation/annotation.types.d.ts +42 -0
- package/dist/annotation/constants.d.ts +31 -0
- package/dist/annotation/index.d.ts +117 -0
- package/dist/breakouts/breakout.d.ts +8 -0
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/collection.d.ts +5 -0
- package/dist/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/breakouts/events.d.ts +8 -0
- package/dist/breakouts/index.d.ts +5 -0
- package/dist/breakouts/index.js +1 -1
- package/dist/breakouts/request.d.ts +22 -0
- package/dist/breakouts/utils.d.ts +15 -0
- package/dist/common/browser-detection.d.ts +9 -0
- package/dist/common/collection.d.ts +48 -0
- package/dist/common/config.d.ts +2 -0
- package/dist/common/errors/captcha-error.d.ts +15 -0
- package/dist/common/errors/intent-to-join.d.ts +16 -0
- package/dist/common/errors/join-meeting.d.ts +17 -0
- package/dist/common/errors/media.d.ts +15 -0
- package/dist/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/common/errors/parameter.d.ts +15 -0
- package/dist/common/errors/password-error.d.ts +15 -0
- package/dist/common/errors/permission.d.ts +14 -0
- package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/common/errors/reconnection.d.ts +15 -0
- package/dist/common/errors/stats.d.ts +15 -0
- package/dist/common/errors/webex-errors.d.ts +93 -0
- package/dist/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/common/events/events-scope.d.ts +17 -0
- package/dist/common/events/events.d.ts +12 -0
- package/dist/common/events/trigger-proxy.d.ts +2 -0
- package/dist/common/events/util.d.ts +2 -0
- package/dist/common/logs/logger-config.d.ts +2 -0
- package/dist/common/logs/logger-proxy.d.ts +2 -0
- package/dist/common/logs/request.d.ts +36 -0
- package/dist/common/queue.d.ts +34 -0
- package/dist/config.d.ts +71 -0
- package/dist/constants.d.ts +1072 -0
- package/dist/controls-options-manager/constants.d.ts +4 -0
- package/dist/controls-options-manager/enums.d.ts +15 -0
- package/dist/controls-options-manager/index.d.ts +136 -0
- package/dist/controls-options-manager/types.d.ts +43 -0
- package/dist/controls-options-manager/util.d.ts +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/interpretation/collection.d.ts +5 -0
- package/dist/interpretation/index.d.ts +5 -0
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.d.ts +5 -0
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.d.ts +2 -0
- package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/locus-info/fullState.d.ts +2 -0
- package/dist/locus-info/hostUtils.d.ts +2 -0
- package/dist/locus-info/index.d.ts +322 -0
- package/dist/locus-info/infoUtils.d.ts +2 -0
- package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/locus-info/parser.d.ts +272 -0
- package/dist/locus-info/selfUtils.d.ts +2 -0
- package/dist/media/index.d.ts +34 -0
- package/dist/media/properties.d.ts +93 -0
- package/dist/media/util.d.ts +2 -0
- package/dist/mediaQualityMetrics/config.d.ts +365 -0
- package/dist/meeting/in-meeting-actions.d.ts +167 -0
- package/dist/meeting/index.d.ts +1715 -0
- package/dist/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/meeting/muteState.d.ts +184 -0
- package/dist/meeting/request.d.ts +290 -0
- package/dist/meeting/request.type.d.ts +11 -0
- package/dist/meeting/state.d.ts +9 -0
- package/dist/meeting/util.d.ts +103 -0
- package/dist/meeting-info/collection.d.ts +20 -0
- package/dist/meeting-info/index.d.ts +69 -0
- package/dist/meeting-info/meeting-info-v2.d.ts +123 -0
- package/dist/meeting-info/request.d.ts +22 -0
- package/dist/meeting-info/util.d.ts +2 -0
- package/dist/meeting-info/utilv2.d.ts +2 -0
- package/dist/meetings/collection.d.ts +40 -0
- package/dist/meetings/index.d.ts +378 -0
- package/dist/meetings/meetings.types.d.ts +4 -0
- package/dist/meetings/request.d.ts +27 -0
- package/dist/meetings/util.d.ts +18 -0
- package/dist/member/index.d.ts +160 -0
- package/dist/member/member.types.d.ts +11 -0
- package/dist/member/types.d.ts +32 -0
- package/dist/member/util.d.ts +2 -0
- package/dist/members/collection.d.ts +29 -0
- package/dist/members/index.d.ts +353 -0
- package/dist/members/request.d.ts +114 -0
- package/dist/members/types.d.ts +25 -0
- package/dist/members/util.d.ts +215 -0
- package/dist/metrics/constants.d.ts +68 -0
- package/dist/metrics/index.d.ts +45 -0
- package/dist/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/multistream/receiveSlot.d.ts +68 -0
- package/dist/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/multistream/remoteMedia.d.ts +72 -0
- package/dist/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/multistream/remoteMediaManager.d.ts +285 -0
- package/dist/multistream/sendSlotManager.d.ts +61 -0
- package/dist/networkQualityMonitor/index.d.ts +70 -0
- package/dist/personal-meeting-room/index.d.ts +47 -0
- package/dist/personal-meeting-room/request.d.ts +14 -0
- package/dist/personal-meeting-room/util.d.ts +2 -0
- package/dist/reachability/index.d.ts +194 -0
- package/dist/reachability/request.d.ts +39 -0
- package/dist/reactions/constants.d.ts +3 -0
- package/dist/reactions/reactions.d.ts +4 -0
- package/dist/reactions/reactions.type.d.ts +52 -0
- package/dist/reconnection-manager/index.d.ts +136 -0
- package/dist/recording-controller/enums.d.ts +7 -0
- package/dist/recording-controller/index.d.ts +207 -0
- package/dist/recording-controller/util.d.ts +14 -0
- package/dist/roap/index.d.ts +78 -0
- package/dist/roap/request.d.ts +41 -0
- package/dist/roap/turnDiscovery.d.ts +92 -0
- package/dist/rtcMetrics/constants.d.ts +4 -0
- package/dist/rtcMetrics/index.d.ts +54 -0
- package/dist/statsAnalyzer/global.d.ts +36 -0
- package/dist/statsAnalyzer/index.d.ts +201 -0
- package/dist/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/transcription/index.d.ts +64 -0
- package/dist/webinar/collection.d.ts +16 -0
- package/dist/webinar/index.d.ts +5 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +21 -21
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
3
|
+
*/
|
|
4
|
+
export type ReachabilityMetrics = {
|
|
5
|
+
reachability_public_udp_success: number;
|
|
6
|
+
reachability_public_udp_failed: number;
|
|
7
|
+
reachability_public_tcp_success: number;
|
|
8
|
+
reachability_public_tcp_failed: number;
|
|
9
|
+
reachability_vmn_udp_success: number;
|
|
10
|
+
reachability_vmn_udp_failed: number;
|
|
11
|
+
reachability_vmn_tcp_success: number;
|
|
12
|
+
reachability_vmn_tcp_failed: number;
|
|
13
|
+
};
|
|
14
|
+
export type TransportResult = {
|
|
15
|
+
reachable?: 'true' | 'false';
|
|
16
|
+
latencyInMilliseconds?: string;
|
|
17
|
+
clientMediaIPs?: string[];
|
|
18
|
+
untested?: 'true';
|
|
19
|
+
};
|
|
20
|
+
type ReachabilityResult = {
|
|
21
|
+
udp: TransportResult;
|
|
22
|
+
tcp: TransportResult;
|
|
23
|
+
xtls: {
|
|
24
|
+
untested: 'true';
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export type ReachabilityResults = Record<string, ReachabilityResult>;
|
|
28
|
+
type InternalReachabilityResults = Record<string, ReachabilityResult & {
|
|
29
|
+
isVideoMesh?: boolean;
|
|
30
|
+
}>;
|
|
31
|
+
export type ICECandidateResult = {
|
|
32
|
+
clusterId: string;
|
|
33
|
+
isVideoMesh: boolean;
|
|
34
|
+
elapsed?: string | null;
|
|
35
|
+
publicIPs?: string[];
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* @class Reachability
|
|
39
|
+
* @export
|
|
40
|
+
*/
|
|
41
|
+
export default class Reachability {
|
|
42
|
+
namespace: string;
|
|
43
|
+
webex: object;
|
|
44
|
+
reachabilityRequest: any;
|
|
45
|
+
clusterLatencyResults: any;
|
|
46
|
+
/**
|
|
47
|
+
* Creates an instance of Reachability.
|
|
48
|
+
* @param {object} webex
|
|
49
|
+
* @memberof Reachability
|
|
50
|
+
*/
|
|
51
|
+
constructor(webex: object);
|
|
52
|
+
/**
|
|
53
|
+
* fetches reachability data
|
|
54
|
+
* @returns {Object} reachability data
|
|
55
|
+
* @public
|
|
56
|
+
* @async
|
|
57
|
+
* @memberof Reachability
|
|
58
|
+
*/
|
|
59
|
+
gatherReachability(): Promise<InternalReachabilityResults>;
|
|
60
|
+
/**
|
|
61
|
+
* Returns statistics about last reachability results. The returned value is an object
|
|
62
|
+
* with a flat list of properties so that it can be easily sent with metrics
|
|
63
|
+
*
|
|
64
|
+
* @returns {Promise} Promise with metrics values, it never rejects/throws.
|
|
65
|
+
*/
|
|
66
|
+
getReachabilityMetrics(): Promise<ReachabilityMetrics>;
|
|
67
|
+
/**
|
|
68
|
+
* Reachability results as an object in the format that backend expects
|
|
69
|
+
*
|
|
70
|
+
* @returns {any} reachability results that need to be sent to the backend
|
|
71
|
+
*/
|
|
72
|
+
getReachabilityResults(): Promise<ReachabilityResults | undefined>;
|
|
73
|
+
/**
|
|
74
|
+
* fetches reachability data and checks for cluster reachability
|
|
75
|
+
* @returns {boolean}
|
|
76
|
+
* @public
|
|
77
|
+
* @memberof Reachability
|
|
78
|
+
*/
|
|
79
|
+
isAnyPublicClusterReachable(): Promise<boolean>;
|
|
80
|
+
/**
|
|
81
|
+
* Generate peerConnection config settings
|
|
82
|
+
* @param {object} cluster
|
|
83
|
+
* @returns {object} peerConnectionConfig
|
|
84
|
+
* @private
|
|
85
|
+
* @memberof Reachability
|
|
86
|
+
*/
|
|
87
|
+
private buildPeerConnectionConfig;
|
|
88
|
+
/**
|
|
89
|
+
* Creates an RTCPeerConnection
|
|
90
|
+
* @param {object} cluster
|
|
91
|
+
* @returns {RTCPeerConnection} peerConnection
|
|
92
|
+
* @private
|
|
93
|
+
* @memberof Reachability
|
|
94
|
+
*/
|
|
95
|
+
private createPeerConnection;
|
|
96
|
+
/**
|
|
97
|
+
* Gets total elapsed time
|
|
98
|
+
* @param {RTCPeerConnection} peerConnection
|
|
99
|
+
* @returns {Number} Milliseconds
|
|
100
|
+
* @private
|
|
101
|
+
* @memberof Reachability
|
|
102
|
+
*/
|
|
103
|
+
private getElapsedTime;
|
|
104
|
+
/**
|
|
105
|
+
* creates offer and generates localSDP
|
|
106
|
+
* @param {object} clusterList cluster List
|
|
107
|
+
* @returns {Promise} Reachability latency results
|
|
108
|
+
* @private
|
|
109
|
+
* @memberof Reachability
|
|
110
|
+
*/
|
|
111
|
+
private getLocalSDPForClusters;
|
|
112
|
+
/**
|
|
113
|
+
* Get list of all unreachable clusters
|
|
114
|
+
* @returns {array} Unreachable clusters
|
|
115
|
+
* @private
|
|
116
|
+
* @memberof Reachability
|
|
117
|
+
*/
|
|
118
|
+
private getUnreachablClusters;
|
|
119
|
+
/**
|
|
120
|
+
* Attach an event handler for the icegatheringstatechange
|
|
121
|
+
* event and measure latency.
|
|
122
|
+
* @param {RTCPeerConnection} peerConnection
|
|
123
|
+
* @returns {undefined}
|
|
124
|
+
* @private
|
|
125
|
+
* @memberof Reachability
|
|
126
|
+
*/
|
|
127
|
+
private handleIceGatheringStateChange;
|
|
128
|
+
/**
|
|
129
|
+
* Attach an event handler for the icecandidate
|
|
130
|
+
* event and measure latency.
|
|
131
|
+
* @param {RTCPeerConnection} peerConnection
|
|
132
|
+
* @returns {undefined}
|
|
133
|
+
* @private
|
|
134
|
+
* @memberof Reachability
|
|
135
|
+
*/
|
|
136
|
+
private handleOnIceCandidate;
|
|
137
|
+
/**
|
|
138
|
+
* An event handler on an RTCPeerConnection when the state of the ICE
|
|
139
|
+
* candidate gathering process changes. Used to measure connection
|
|
140
|
+
* speed.
|
|
141
|
+
* @private
|
|
142
|
+
* @param {RTCPeerConnection} peerConnection
|
|
143
|
+
* @param {boolean} isVideoMesh
|
|
144
|
+
* @returns {Promise}
|
|
145
|
+
*/
|
|
146
|
+
private iceGatheringState;
|
|
147
|
+
/**
|
|
148
|
+
* Make a log of unreachable clusters.
|
|
149
|
+
* @returns {undefined}
|
|
150
|
+
* @private
|
|
151
|
+
* @memberof Reachability
|
|
152
|
+
*/
|
|
153
|
+
private logUnreachableClusters;
|
|
154
|
+
/**
|
|
155
|
+
* Calculates time to establish connection
|
|
156
|
+
* @param {Array<ICECandidateResult>} iceResults iceResults
|
|
157
|
+
* @returns {object} reachabilityMap
|
|
158
|
+
* @protected
|
|
159
|
+
* @memberof Reachability
|
|
160
|
+
*/
|
|
161
|
+
protected parseIceResultsToInternalReachabilityResults(iceResults: Array<ICECandidateResult>): InternalReachabilityResults;
|
|
162
|
+
/**
|
|
163
|
+
* fetches reachability data
|
|
164
|
+
* @param {object} clusterList
|
|
165
|
+
* @returns {Promise<InternalReachabilityResults>} reachability check results
|
|
166
|
+
* @private
|
|
167
|
+
* @memberof Reachability
|
|
168
|
+
*/
|
|
169
|
+
private performReachabilityCheck;
|
|
170
|
+
/**
|
|
171
|
+
* Adds public IP (client media IPs)
|
|
172
|
+
* @param {RTCPeerConnection} peerConnection
|
|
173
|
+
* @param {string} publicIP
|
|
174
|
+
* @returns {void}
|
|
175
|
+
*/
|
|
176
|
+
protected addPublicIP(peerConnection: RTCPeerConnection, publicIP?: string | null): void;
|
|
177
|
+
/**
|
|
178
|
+
* Records latency and closes the peerConnection
|
|
179
|
+
* @param {RTCPeerConnection} peerConnection
|
|
180
|
+
* @param {number} elapsed Latency in milliseconds
|
|
181
|
+
* @returns {undefined}
|
|
182
|
+
* @private
|
|
183
|
+
* @memberof Reachability
|
|
184
|
+
*/
|
|
185
|
+
private setLatencyAndClose;
|
|
186
|
+
/**
|
|
187
|
+
* utility function
|
|
188
|
+
* @returns {undefined}
|
|
189
|
+
* @private
|
|
190
|
+
* @memberof Reachability
|
|
191
|
+
*/
|
|
192
|
+
private setup;
|
|
193
|
+
}
|
|
194
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { IP_VERSION } from '../constants';
|
|
2
|
+
export interface ClusterNode {
|
|
3
|
+
isVideoMesh: boolean;
|
|
4
|
+
udp: Array<string>;
|
|
5
|
+
tcp: Array<string>;
|
|
6
|
+
xtls: Array<string>;
|
|
7
|
+
}
|
|
8
|
+
export type ClusterList = {
|
|
9
|
+
[key: string]: ClusterNode;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* @class ReachabilityRequest
|
|
13
|
+
*/
|
|
14
|
+
declare class ReachabilityRequest {
|
|
15
|
+
webex: any;
|
|
16
|
+
/**
|
|
17
|
+
* Creates an instance of ReachabilityRequest.
|
|
18
|
+
* @param {object} webex
|
|
19
|
+
* @memberof ReachabilityRequest
|
|
20
|
+
*/
|
|
21
|
+
constructor(webex: object);
|
|
22
|
+
/**
|
|
23
|
+
* Gets the cluster information
|
|
24
|
+
*
|
|
25
|
+
* @param {IP_VERSION} ipVersion information about current ip network we're on
|
|
26
|
+
* @returns {Promise}
|
|
27
|
+
*/
|
|
28
|
+
getClusters: (ipVersion?: IP_VERSION) => Promise<{
|
|
29
|
+
clusters: ClusterList;
|
|
30
|
+
joinCookie: any;
|
|
31
|
+
}>;
|
|
32
|
+
/**
|
|
33
|
+
* gets remote SDP For Clusters
|
|
34
|
+
* @param {Object} localSDPList localSDPs for the cluster
|
|
35
|
+
* @returns {Object}
|
|
36
|
+
*/
|
|
37
|
+
remoteSDPForClusters: (localSDPList: object) => any;
|
|
38
|
+
}
|
|
39
|
+
export default ReachabilityRequest;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { REACTION_RELAY_TYPES } from './constants';
|
|
2
|
+
export type EmoticonData = {
|
|
3
|
+
type: string;
|
|
4
|
+
codepoints?: string;
|
|
5
|
+
shortcodes?: string;
|
|
6
|
+
};
|
|
7
|
+
export type SkinTone = EmoticonData;
|
|
8
|
+
export type Reaction = EmoticonData & {
|
|
9
|
+
tone?: SkinTone;
|
|
10
|
+
};
|
|
11
|
+
export declare enum ReactionServerType {
|
|
12
|
+
smile = "smile",
|
|
13
|
+
sad = "sad",
|
|
14
|
+
wow = "wow",
|
|
15
|
+
haha = "haha",
|
|
16
|
+
celebrate = "celebrate",
|
|
17
|
+
clap = "clap",
|
|
18
|
+
thumb_up = "thumb_up",
|
|
19
|
+
thumb_down = "thumb_down",
|
|
20
|
+
heart = "heart",
|
|
21
|
+
fire = "fire",
|
|
22
|
+
prayer = "prayer",
|
|
23
|
+
speed_up = "speed_up",
|
|
24
|
+
slow_down = "slow_down"
|
|
25
|
+
}
|
|
26
|
+
export declare enum SkinToneType {
|
|
27
|
+
normal = "normal",
|
|
28
|
+
light = "light",
|
|
29
|
+
medium_light = "medium_light",
|
|
30
|
+
medium = "medium",
|
|
31
|
+
medium_dark = "medium_dark",
|
|
32
|
+
dark = "dark"
|
|
33
|
+
}
|
|
34
|
+
export type Sender = {
|
|
35
|
+
participantId: string;
|
|
36
|
+
};
|
|
37
|
+
export type ProcessedReaction = {
|
|
38
|
+
reaction: Reaction;
|
|
39
|
+
sender: {
|
|
40
|
+
id: Sender['participantId'];
|
|
41
|
+
name: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
type RelayEventData = {
|
|
45
|
+
relayType: (typeof REACTION_RELAY_TYPES)['REACTION'];
|
|
46
|
+
reaction: Reaction;
|
|
47
|
+
sender: Sender;
|
|
48
|
+
};
|
|
49
|
+
export type RelayEvent = {
|
|
50
|
+
data: RelayEventData;
|
|
51
|
+
};
|
|
52
|
+
export {};
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
3
|
+
*/
|
|
4
|
+
import { RECONNECTION_STATE } from '../constants';
|
|
5
|
+
import Meeting from '../meeting';
|
|
6
|
+
/**
|
|
7
|
+
* @export
|
|
8
|
+
* @class ReconnectionManager
|
|
9
|
+
*/
|
|
10
|
+
export default class ReconnectionManager {
|
|
11
|
+
autoRejoinEnabled: any;
|
|
12
|
+
iceState: any;
|
|
13
|
+
maxRejoinAttempts: any;
|
|
14
|
+
meeting: any;
|
|
15
|
+
rejoinAttempts: any;
|
|
16
|
+
shareStatus: any;
|
|
17
|
+
status: any;
|
|
18
|
+
tryCount: any;
|
|
19
|
+
webex: any;
|
|
20
|
+
/**
|
|
21
|
+
* @param {Meeting} meeting
|
|
22
|
+
*/
|
|
23
|
+
constructor(meeting: Meeting);
|
|
24
|
+
/**
|
|
25
|
+
* @public
|
|
26
|
+
* @memberof ReconnectionManager
|
|
27
|
+
* @returns {void}
|
|
28
|
+
*/
|
|
29
|
+
resetReconnectionTimer(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Sets the iceState to connected and clears any disconnect timeouts and
|
|
32
|
+
* related timeout data within the iceState.
|
|
33
|
+
*
|
|
34
|
+
* @returns {undefined}
|
|
35
|
+
* @public
|
|
36
|
+
* @memberof ReconnectionManager
|
|
37
|
+
*/
|
|
38
|
+
iceReconnected(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Set the iceState to disconnected and generates a timeout that waits for the
|
|
41
|
+
* iceState to reconnect and then resolves. If the ice state is already
|
|
42
|
+
* processing a reconnect, it immediately resolves. Rejects if the timeout
|
|
43
|
+
* duration is reached.
|
|
44
|
+
*
|
|
45
|
+
* @returns {Promise<undefined>}
|
|
46
|
+
* @public
|
|
47
|
+
* @memberof ReconnectionManager
|
|
48
|
+
*/
|
|
49
|
+
waitForIceReconnect(): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* @returns {undefined}
|
|
52
|
+
* @public
|
|
53
|
+
* @memberof ReconnectionManager
|
|
54
|
+
*/
|
|
55
|
+
reset(): void;
|
|
56
|
+
/**
|
|
57
|
+
* @returns {undefined}
|
|
58
|
+
* @public
|
|
59
|
+
* @memberof ReconnectionManager
|
|
60
|
+
*/
|
|
61
|
+
cleanUp(): void;
|
|
62
|
+
/**
|
|
63
|
+
* Stop the local share stream.
|
|
64
|
+
*
|
|
65
|
+
* @param {string} reason a {@link SHARE_STOPPED_REASON}
|
|
66
|
+
* @returns {undefined}
|
|
67
|
+
* @private
|
|
68
|
+
* @memberof ReconnectionManager
|
|
69
|
+
*/
|
|
70
|
+
private stopLocalShareStream;
|
|
71
|
+
/**
|
|
72
|
+
* @public
|
|
73
|
+
* @memberof ReconnectionManager
|
|
74
|
+
* @returns {Boolean} true if reconnection operation is in progress
|
|
75
|
+
*/
|
|
76
|
+
isReconnectInProgress(): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Sets the reconnection status
|
|
79
|
+
*
|
|
80
|
+
* @public
|
|
81
|
+
* @param {RECONNECTION_STATE} status
|
|
82
|
+
* @memberof ReconnectionManager
|
|
83
|
+
* @returns {undefined}
|
|
84
|
+
*/
|
|
85
|
+
setStatus(status: RECONNECTION_STATE): void;
|
|
86
|
+
/**
|
|
87
|
+
* @returns {Boolean}
|
|
88
|
+
* @throws {ReconnectionError}
|
|
89
|
+
* @private
|
|
90
|
+
* @memberof ReconnectionManager
|
|
91
|
+
*/
|
|
92
|
+
private validate;
|
|
93
|
+
/**
|
|
94
|
+
* Initiates a media reconnect for the active meeting
|
|
95
|
+
* @param {Object} reconnectOptions
|
|
96
|
+
* @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened
|
|
97
|
+
* @param {boolean} [reconnectOptions.networkRetry=false] indicates if we are retrying the reconnect
|
|
98
|
+
* @returns {Promise}
|
|
99
|
+
* @public
|
|
100
|
+
* @memberof ReconnectionManager
|
|
101
|
+
*/
|
|
102
|
+
reconnect({ networkDisconnect, networkRetry, }?: {
|
|
103
|
+
networkDisconnect?: boolean;
|
|
104
|
+
networkRetry?: boolean;
|
|
105
|
+
}): any;
|
|
106
|
+
/**
|
|
107
|
+
* @param {Object} reconnectOptions
|
|
108
|
+
* @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened
|
|
109
|
+
* @returns {Promise}
|
|
110
|
+
* @throws {NeedsRetryError}
|
|
111
|
+
* @private
|
|
112
|
+
* @memberof ReconnectionManager
|
|
113
|
+
*/
|
|
114
|
+
private executeReconnection;
|
|
115
|
+
/**
|
|
116
|
+
* Rejoins a meeting after detecting the member was in a LEFT state
|
|
117
|
+
*
|
|
118
|
+
* @async
|
|
119
|
+
* @param {boolean} wasSharing
|
|
120
|
+
* @returns {Promise}
|
|
121
|
+
*/
|
|
122
|
+
rejoinMeeting(wasSharing?: boolean): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* @returns {Promise}
|
|
125
|
+
* @private
|
|
126
|
+
* @memberof ReconnectionManager
|
|
127
|
+
*/
|
|
128
|
+
reconnectMedia(): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* Attempt to Reconnect Mercury Websocket
|
|
131
|
+
* @returns {Promise}
|
|
132
|
+
* @private
|
|
133
|
+
* @memberof ReconnectionManager
|
|
134
|
+
*/
|
|
135
|
+
private reconnectMercuryWebSocket;
|
|
136
|
+
}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { SELF_POLICY } from '../constants';
|
|
2
|
+
import MeetingRequest from '../meeting/request';
|
|
3
|
+
/**
|
|
4
|
+
* @description Recording manages the recording functionality of the meeting object, there should only be one instantation of recording per meeting
|
|
5
|
+
* @export
|
|
6
|
+
* @private
|
|
7
|
+
* @class Recording
|
|
8
|
+
*/
|
|
9
|
+
export default class RecordingController {
|
|
10
|
+
/**
|
|
11
|
+
* @instance
|
|
12
|
+
* @type {MeetingRequest}
|
|
13
|
+
* @private
|
|
14
|
+
* @memberof RecordingController
|
|
15
|
+
*/
|
|
16
|
+
private request;
|
|
17
|
+
/**
|
|
18
|
+
* @instance
|
|
19
|
+
* @type {Array}
|
|
20
|
+
* @private
|
|
21
|
+
* @memberof RecordingInfo
|
|
22
|
+
*/
|
|
23
|
+
private displayHints;
|
|
24
|
+
/**
|
|
25
|
+
* @instance
|
|
26
|
+
* @type {Object}
|
|
27
|
+
* @private
|
|
28
|
+
* @memberof RecordingInfo
|
|
29
|
+
*/
|
|
30
|
+
private selfUserPolicies;
|
|
31
|
+
/**
|
|
32
|
+
* @instance
|
|
33
|
+
* @type {string}
|
|
34
|
+
* @private
|
|
35
|
+
* @memberof RecordingInfo
|
|
36
|
+
*/
|
|
37
|
+
private serviceUrl;
|
|
38
|
+
/**
|
|
39
|
+
* @instance
|
|
40
|
+
* @type {string}
|
|
41
|
+
* @private
|
|
42
|
+
* @memberof RecordingInfo
|
|
43
|
+
*/
|
|
44
|
+
private sessionId;
|
|
45
|
+
/**
|
|
46
|
+
* @instance
|
|
47
|
+
* @type {string}
|
|
48
|
+
* @private
|
|
49
|
+
* @memberof RecordingInfo
|
|
50
|
+
*/
|
|
51
|
+
private locusUrl;
|
|
52
|
+
/**
|
|
53
|
+
* @instance
|
|
54
|
+
* @type {string}
|
|
55
|
+
* @private
|
|
56
|
+
* @memberof RecordingInfo
|
|
57
|
+
*/
|
|
58
|
+
private locusId;
|
|
59
|
+
/**
|
|
60
|
+
* @param {MeetingRequest} request
|
|
61
|
+
* @param {Object} options
|
|
62
|
+
* @constructor
|
|
63
|
+
* @memberof RecordingController
|
|
64
|
+
*/
|
|
65
|
+
constructor(request: MeetingRequest, options?: {
|
|
66
|
+
serviceUrl?: string;
|
|
67
|
+
sessionId: string;
|
|
68
|
+
locusUrl: string;
|
|
69
|
+
displayHints?: Array<string>;
|
|
70
|
+
});
|
|
71
|
+
/**
|
|
72
|
+
* @param {MeetingRequest} request
|
|
73
|
+
* @returns {void}
|
|
74
|
+
* @private
|
|
75
|
+
* @memberof RecordingController
|
|
76
|
+
*/
|
|
77
|
+
private initialize;
|
|
78
|
+
/**
|
|
79
|
+
* @param {Object} options
|
|
80
|
+
* @returns {void}
|
|
81
|
+
* @public
|
|
82
|
+
* @memberof RecordingController
|
|
83
|
+
*/
|
|
84
|
+
set(options?: {
|
|
85
|
+
serviceUrl?: string;
|
|
86
|
+
sessionId: string;
|
|
87
|
+
locusUrl: string;
|
|
88
|
+
displayHints?: Array<string>;
|
|
89
|
+
}): void;
|
|
90
|
+
/**
|
|
91
|
+
* @param {string} url
|
|
92
|
+
* @returns {void}
|
|
93
|
+
* @public
|
|
94
|
+
* @memberof RecordingController
|
|
95
|
+
*/
|
|
96
|
+
setLocusUrl(url: string): void;
|
|
97
|
+
/**
|
|
98
|
+
* @param {Array} hints
|
|
99
|
+
* @returns {void}
|
|
100
|
+
* @public
|
|
101
|
+
* @memberof RecordingController
|
|
102
|
+
*/
|
|
103
|
+
setDisplayHints(hints: Array<string>): void;
|
|
104
|
+
/**
|
|
105
|
+
* @param {Object} selfUserPolicies
|
|
106
|
+
* @returns {void}
|
|
107
|
+
* @public
|
|
108
|
+
* @memberof RecordingController
|
|
109
|
+
*/
|
|
110
|
+
setUserPolicy(selfUserPolicies: Record<SELF_POLICY, boolean>): void;
|
|
111
|
+
/**
|
|
112
|
+
* @param {string} id
|
|
113
|
+
* @returns {void}
|
|
114
|
+
* @public
|
|
115
|
+
* @memberof RecordingController
|
|
116
|
+
*/
|
|
117
|
+
setSessionId(id: string): void;
|
|
118
|
+
/**
|
|
119
|
+
* @param {string} url
|
|
120
|
+
* @returns {void}
|
|
121
|
+
* @public
|
|
122
|
+
* @memberof RecordingController
|
|
123
|
+
*/
|
|
124
|
+
setServiceUrl(url: string): void;
|
|
125
|
+
/**
|
|
126
|
+
* @returns {string}
|
|
127
|
+
* @public
|
|
128
|
+
* @memberof RecordingController
|
|
129
|
+
*/
|
|
130
|
+
getLocusUrl(): string;
|
|
131
|
+
/**
|
|
132
|
+
* @returns {string}
|
|
133
|
+
* @public
|
|
134
|
+
* @memberof RecordingController
|
|
135
|
+
*/
|
|
136
|
+
getLocusId(): string;
|
|
137
|
+
/**
|
|
138
|
+
* @returns {string}
|
|
139
|
+
* @public
|
|
140
|
+
* @memberof RecordingController
|
|
141
|
+
*/
|
|
142
|
+
getSessionId(): string;
|
|
143
|
+
/**
|
|
144
|
+
* @returns {string}
|
|
145
|
+
* @public
|
|
146
|
+
* @memberof RecordingController
|
|
147
|
+
*/
|
|
148
|
+
getServiceUrl(): string;
|
|
149
|
+
/**
|
|
150
|
+
* @returns {Array}
|
|
151
|
+
* @public
|
|
152
|
+
* @memberof RecordingController
|
|
153
|
+
*/
|
|
154
|
+
getDisplayHints(): string[];
|
|
155
|
+
/**
|
|
156
|
+
* @param {Object} options
|
|
157
|
+
* @returns {void}
|
|
158
|
+
* @private
|
|
159
|
+
* @memberof RecordingController
|
|
160
|
+
*/
|
|
161
|
+
private extract;
|
|
162
|
+
/**
|
|
163
|
+
* @param {RecordingAction} action
|
|
164
|
+
* @private
|
|
165
|
+
* @memberof RecordingController
|
|
166
|
+
* @returns {Promise}
|
|
167
|
+
*/
|
|
168
|
+
private recordingService;
|
|
169
|
+
/**
|
|
170
|
+
* @param {RecordingAction} action
|
|
171
|
+
* @private
|
|
172
|
+
* @memberof RecordingController
|
|
173
|
+
* @returns {Promise}
|
|
174
|
+
*/
|
|
175
|
+
private recordingControls;
|
|
176
|
+
/**
|
|
177
|
+
* @param {RecordingAction} action
|
|
178
|
+
* @private
|
|
179
|
+
* @memberof RecordingController
|
|
180
|
+
* @returns {Promise}
|
|
181
|
+
*/
|
|
182
|
+
private recordingFacade;
|
|
183
|
+
/**
|
|
184
|
+
* @private
|
|
185
|
+
* @memberof RecordingController
|
|
186
|
+
* @returns {Promise}
|
|
187
|
+
*/
|
|
188
|
+
startRecording(): Promise<any>;
|
|
189
|
+
/**
|
|
190
|
+
* @private
|
|
191
|
+
* @memberof RecordingController
|
|
192
|
+
* @returns {Promise}
|
|
193
|
+
*/
|
|
194
|
+
stopRecording(): Promise<any>;
|
|
195
|
+
/**
|
|
196
|
+
* @private
|
|
197
|
+
* @memberof RecordingController
|
|
198
|
+
* @returns {Promise}
|
|
199
|
+
*/
|
|
200
|
+
pauseRecording(): Promise<any>;
|
|
201
|
+
/**
|
|
202
|
+
* @private
|
|
203
|
+
* @memberof RecordingController
|
|
204
|
+
* @returns {Promise}
|
|
205
|
+
*/
|
|
206
|
+
resumeRecording(): Promise<any>;
|
|
207
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SELF_POLICY } from '../constants';
|
|
2
|
+
import RecordingAction from './enums';
|
|
3
|
+
declare const _default: {
|
|
4
|
+
canUserStart: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
|
5
|
+
canUserPause: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
|
6
|
+
canUserResume: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
|
7
|
+
canUserStop: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
|
8
|
+
deriveRecordingStates: (action: RecordingAction) => {
|
|
9
|
+
recording: boolean;
|
|
10
|
+
paused: boolean;
|
|
11
|
+
};
|
|
12
|
+
extractLocusId: (url: string) => string;
|
|
13
|
+
};
|
|
14
|
+
export default _default;
|