@webex/plugin-meetings 3.12.0-next.8 → 3.12.0-task-refactor.1
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/index.js +5 -14
- package/dist/annotation/index.js.map +1 -1
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/config.js +2 -8
- package/dist/config.js.map +1 -1
- package/dist/constants.js +6 -29
- package/dist/constants.js.map +1 -1
- package/dist/hashTree/hashTreeParser.js +29 -1563
- package/dist/hashTree/hashTreeParser.js.map +1 -1
- package/dist/hashTree/types.js +3 -13
- package/dist/hashTree/types.js.map +1 -1
- package/dist/index.js +2 -11
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js +0 -7
- package/dist/interceptors/index.js.map +1 -1
- package/dist/interceptors/locusRouteToken.js +5 -27
- package/dist/interceptors/locusRouteToken.js.map +1 -1
- package/dist/interpretation/index.js +2 -2
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +3 -7
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +247 -642
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/selfUtils.js +0 -1
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/locus-info/types.js.map +1 -1
- package/dist/media/MediaConnectionAwaiter.js +1 -57
- package/dist/media/MediaConnectionAwaiter.js.map +1 -1
- package/dist/media/properties.js +2 -4
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +1 -7
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +1036 -1481
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +0 -50
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/util.js +3 -133
- package/dist/meeting/util.js.map +1 -1
- package/dist/meetings/index.js +59 -142
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/util.js +7 -11
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +0 -10
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +0 -10
- package/dist/member/util.js.map +1 -1
- package/dist/metrics/constants.js +1 -7
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +60 -9
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +0 -11
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +2 -116
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/reachability/clusterReachability.js +18 -171
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +11 -21
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/reachabilityPeerConnection.js +1 -1
- package/dist/reachability/reachabilityPeerConnection.js.map +1 -1
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +1 -0
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/types/common/browser-detection.d.ts +0 -1
- package/dist/types/common/events/events-scope.d.ts +0 -1
- package/dist/types/common/events/events.d.ts +0 -1
- package/dist/types/config.d.ts +0 -5
- package/dist/types/constants.d.ts +1 -24
- package/dist/types/hashTree/hashTreeParser.d.ts +11 -260
- package/dist/types/hashTree/types.d.ts +0 -20
- package/dist/types/index.d.ts +0 -1
- package/dist/types/interceptors/index.d.ts +1 -2
- package/dist/types/interceptors/locusRouteToken.d.ts +0 -2
- package/dist/types/locus-info/index.d.ts +47 -68
- package/dist/types/locus-info/types.d.ts +12 -28
- package/dist/types/media/MediaConnectionAwaiter.d.ts +1 -10
- package/dist/types/media/properties.d.ts +1 -2
- package/dist/types/meeting/in-meeting-actions.d.ts +0 -6
- package/dist/types/meeting/index.d.ts +7 -86
- package/dist/types/meeting/request.d.ts +1 -16
- package/dist/types/meeting/request.type.d.ts +0 -5
- package/dist/types/meeting/util.d.ts +0 -31
- package/dist/types/meeting-info/util.d.ts +0 -1
- package/dist/types/meeting-info/utilv2.d.ts +0 -1
- package/dist/types/meetings/index.d.ts +2 -4
- package/dist/types/member/index.d.ts +0 -1
- package/dist/types/member/types.d.ts +4 -4
- package/dist/types/member/util.d.ts +0 -5
- package/dist/types/metrics/constants.d.ts +0 -6
- package/dist/types/multistream/mediaRequestManager.d.ts +23 -0
- package/dist/types/multistream/sendSlotManager.d.ts +1 -23
- package/dist/types/reachability/clusterReachability.d.ts +3 -30
- package/dist/types/reactions/reactions.type.d.ts +0 -1
- package/dist/types/recording-controller/util.d.ts +5 -5
- package/dist/types/roap/index.d.ts +1 -1
- package/dist/webinar/index.js +163 -438
- package/dist/webinar/index.js.map +1 -1
- package/package.json +24 -26
- package/src/annotation/index.ts +7 -27
- package/src/config.ts +0 -5
- package/src/constants.ts +1 -30
- package/src/hashTree/hashTreeParser.ts +25 -1523
- package/src/hashTree/types.ts +1 -24
- package/src/index.ts +1 -8
- package/src/interceptors/index.ts +1 -2
- package/src/interceptors/locusRouteToken.ts +5 -22
- package/src/interpretation/index.ts +2 -2
- package/src/locus-info/controlsUtils.ts +0 -17
- package/src/locus-info/index.ts +213 -707
- package/src/locus-info/selfUtils.ts +0 -1
- package/src/locus-info/types.ts +12 -27
- package/src/media/MediaConnectionAwaiter.ts +1 -41
- package/src/media/properties.ts +1 -3
- package/src/meeting/in-meeting-actions.ts +0 -12
- package/src/meeting/index.ts +84 -461
- package/src/meeting/request.ts +0 -42
- package/src/meeting/request.type.ts +0 -6
- package/src/meeting/util.ts +2 -160
- package/src/meetings/index.ts +60 -180
- package/src/meetings/util.ts +9 -10
- package/src/member/index.ts +0 -10
- package/src/member/util.ts +0 -12
- package/src/metrics/constants.ts +0 -7
- package/src/multistream/mediaRequestManager.ts +54 -4
- package/src/multistream/remoteMediaManager.ts +0 -13
- package/src/multistream/sendSlotManager.ts +3 -97
- package/src/reachability/clusterReachability.ts +27 -153
- package/src/reachability/index.ts +1 -15
- package/src/reachability/reachabilityPeerConnection.ts +1 -3
- package/src/reactions/reactions.type.ts +0 -1
- package/src/reconnection-manager/index.ts +1 -0
- package/src/webinar/index.ts +6 -265
- package/test/unit/spec/annotation/index.ts +7 -69
- package/test/unit/spec/interceptors/locusRouteToken.ts +0 -44
- package/test/unit/spec/locus-info/controlsUtils.js +1 -56
- package/test/unit/spec/locus-info/index.js +90 -1457
- package/test/unit/spec/media/MediaConnectionAwaiter.ts +1 -41
- package/test/unit/spec/media/properties.ts +3 -12
- package/test/unit/spec/meeting/in-meeting-actions.ts +2 -8
- package/test/unit/spec/meeting/index.js +128 -981
- package/test/unit/spec/meeting/request.js +0 -70
- package/test/unit/spec/meeting/utils.js +26 -438
- package/test/unit/spec/meetings/index.js +33 -845
- package/test/unit/spec/meetings/utils.js +1 -51
- package/test/unit/spec/member/index.js +4 -28
- package/test/unit/spec/member/util.js +27 -65
- package/test/unit/spec/multistream/mediaRequestManager.ts +85 -2
- package/test/unit/spec/multistream/remoteMediaManager.ts +0 -30
- package/test/unit/spec/multistream/sendSlotManager.ts +36 -135
- package/test/unit/spec/reachability/clusterReachability.ts +1 -125
- package/test/unit/spec/reachability/index.ts +3 -26
- package/test/unit/spec/reconnection-manager/index.js +8 -4
- package/test/unit/spec/webinar/index.ts +37 -534
- package/dist/aiEnableRequest/index.js +0 -184
- package/dist/aiEnableRequest/index.js.map +0 -1
- package/dist/aiEnableRequest/utils.js +0 -36
- package/dist/aiEnableRequest/utils.js.map +0 -1
- package/dist/hashTree/constants.js +0 -22
- package/dist/hashTree/constants.js.map +0 -1
- package/dist/hashTree/hashTree.js +0 -533
- package/dist/hashTree/hashTree.js.map +0 -1
- package/dist/hashTree/utils.js +0 -69
- package/dist/hashTree/utils.js.map +0 -1
- package/dist/interceptors/constant.js +0 -12
- package/dist/interceptors/constant.js.map +0 -1
- package/dist/interceptors/dataChannelAuthToken.js +0 -290
- package/dist/interceptors/dataChannelAuthToken.js.map +0 -1
- package/dist/interceptors/utils.js +0 -27
- package/dist/interceptors/utils.js.map +0 -1
- package/dist/types/aiEnableRequest/index.d.ts +0 -5
- package/dist/types/aiEnableRequest/utils.d.ts +0 -2
- package/dist/types/hashTree/constants.d.ts +0 -9
- package/dist/types/hashTree/hashTree.d.ts +0 -136
- package/dist/types/hashTree/utils.d.ts +0 -22
- package/dist/types/interceptors/constant.d.ts +0 -5
- package/dist/types/interceptors/dataChannelAuthToken.d.ts +0 -43
- package/dist/types/interceptors/utils.d.ts +0 -1
- package/dist/types/webinar/utils.d.ts +0 -6
- package/dist/webinar/utils.js +0 -25
- package/dist/webinar/utils.js.map +0 -1
- package/src/aiEnableRequest/README.md +0 -84
- package/src/aiEnableRequest/index.ts +0 -170
- package/src/aiEnableRequest/utils.ts +0 -25
- package/src/hashTree/constants.ts +0 -10
- package/src/hashTree/hashTree.ts +0 -480
- package/src/hashTree/utils.ts +0 -62
- package/src/interceptors/constant.ts +0 -6
- package/src/interceptors/dataChannelAuthToken.ts +0 -170
- package/src/interceptors/utils.ts +0 -16
- package/src/webinar/utils.ts +0 -16
- package/test/unit/spec/aiEnableRequest/index.ts +0 -981
- package/test/unit/spec/aiEnableRequest/utils.ts +0 -130
- package/test/unit/spec/hashTree/hashTree.ts +0 -721
- package/test/unit/spec/hashTree/hashTreeParser.ts +0 -3670
- package/test/unit/spec/hashTree/utils.ts +0 -140
- package/test/unit/spec/interceptors/dataChannelAuthToken.ts +0 -210
- package/test/unit/spec/interceptors/utils.ts +0 -75
- package/test/unit/spec/webinar/utils.ts +0 -39
|
@@ -1,27 +1,17 @@
|
|
|
1
1
|
import { HtMeta } from '../hashTree/types';
|
|
2
|
-
export type LocusFullState = {
|
|
3
|
-
active: boolean;
|
|
4
|
-
count: number;
|
|
5
|
-
lastActive: string;
|
|
6
|
-
locked: boolean;
|
|
7
|
-
sessionId: string;
|
|
8
|
-
seessionIds: string[];
|
|
9
|
-
startTime: number;
|
|
10
|
-
state: string;
|
|
11
|
-
type: string;
|
|
12
|
-
};
|
|
13
|
-
export type Links = {
|
|
14
|
-
services: Record<'breakout' | 'record', {
|
|
15
|
-
url: string;
|
|
16
|
-
}>;
|
|
17
|
-
resources: Record<'webcastInstance' | 'visibleDataSets', {
|
|
18
|
-
url: string;
|
|
19
|
-
}>;
|
|
20
|
-
};
|
|
21
2
|
export type LocusDTO = {
|
|
22
3
|
controls?: any;
|
|
23
|
-
|
|
24
|
-
|
|
4
|
+
fullState?: {
|
|
5
|
+
active: boolean;
|
|
6
|
+
count: number;
|
|
7
|
+
lastActive: string;
|
|
8
|
+
locked: boolean;
|
|
9
|
+
sessionId: string;
|
|
10
|
+
seessionIds: string[];
|
|
11
|
+
startTime: number;
|
|
12
|
+
state: string;
|
|
13
|
+
type: string;
|
|
14
|
+
};
|
|
25
15
|
host?: {
|
|
26
16
|
id: string;
|
|
27
17
|
incomingCallProtocols: any[];
|
|
@@ -33,9 +23,8 @@ export type LocusDTO = {
|
|
|
33
23
|
info?: any;
|
|
34
24
|
jsSdkMeta?: {
|
|
35
25
|
removedParticipantIds: string[];
|
|
36
|
-
forceReplaceMembers?: boolean;
|
|
37
26
|
};
|
|
38
|
-
links?:
|
|
27
|
+
links?: any;
|
|
39
28
|
mediaShares?: any[];
|
|
40
29
|
meetings?: any[];
|
|
41
30
|
participants: any[];
|
|
@@ -54,8 +43,3 @@ export type LocusDTO = {
|
|
|
54
43
|
syncUrl?: string;
|
|
55
44
|
url?: string;
|
|
56
45
|
};
|
|
57
|
-
export type ReplacesInfo = {
|
|
58
|
-
locusUrl: string;
|
|
59
|
-
replacedAt: string;
|
|
60
|
-
sessionId: string;
|
|
61
|
-
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export interface MediaConnectionAwaiterProps {
|
|
2
2
|
webrtcMediaConnection: any;
|
|
3
|
-
correlationId: string;
|
|
4
3
|
}
|
|
5
4
|
/**
|
|
6
5
|
* @class MediaConnectionAwaiter
|
|
@@ -11,7 +10,6 @@ export default class MediaConnectionAwaiter {
|
|
|
11
10
|
private defer;
|
|
12
11
|
private retried;
|
|
13
12
|
private iceConnected;
|
|
14
|
-
private correlationId;
|
|
15
13
|
private onTimeoutCallback;
|
|
16
14
|
private peerConnectionStateCallback;
|
|
17
15
|
private iceConnectionStateCallback;
|
|
@@ -19,7 +17,7 @@ export default class MediaConnectionAwaiter {
|
|
|
19
17
|
/**
|
|
20
18
|
* @param {MediaConnectionAwaiterProps} mediaConnectionAwaiterProps
|
|
21
19
|
*/
|
|
22
|
-
constructor({ webrtcMediaConnection
|
|
20
|
+
constructor({ webrtcMediaConnection }: MediaConnectionAwaiterProps);
|
|
23
21
|
/**
|
|
24
22
|
* Returns true if the connection is connected, false otherwise.
|
|
25
23
|
*
|
|
@@ -68,13 +66,6 @@ export default class MediaConnectionAwaiter {
|
|
|
68
66
|
* @returns {void}
|
|
69
67
|
*/
|
|
70
68
|
iceGatheringStateHandler(): void;
|
|
71
|
-
/**
|
|
72
|
-
* sends a metric with some additional info that might help debugging
|
|
73
|
-
* issues where browser doesn't update the RTCPeerConnection's iceConnectionState or connectionState
|
|
74
|
-
*
|
|
75
|
-
* @returns {void}
|
|
76
|
-
*/
|
|
77
|
-
sendMetric(): Promise<void>;
|
|
78
69
|
/**
|
|
79
70
|
* Function called when the timeout is reached.
|
|
80
71
|
*
|
|
@@ -93,10 +93,9 @@ export default class MediaProperties {
|
|
|
93
93
|
/**
|
|
94
94
|
* Waits for the webrtc media connection to be connected.
|
|
95
95
|
*
|
|
96
|
-
* @param {string} correlationId
|
|
97
96
|
* @returns {Promise<void>}
|
|
98
97
|
*/
|
|
99
|
-
waitForMediaConnectionConnected(
|
|
98
|
+
waitForMediaConnectionConnected(): Promise<void>;
|
|
100
99
|
/**
|
|
101
100
|
* Returns ICE transport information:
|
|
102
101
|
* - selectedCandidatePairChanges - number of times the selected candidate pair was changed, it should be at least 1 for successful connections
|
|
@@ -28,7 +28,6 @@ interface IInMeetingActions {
|
|
|
28
28
|
canLowerAllHands?: boolean;
|
|
29
29
|
canLowerSomeoneElsesHand?: boolean;
|
|
30
30
|
bothLeaveAndEndMeetingAvailable?: boolean;
|
|
31
|
-
requireHostEndMeetingBeforeLeave?: boolean;
|
|
32
31
|
canEnableClosedCaption?: boolean;
|
|
33
32
|
canStartTranscribing?: boolean;
|
|
34
33
|
canStopTranscribing?: boolean;
|
|
@@ -113,8 +112,6 @@ interface IInMeetingActions {
|
|
|
113
112
|
canMoveToLobby?: boolean;
|
|
114
113
|
canEnablePollingQA?: boolean;
|
|
115
114
|
canDisablePollingQA?: boolean;
|
|
116
|
-
canAttendeeRequestAiAssistantEnabled?: boolean;
|
|
117
|
-
isAttendeeRequestAiAssistantDeclinedAll?: boolean;
|
|
118
115
|
}
|
|
119
116
|
/**
|
|
120
117
|
* @class InMeetingActions
|
|
@@ -143,7 +140,6 @@ export default class InMeetingActions implements IInMeetingActions {
|
|
|
143
140
|
canLowerAllHands: any;
|
|
144
141
|
canLowerSomeoneElsesHand: any;
|
|
145
142
|
bothLeaveAndEndMeetingAvailable: any;
|
|
146
|
-
requireHostEndMeetingBeforeLeave: any;
|
|
147
143
|
canEnableClosedCaption: any;
|
|
148
144
|
canStartTranscribing: any;
|
|
149
145
|
canStopTranscribing: any;
|
|
@@ -228,8 +224,6 @@ export default class InMeetingActions implements IInMeetingActions {
|
|
|
228
224
|
canMoveToLobby: any;
|
|
229
225
|
canEnablePollingQA: any;
|
|
230
226
|
canDisablePollingQA: any;
|
|
231
|
-
canAttendeeRequestAiAssistantEnabled: any;
|
|
232
|
-
isAttendeeRequestAiAssistantDeclinedAll: any;
|
|
233
227
|
/**
|
|
234
228
|
* Returns all meeting action options
|
|
235
229
|
* @returns {Object}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
3
2
|
import { ClientEvent, ClientEventLeaveReason } from '@webex/internal-plugin-metrics';
|
|
4
|
-
import
|
|
3
|
+
import { ClientEvent as RawClientEvent } from '@webex/event-dictionary-ts';
|
|
5
4
|
import { MediaType, StatsAnalyzer, NetworkQualityMonitor, StatsMonitor } from '@webex/internal-media-core';
|
|
6
|
-
import { DataChannelTokenType } from '@webex/internal-plugin-llm';
|
|
7
5
|
import { LocalStream, LocalCameraStream, LocalDisplayStream, LocalSystemAudioStream, LocalMicrophoneStream } from '@webex/media-helpers';
|
|
8
6
|
import Roap, { type TurnDiscoverySkipReason } from '../roap/index';
|
|
9
7
|
import { type TurnServerInfo } from '../roap/types';
|
|
@@ -24,7 +22,7 @@ import { LocusMediaRequest } from './locusMediaRequest';
|
|
|
24
22
|
import { BrbState } from './brbState';
|
|
25
23
|
import { SetStageOptions } from './request.type';
|
|
26
24
|
import { Invitee } from './type';
|
|
27
|
-
import { DataSet
|
|
25
|
+
import { DataSet } from '../hashTree/hashTreeParser';
|
|
28
26
|
import { LocusDTO } from '../locus-info/types';
|
|
29
27
|
export type CaptionData = {
|
|
30
28
|
id: string;
|
|
@@ -71,7 +69,6 @@ export type AddMediaOptions = {
|
|
|
71
69
|
remoteMediaManagerConfig?: RemoteMediaManagerConfiguration;
|
|
72
70
|
bundlePolicy?: BundlePolicy;
|
|
73
71
|
allowMediaInLobby?: boolean;
|
|
74
|
-
allowPublishMediaInLobby?: boolean;
|
|
75
72
|
additionalMediaOptions?: AdditionalMediaOptions;
|
|
76
73
|
};
|
|
77
74
|
export type AdditionalMediaOptions = {
|
|
@@ -348,16 +345,6 @@ type FetchMeetingInfoParams = {
|
|
|
348
345
|
* @property {number} networkQualityScore - {1|0} 1 indicates acceptable uplink 0 indicates unacceptable uplink based on threshold
|
|
349
346
|
* @memberof Meeting
|
|
350
347
|
*/
|
|
351
|
-
/**
|
|
352
|
-
* Stores an event so all events can be later retrieved via a console command for debugging.
|
|
353
|
-
* @param {string} type
|
|
354
|
-
* @param {Object} data
|
|
355
|
-
* @returns {void}
|
|
356
|
-
*/
|
|
357
|
-
export declare function storeEventForDebugging(type: string, data: {
|
|
358
|
-
eventType: any;
|
|
359
|
-
stateElementsMessage?: HashTreeMessage;
|
|
360
|
-
}): void;
|
|
361
348
|
/**
|
|
362
349
|
* @description Meeting is the crux of the plugin
|
|
363
350
|
* @export
|
|
@@ -370,7 +357,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
370
357
|
breakouts: any;
|
|
371
358
|
simultaneousInterpretation: any;
|
|
372
359
|
annotation: any;
|
|
373
|
-
aiEnableRequest: any;
|
|
374
360
|
webinar: any;
|
|
375
361
|
conversationUrl: string;
|
|
376
362
|
callStateForMetrics: CallStateForMetrics;
|
|
@@ -418,10 +404,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
418
404
|
keepAliveTimerId: NodeJS.Timeout;
|
|
419
405
|
lastVideoLayoutInfo: any;
|
|
420
406
|
locusInfo: any;
|
|
421
|
-
isUserUnadmitted?: boolean;
|
|
422
|
-
joinedWith?: any;
|
|
423
|
-
selfId?: string;
|
|
424
|
-
roles: any[];
|
|
425
407
|
locusMediaRequest?: LocusMediaRequest;
|
|
426
408
|
mediaProperties: MediaProperties;
|
|
427
409
|
mediaRequestManagers: {
|
|
@@ -455,6 +437,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
455
437
|
endCallInitJoinReq: any;
|
|
456
438
|
endJoinReqResp: any;
|
|
457
439
|
endLocalSDPGenRemoteSDPRecvDelay: any;
|
|
440
|
+
joinedWith: any;
|
|
458
441
|
locusId: any;
|
|
459
442
|
startCallInitJoinReq: any;
|
|
460
443
|
startJoinReqResp: any;
|
|
@@ -469,11 +452,12 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
469
452
|
permissionTokenReceivedLocalTime: number;
|
|
470
453
|
resourceId: any;
|
|
471
454
|
resourceUrl: string;
|
|
455
|
+
selfId: string;
|
|
472
456
|
state: any;
|
|
473
457
|
localAudioStreamMuteStateHandler: () => void;
|
|
474
458
|
localVideoStreamMuteStateHandler: () => void;
|
|
475
459
|
localOutputTrackChangeHandler: () => void;
|
|
476
|
-
|
|
460
|
+
roles: any[];
|
|
477
461
|
environment: string;
|
|
478
462
|
namespace: string;
|
|
479
463
|
allowMediaInLobby: boolean;
|
|
@@ -505,7 +489,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
505
489
|
private uploadLogsTimer?;
|
|
506
490
|
private logUploadIntervalIndex;
|
|
507
491
|
private mediaServerIp;
|
|
508
|
-
private llmHealthCheckTimer?;
|
|
509
492
|
/**
|
|
510
493
|
* @param {Object} attrs
|
|
511
494
|
* @param {Object} options
|
|
@@ -1075,7 +1058,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1075
1058
|
host: object;
|
|
1076
1059
|
selfId: string;
|
|
1077
1060
|
dataSets: DataSet[];
|
|
1078
|
-
metadata: Metadata;
|
|
1079
1061
|
}): void;
|
|
1080
1062
|
/**
|
|
1081
1063
|
* Upload logs for the current meeting
|
|
@@ -1318,11 +1300,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1318
1300
|
* @returns{void}
|
|
1319
1301
|
*/
|
|
1320
1302
|
private triggerStopReceivingTranscriptionEvent;
|
|
1321
|
-
/**
|
|
1322
|
-
* Restores LLM subchannel subscriptions after reconnect when captions are active.
|
|
1323
|
-
* @returns {void}
|
|
1324
|
-
*/
|
|
1325
|
-
private restoreLLMSubscriptionsIfNeeded;
|
|
1326
1303
|
/**
|
|
1327
1304
|
* This is a callback for the LLM event that is triggered when it comes online
|
|
1328
1305
|
* This method in turn will trigger an event to the developers that the LLM is connected
|
|
@@ -1344,48 +1321,10 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1344
1321
|
* Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
|
|
1345
1322
|
*/
|
|
1346
1323
|
join(options?: any): Promise<any>;
|
|
1347
|
-
/** starts a timer that after a few minutes checks if
|
|
1348
|
-
* the LLM connection is connected, if not it sends a metric
|
|
1349
|
-
* @private
|
|
1350
|
-
* @returns {void}
|
|
1351
|
-
*/
|
|
1352
|
-
private startLLMHealthCheckTimer;
|
|
1353
|
-
/**
|
|
1354
|
-
* Clears the LLM health check timer
|
|
1355
|
-
* @private
|
|
1356
|
-
* @returns {void}
|
|
1357
|
-
*/
|
|
1358
|
-
private clearLLMHealthCheckTimer;
|
|
1359
|
-
/**
|
|
1360
|
-
* Disconnects and cleans up the default LLM session listeners/timers.
|
|
1361
|
-
* @param {Object} options
|
|
1362
|
-
* @param {boolean} [options.removeOnlineListener=true] removes the one-time online listener
|
|
1363
|
-
* @param {boolean} [options.throwOnError=true] rethrows disconnect errors when true
|
|
1364
|
-
* @returns {Promise<void>}
|
|
1365
|
-
*/
|
|
1366
|
-
private cleanupLLMConneciton;
|
|
1367
|
-
/**
|
|
1368
|
-
* Clears all data channel tokens stored in LLM.
|
|
1369
|
-
* Called during meeting cleanup to ensure stale tokens are not reused.
|
|
1370
|
-
* @returns {void}
|
|
1371
|
-
*/
|
|
1372
|
-
clearDataChannelToken(): void;
|
|
1373
|
-
/**
|
|
1374
|
-
* Saves the data channel tokens from the join response into LLM so that
|
|
1375
|
-
* updateLLMConnection / updatePSDataChannel don't need to fetch them from locusInfo.
|
|
1376
|
-
* @param {Object} join - The parsed join response (from MeetingUtil.parseLocusJoin)
|
|
1377
|
-
* @returns {void}
|
|
1378
|
-
*/
|
|
1379
|
-
saveDataChannelToken(join: any): void;
|
|
1380
|
-
/**
|
|
1381
|
-
* Ensures default-session data channel token exists after lobby admission.
|
|
1382
|
-
* Some lobby users do not receive a token until they are admitted.
|
|
1383
|
-
* @returns {Promise<boolean>} true when a new token is fetched and cached
|
|
1384
|
-
*/
|
|
1385
|
-
private ensureDefaultDatachannelTokenAfterAdmit;
|
|
1386
1324
|
/**
|
|
1387
1325
|
* Connects to low latency mercury and reconnects if the address has changed
|
|
1388
1326
|
* It will also disconnect if called when the meeting has ended
|
|
1327
|
+
* @param {String} datachannelUrl
|
|
1389
1328
|
* @returns {Promise}
|
|
1390
1329
|
*/
|
|
1391
1330
|
updateLLMConnection(): Promise<any>;
|
|
@@ -1956,7 +1895,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1956
1895
|
* @public
|
|
1957
1896
|
* @memberof Meeting
|
|
1958
1897
|
*/
|
|
1959
|
-
clearMeetingData: () =>
|
|
1898
|
+
clearMeetingData: () => void;
|
|
1960
1899
|
/**
|
|
1961
1900
|
* starts keepAlives being sent
|
|
1962
1901
|
* @returns {void}
|
|
@@ -2134,23 +2073,5 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
2134
2073
|
* @memberof Meetings
|
|
2135
2074
|
*/
|
|
2136
2075
|
cancelSipCallOut(participantId: string): Promise<any>;
|
|
2137
|
-
/**
|
|
2138
|
-
* Method to get new data
|
|
2139
|
-
* @returns {Promise}
|
|
2140
|
-
*/
|
|
2141
|
-
refreshDataChannelToken(): Promise<{
|
|
2142
|
-
body: {
|
|
2143
|
-
datachannelToken: any;
|
|
2144
|
-
dataChannelTokenType: DataChannelTokenType;
|
|
2145
|
-
};
|
|
2146
|
-
}>;
|
|
2147
|
-
/**
|
|
2148
|
-
* Determines the current data channel token type based on the meeting state.
|
|
2149
|
-
*
|
|
2150
|
-
* variant should be used when connecting to the LLM data channel.
|
|
2151
|
-
*
|
|
2152
|
-
* @returns {DataChannelTokenType} The token type representing the current session mode.
|
|
2153
|
-
*/
|
|
2154
|
-
getDataChannelTokenType(): DataChannelTokenType;
|
|
2155
2076
|
}
|
|
2156
2077
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
2
|
-
import { SendReactionOptions, BrbOptions, ToggleReactionsOptions, PostMeetingDataConsentOptions, SynchronizeVideoLayout
|
|
2
|
+
import { SendReactionOptions, BrbOptions, ToggleReactionsOptions, PostMeetingDataConsentOptions, SynchronizeVideoLayout } from './request.type';
|
|
3
3
|
import { AnnotationInfo } from '../annotation/annotation.types';
|
|
4
4
|
import { ClientMediaPreferences } from '../reachability/reachability.types';
|
|
5
5
|
/**
|
|
@@ -364,19 +364,4 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
364
364
|
* @returns {Promise} The API response
|
|
365
365
|
*/
|
|
366
366
|
cancelSipCallOut(participantId: any): Promise<any>;
|
|
367
|
-
/**
|
|
368
|
-
* Sends a request to retrieve the datachannel authorization token for a participant.
|
|
369
|
-
*
|
|
370
|
-
* For regular meeting data channel:
|
|
371
|
-
* GET /locus/api/v1/loci/{uuid:lid}/participant/{uuid:pid}/datachannel/token
|
|
372
|
-
*
|
|
373
|
-
* For practice session data channel:
|
|
374
|
-
* GET /locus/api/v1/loci/{uuid:lid}/participant/{uuid:pid}/practiceSession/datachannel/token
|
|
375
|
-
*
|
|
376
|
-
* @param {string} locusUrl - The locus url.
|
|
377
|
-
* @param {string} requestingParticipantId - The participant UUID.
|
|
378
|
-
* @param {boolean} [isPracticeSession=false] - Whether to get the practice session token.
|
|
379
|
-
* @returns {Promise<{datachannelToken: string}>}
|
|
380
|
-
*/
|
|
381
|
-
fetchDatachannelToken({ locusUrl, requestingParticipantId, isPracticeSession, }: fetchDataChannelTokenOptions): Promise<any>;
|
|
382
367
|
}
|
|
@@ -94,9 +94,4 @@ export type SetStageVideoLayout = {
|
|
|
94
94
|
export type UnsetStageVideoLayout = {
|
|
95
95
|
overrideDefault: false;
|
|
96
96
|
};
|
|
97
|
-
export type fetchDataChannelTokenOptions = {
|
|
98
|
-
locusUrl: string;
|
|
99
|
-
requestingParticipantId: string;
|
|
100
|
-
isPracticeSession: boolean;
|
|
101
|
-
};
|
|
102
97
|
export type SynchronizeVideoLayout = SetStageVideoLayout | UnsetStageVideoLayout;
|
|
@@ -2,34 +2,6 @@ import { LocalCameraStream, LocalMicrophoneStream } from '@webex/media-helpers';
|
|
|
2
2
|
import { SELF_POLICY, IP_VERSION } from '../constants';
|
|
3
3
|
declare const MeetingUtil: {
|
|
4
4
|
parseLocusJoin: (response: any) => any;
|
|
5
|
-
/**
|
|
6
|
-
* Sanitizes a WebSocket URL by extracting only protocol, host, and pathname
|
|
7
|
-
* Returns concatenated protocol + host + pathname for safe logging
|
|
8
|
-
* Note: This is used for logging only; URL matching uses partial matching via _urlsPartiallyMatch
|
|
9
|
-
* @param {string} urlString - The URL to sanitize
|
|
10
|
-
* @returns {string} Sanitized URL or empty string if parsing fails
|
|
11
|
-
*/
|
|
12
|
-
sanitizeWebSocketUrl: (urlString: string) => string;
|
|
13
|
-
/**
|
|
14
|
-
* Checks if two URLs partially match using an endsWith approach
|
|
15
|
-
* Combines host and pathname, then checks if one ends with the other
|
|
16
|
-
* This handles cases where one URL goes through a proxy (e.g., /webproxy/) while the other is direct
|
|
17
|
-
* @param {string} url1 - First URL to compare
|
|
18
|
-
* @param {string} url2 - Second URL to compare
|
|
19
|
-
* @returns {boolean} True if one URL path ends with the other (partial match), false otherwise
|
|
20
|
-
*/
|
|
21
|
-
_urlsPartiallyMatch: (url1: string, url2: string) => boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Gets socket URL information for metrics, including whether the socket URLs match
|
|
24
|
-
* Uses partial matching to handle proxy URLs (e.g., URLs with /webproxy/ prefix)
|
|
25
|
-
* @param {Object} webex - The webex instance
|
|
26
|
-
* @returns {Object} Object with hasMismatchedSocket, mercurySocketUrl, and deviceSocketUrl properties
|
|
27
|
-
*/
|
|
28
|
-
getSocketUrlInfo: (webex: any) => {
|
|
29
|
-
hasMismatchedSocket: boolean;
|
|
30
|
-
mercurySocketUrl: string;
|
|
31
|
-
deviceSocketUrl: string;
|
|
32
|
-
};
|
|
33
5
|
remoteUpdateAudioVideo: (meeting: any, audioMuted?: boolean, videoMuted?: boolean) => any;
|
|
34
6
|
hasOwner: (info: any) => any;
|
|
35
7
|
isOwnerSelf: (owner: any, selfId: any) => boolean;
|
|
@@ -87,7 +59,6 @@ declare const MeetingUtil: {
|
|
|
87
59
|
canUserLowerAllHands: (displayHints: any) => any;
|
|
88
60
|
canUserLowerSomeoneElsesHand: (displayHints: any) => any;
|
|
89
61
|
bothLeaveAndEndMeetingAvailable: (displayHints: any) => any;
|
|
90
|
-
requireHostEndMeetingBeforeLeave: (displayHints: any) => any;
|
|
91
62
|
canManageBreakout: (displayHints: any) => any;
|
|
92
63
|
canStartBreakout: (displayHints: any) => boolean;
|
|
93
64
|
canBroadcastMessageToBreakout: (displayHints: any, policies?: {}) => boolean;
|
|
@@ -144,8 +115,6 @@ declare const MeetingUtil: {
|
|
|
144
115
|
updateLocusFromApiResponse: (meeting: any, response: any) => any;
|
|
145
116
|
generateBuildLocusDeltaRequestOptions: (originalMeeting: any) => (originalOptions: any) => any;
|
|
146
117
|
generateLocusDeltaRequest: (originalMeeting: any) => (originalOptions: any) => any;
|
|
147
|
-
canAttendeeRequestAiAssistantEnabled: (displayHints?: any[], roles?: any[]) => boolean;
|
|
148
|
-
attendeeRequestAiAssistantDeclinedAll: (displayHints?: any[]) => boolean;
|
|
149
118
|
selfSupportsFeature: (feature: SELF_POLICY, userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
|
150
119
|
parseInterpretationInfo: (meeting: any, meetingInfo: any) => void;
|
|
151
120
|
/**
|
|
@@ -95,8 +95,6 @@ export default class Meetings extends WebexPlugin {
|
|
|
95
95
|
preferredWebexSite: any;
|
|
96
96
|
reachability: Reachability;
|
|
97
97
|
registered: any;
|
|
98
|
-
registrationPromise: Promise<void>;
|
|
99
|
-
unregistrationPromise: Promise<void>;
|
|
100
98
|
request: any;
|
|
101
99
|
geoHintInfo: any;
|
|
102
100
|
meetingInfo: any;
|
|
@@ -152,7 +150,7 @@ export default class Meetings extends WebexPlugin {
|
|
|
152
150
|
*/
|
|
153
151
|
private handleLocusEvent;
|
|
154
152
|
/**
|
|
155
|
-
* handles locus events through mercury that are not roap
|
|
153
|
+
* handles locus events through mercury that are not roap
|
|
156
154
|
* @param {Object} envelope
|
|
157
155
|
* @param {Object} envelope.data
|
|
158
156
|
* @param {String} envelope.data.eventType
|
|
@@ -289,7 +287,7 @@ export default class Meetings extends WebexPlugin {
|
|
|
289
287
|
* @public
|
|
290
288
|
* @memberof Meetings
|
|
291
289
|
*/
|
|
292
|
-
unregister():
|
|
290
|
+
unregister(): any;
|
|
293
291
|
/**
|
|
294
292
|
* Creates a noise reduction effect
|
|
295
293
|
*
|
|
@@ -13,10 +13,10 @@ export type ServerRoleShape = {
|
|
|
13
13
|
hasRole: boolean;
|
|
14
14
|
};
|
|
15
15
|
export declare enum MediaStatus {
|
|
16
|
-
RECVONLY = "RECVONLY"
|
|
17
|
-
SENDONLY = "SENDONLY"
|
|
18
|
-
SENDRECV = "SENDRECV"
|
|
19
|
-
INACTIVE = "INACTIVE"
|
|
16
|
+
RECVONLY = "RECVONLY",// participant only receiving and not sending
|
|
17
|
+
SENDONLY = "SENDONLY",// participant only sending and not receiving
|
|
18
|
+
SENDRECV = "SENDRECV",// participant both sending and receiving
|
|
19
|
+
INACTIVE = "INACTIVE",// participant is not connected to media source
|
|
20
20
|
UNKNOWN = "UNKNOWN"
|
|
21
21
|
}
|
|
22
22
|
export interface IMediaStatus {
|
|
@@ -5,11 +5,6 @@ declare const MemberUtil: {
|
|
|
5
5
|
* @returns {Boolean}
|
|
6
6
|
*/
|
|
7
7
|
canReclaimHost: (participant: any) => any;
|
|
8
|
-
/**
|
|
9
|
-
* @param {Object} participant - The locus participant object.
|
|
10
|
-
* @returns {Boolean}
|
|
11
|
-
*/
|
|
12
|
-
canApproveAIEnablement: (participant: any) => boolean;
|
|
13
8
|
/**
|
|
14
9
|
* @param {Object} participant - The locus participant object.
|
|
15
10
|
* @returns {[ServerRoleShape]}
|
|
@@ -19,7 +19,6 @@ declare const BEHAVIORAL_METRICS: {
|
|
|
19
19
|
GET_DISPLAY_MEDIA_FAILURE: string;
|
|
20
20
|
JOIN_WITH_MEDIA_FAILURE: string;
|
|
21
21
|
LLM_CONNECTION_AFTER_JOIN_FAILURE: string;
|
|
22
|
-
LLM_HEALTHCHECK_FAILURE: string;
|
|
23
22
|
RECEIVE_TRANSCRIPTION_AFTER_JOIN_FAILURE: string;
|
|
24
23
|
DISCONNECT_DUE_TO_INACTIVITY: string;
|
|
25
24
|
MEETING_MEDIA_INACTIVE: string;
|
|
@@ -87,10 +86,5 @@ declare const BEHAVIORAL_METRICS: {
|
|
|
87
86
|
MEDIA_ISSUE_DETECTED: string;
|
|
88
87
|
LOCUS_CLASSIC_VS_HASH_TREE_MISMATCH: string;
|
|
89
88
|
LOCUS_HASH_TREE_UNSUPPORTED_OPERATION: string;
|
|
90
|
-
MEDIA_STILL_NOT_CONNECTED: string;
|
|
91
|
-
DEPRECATED_SET_CODEC_PARAMETERS_USED: string;
|
|
92
|
-
DEPRECATED_DELETE_CODEC_PARAMETERS_USED: string;
|
|
93
|
-
SET_CUSTOM_CODEC_PARAMETERS_USED: string;
|
|
94
|
-
MARK_CUSTOM_CODEC_PARAMETERS_FOR_DELETION_USED: string;
|
|
95
89
|
};
|
|
96
90
|
export { BEHAVIORAL_METRICS as default };
|
|
@@ -50,12 +50,29 @@ export declare class MediaRequestManager {
|
|
|
50
50
|
private degradationPreferences;
|
|
51
51
|
private sourceUpdateListener;
|
|
52
52
|
private debouncedSourceUpdateListener;
|
|
53
|
+
private previousStreamRequests;
|
|
53
54
|
private trimRequestsToNumOfSources;
|
|
54
55
|
private numTotalSources;
|
|
55
56
|
private numLiveSources;
|
|
56
57
|
constructor(sendMediaRequestsCallback: SendMediaRequestsCallback, options: Options);
|
|
57
58
|
setDegradationPreferences(degradationPreferences: DegradationPreferences): void;
|
|
58
59
|
private getDegradedClientRequests;
|
|
60
|
+
/**
|
|
61
|
+
* Returns true if two stream requests are the same, false otherwise.
|
|
62
|
+
*
|
|
63
|
+
* @param {StreamRequest} streamRequestA - Stream request A for comparison.
|
|
64
|
+
* @param {StreamRequest} streamRequestB - Stream request B for comparison.
|
|
65
|
+
* @returns {boolean} - Whether they are equal.
|
|
66
|
+
*/
|
|
67
|
+
isEqual(streamRequestA: StreamRequest, streamRequestB: StreamRequest): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Compares new stream requests to previous ones and determines
|
|
70
|
+
* if they are the same.
|
|
71
|
+
*
|
|
72
|
+
* @param {StreamRequest[]} newRequests - Array with new requests.
|
|
73
|
+
* @returns {boolean} - True if they are equal, false otherwise.
|
|
74
|
+
*/
|
|
75
|
+
private checkIsNewRequestsEqualToPrev;
|
|
59
76
|
/**
|
|
60
77
|
* Returns the maxPayloadBitsPerSecond per Stream
|
|
61
78
|
*
|
|
@@ -77,6 +94,12 @@ export declare class MediaRequestManager {
|
|
|
77
94
|
* @returns {number} maxMbps
|
|
78
95
|
*/
|
|
79
96
|
private getH264MaxMbps;
|
|
97
|
+
/**
|
|
98
|
+
* Clears the previous stream requests.
|
|
99
|
+
*
|
|
100
|
+
* @returns {void}
|
|
101
|
+
*/
|
|
102
|
+
clearPreviousRequests(): void;
|
|
80
103
|
/** Modifies the passed in clientRequests and makes sure that in total they don't ask
|
|
81
104
|
* for more streams than there are available.
|
|
82
105
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SendSlot, MediaType, LocalStream, MultistreamRoapMediaConnection, NamedMediaGroup, StreamState
|
|
1
|
+
import { SendSlot, MediaType, LocalStream, MultistreamRoapMediaConnection, NamedMediaGroup, StreamState } from '@webex/internal-media-core';
|
|
2
2
|
/**
|
|
3
3
|
* This class is used to manage the sendSlots for the given media types.
|
|
4
4
|
*/
|
|
@@ -69,8 +69,6 @@ export default class SendSlotManager {
|
|
|
69
69
|
*/
|
|
70
70
|
setActive(mediaType: MediaType, active?: boolean): void;
|
|
71
71
|
/**
|
|
72
|
-
* @deprecated Use {@link setCustomCodecParameters} instead, which requires specifying the codec MIME type.
|
|
73
|
-
*
|
|
74
72
|
* This method is used to set the codec parameters for the sendSlot of the given mediaType
|
|
75
73
|
* @param {MediaType} mediaType MediaType of the sendSlot for which the codec parameters needs to be set (AUDIO_MAIN/VIDEO_MAIN/AUDIO_SLIDES/VIDEO_SLIDES)
|
|
76
74
|
* @param {Object} codecParameters
|
|
@@ -80,32 +78,12 @@ export default class SendSlotManager {
|
|
|
80
78
|
[key: string]: string | undefined;
|
|
81
79
|
}): Promise<void>;
|
|
82
80
|
/**
|
|
83
|
-
* @deprecated Use {@link markCustomCodecParametersForDeletion} instead, which requires specifying the codec MIME type.
|
|
84
|
-
*
|
|
85
81
|
* This method is used to delete the codec parameters for the sendSlot of the given mediaType
|
|
86
82
|
* @param {MediaType} mediaType MediaType of the sendSlot for which the codec parameters needs to be deleted (AUDIO_MAIN/VIDEO_MAIN/AUDIO_SLIDES/VIDEO_SLIDES)
|
|
87
83
|
* @param {Array<String>} parameters Array of keys of the codec parameters to be deleted
|
|
88
84
|
* @returns {Promise<void>}
|
|
89
85
|
*/
|
|
90
86
|
deleteCodecParameters(mediaType: MediaType, parameters: string[]): Promise<void>;
|
|
91
|
-
/**
|
|
92
|
-
* Sets custom codec parameters for the sendSlot of the given mediaType, scoped to a specific codec MIME type.
|
|
93
|
-
* Delegates to WCME's setCustomCodecParameters API.
|
|
94
|
-
* @param {MediaType} mediaType MediaType of the sendSlot
|
|
95
|
-
* @param {MediaCodecMimeType} codecMimeType The codec MIME type to apply parameters to (e.g. OPUS, H264, AV1)
|
|
96
|
-
* @param {CodecParameters} parameters Key-value pairs of codec parameters to set
|
|
97
|
-
* @returns {Promise<void>}
|
|
98
|
-
*/
|
|
99
|
-
setCustomCodecParameters(mediaType: MediaType, codecMimeType: MediaCodecMimeType, parameters: CodecParameters): Promise<void>;
|
|
100
|
-
/**
|
|
101
|
-
* Marks custom codec parameters for deletion on the sendSlot of the given mediaType, scoped to a specific codec MIME type.
|
|
102
|
-
* Delegates to WCME's markCustomCodecParametersForDeletion API.
|
|
103
|
-
* @param {MediaType} mediaType MediaType of the sendSlot
|
|
104
|
-
* @param {MediaCodecMimeType} codecMimeType The codec MIME type whose parameters should be deleted (e.g. OPUS, H264, AV1)
|
|
105
|
-
* @param {string[]} parameters Array of parameter keys to delete
|
|
106
|
-
* @returns {Promise<void>}
|
|
107
|
-
*/
|
|
108
|
-
markCustomCodecParametersForDeletion(mediaType: MediaType, codecMimeType: MediaCodecMimeType, parameters: string[]): Promise<void>;
|
|
109
87
|
/**
|
|
110
88
|
* This method is used to reset the SendSlotsManager by deleting all the sendSlots
|
|
111
89
|
* @returns {undefined}
|
|
@@ -23,53 +23,26 @@ export declare const Events: {
|
|
|
23
23
|
export type Events = Enum<typeof Events>;
|
|
24
24
|
/**
|
|
25
25
|
* A class that handles reachability checks for a single cluster.
|
|
26
|
-
* Creates and orchestrates ReachabilityPeerConnection instance
|
|
26
|
+
* Creates and orchestrates a ReachabilityPeerConnection instance.
|
|
27
27
|
* Listens to events and emits them to consumers.
|
|
28
|
-
*
|
|
29
|
-
* When enablePerUdpUrlReachability is true:
|
|
30
|
-
* - Creates one ReachabilityPeerConnection for each UDP URL
|
|
31
|
-
* - Creates one ReachabilityPeerConnection for all TCP and TLS URLs together
|
|
32
|
-
* Otherwise:
|
|
33
|
-
* - Creates a single ReachabilityPeerConnection for all URLs
|
|
34
28
|
*/
|
|
35
29
|
export declare class ClusterReachability extends EventsScope {
|
|
36
30
|
private reachabilityPeerConnection;
|
|
37
|
-
private reachabilityPeerConnectionsForUdp;
|
|
38
31
|
readonly isVideoMesh: boolean;
|
|
39
32
|
readonly name: any;
|
|
40
33
|
readonly reachedSubnets: Set<string>;
|
|
41
|
-
private enablePerUdpUrlReachability;
|
|
42
|
-
private udpResultEmitted;
|
|
43
34
|
/**
|
|
44
35
|
* Constructor for ClusterReachability
|
|
45
36
|
* @param {string} name cluster name
|
|
46
37
|
* @param {ClusterNode} clusterInfo information about the media cluster
|
|
47
|
-
* @param {boolean} enablePerUdpUrlReachability whether to create separate peer connections per UDP URL
|
|
48
38
|
*/
|
|
49
|
-
constructor(name: string, clusterInfo: ClusterNode
|
|
39
|
+
constructor(name: string, clusterInfo: ClusterNode);
|
|
50
40
|
/**
|
|
51
|
-
*
|
|
52
|
-
* @param {ClusterNode} clusterInfo information about the media cluster
|
|
53
|
-
* @returns {void}
|
|
54
|
-
*/
|
|
55
|
-
private initializeSingleReachabilityPeerConnection;
|
|
56
|
-
/**
|
|
57
|
-
* Initializes per-URL UDP reachability checks:
|
|
58
|
-
* - One ReachabilityPeerConnection per UDP URL
|
|
59
|
-
* - One ReachabilityPeerConnection for all TCP and TLS URLs together
|
|
60
|
-
* @param {ClusterNode} clusterInfo information about the media cluster
|
|
61
|
-
* @returns {void}
|
|
62
|
-
*/
|
|
63
|
-
private initializePerUdpUrlReachabilityCheck;
|
|
64
|
-
/**
|
|
65
|
-
* Sets up event listeners for a ReachabilityPeerConnection instance
|
|
66
|
-
* @param {ReachabilityPeerConnection} rpc the ReachabilityPeerConnection instance
|
|
67
|
-
* @param {boolean} isUdpPerUrl whether this is a per-URL UDP instance
|
|
41
|
+
* Sets up event listeners for the ReachabilityPeerConnection instance
|
|
68
42
|
* @returns {void}
|
|
69
43
|
*/
|
|
70
44
|
private setupReachabilityPeerConnectionEventListeners;
|
|
71
45
|
/**
|
|
72
|
-
* Gets the aggregated reachability result for this cluster.
|
|
73
46
|
* @returns {ClusterReachabilityResult} reachability result for this cluster
|
|
74
47
|
*/
|
|
75
48
|
getResult(): ClusterReachabilityResult;
|