@livedigital/client 3.16.0-new-peer-id.2 → 3.16.0
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/EnhancedEventEmitter.d.ts +3 -16
- package/dist/constants/common.d.ts +1 -1
- package/dist/constants/common.ts +1 -1
- package/dist/constants/events.d.ts +69 -75
- package/dist/constants/events.ts +8 -15
- package/dist/engine/DefaultEngineDependenciesFactory.d.ts +0 -2
- package/dist/engine/Peer.d.ts +2 -29
- package/dist/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyCheckResult.d.ts +0 -2
- package/dist/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyChecker.d.ts +0 -2
- package/dist/engine/handlers/ChannelStateSyncEventHandler/consts.d.ts +4 -0
- package/dist/engine/handlers/ChannelStateSyncEventHandler/index.d.ts +7 -7
- package/dist/engine/handlers/ChannelStateSyncEventHandler/types.d.ts +5 -0
- package/dist/engine/index.d.ts +7 -13
- package/dist/engine/media/tracks/DefaultBaseTrack.d.ts +1 -2
- package/dist/engine/media/tracks/PeerTrack.d.ts +1 -12
- package/dist/engine/network/Socket.d.ts +0 -1
- package/dist/engine/network/index.d.ts +4 -10
- package/dist/index.d.ts +4 -6
- package/dist/index.es.js +2 -2
- package/dist/index.js +2 -2
- package/dist/types/channelStateSyncronizer.d.ts +0 -1
- package/dist/types/common.d.ts +3 -13
- package/dist/types/engine.d.ts +6 -40
- package/dist/types/media.d.ts +2 -3
- package/dist/types/network.d.ts +0 -12
- package/dist/types/socket.d.ts +0 -1
- package/package.json +2 -4
- package/src/EnhancedEventEmitter.ts +9 -96
- package/src/constants/common.ts +1 -1
- package/src/constants/events.ts +8 -15
- package/src/engine/DefaultEngineDependenciesFactory.ts +0 -5
- package/src/engine/Peer.ts +6 -56
- package/src/engine/handlers/ChannelEventHandler.ts +2 -0
- package/src/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyCheckResult.ts +1 -6
- package/src/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyChecker.ts +0 -13
- package/src/engine/handlers/ChannelStateSyncEventHandler/consts.ts +7 -0
- package/src/engine/handlers/ChannelStateSyncEventHandler/index.ts +64 -26
- package/src/engine/handlers/ChannelStateSyncEventHandler/types.ts +7 -0
- package/src/engine/handlers/MediaSoupEventHandler.ts +4 -4
- package/src/engine/index.ts +56 -127
- package/src/engine/media/index.ts +4 -5
- package/src/engine/media/tracks/DefaultAudioTrack.ts +1 -1
- package/src/engine/media/tracks/DefaultBaseTrack.ts +13 -14
- package/src/engine/media/tracks/DefaultVideoTrack.ts +1 -1
- package/src/engine/media/tracks/PeerTrack.ts +1 -10
- package/src/engine/network/Socket.ts +1 -19
- package/src/engine/network/index.ts +168 -168
- package/src/index.ts +9 -20
- package/src/types/channelStateSyncronizer.ts +0 -1
- package/src/types/common.ts +2 -15
- package/src/types/engine.ts +6 -47
- package/src/types/media.ts +2 -3
- package/src/types/network.ts +0 -12
- package/src/types/socket.ts +0 -1
- package/dist/engine/ChannelStateSynchronizer.d.ts +0 -21
- package/dist/helpers/common.d.ts +0 -3
- package/src/engine/ChannelStateSynchronizer.ts +0 -194
- package/src/helpers/common.ts +0 -53
|
@@ -1,20 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
|
-
declare
|
|
4
|
-
export default class EnhancedEventEmitter<E extends Events = Events> extends EventEmitter {
|
|
3
|
+
declare class EnhancedEventEmitter extends EventEmitter {
|
|
5
4
|
constructor();
|
|
6
|
-
|
|
7
|
-
safeEmit<K extends keyof E & string>(eventName: K, ...args: E[K]): boolean;
|
|
8
|
-
on<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
|
|
9
|
-
off<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
|
|
10
|
-
addListener<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
|
|
11
|
-
prependListener<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
|
|
12
|
-
once<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
|
|
13
|
-
prependOnceListener<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
|
|
14
|
-
removeListener<K extends keyof E & string>(eventName: K, listener: (...args: E[K]) => void): this;
|
|
15
|
-
removeAllListeners<K extends keyof E & string>(eventName?: K): this;
|
|
16
|
-
listenerCount<K extends keyof E & string>(eventName: K): number;
|
|
17
|
-
listeners<K extends keyof E & string>(eventName: K): Function[];
|
|
18
|
-
rawListeners<K extends keyof E & string>(eventName: K): Function[];
|
|
5
|
+
safeEmit(event: string, ...args: unknown[]): boolean;
|
|
19
6
|
}
|
|
20
|
-
export
|
|
7
|
+
export default EnhancedEventEmitter;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LogLevel } from '../types/common';
|
|
2
|
-
export declare const SIGNALING_API_VERSION =
|
|
2
|
+
export declare const SIGNALING_API_VERSION = 2;
|
|
3
3
|
export declare const LOG_LEVEL_ERROR: LogLevel;
|
|
4
4
|
export declare const LOG_LEVEL_WARN: LogLevel;
|
|
5
5
|
export declare const LOG_LEVEL_INFO: LogLevel;
|
package/dist/constants/common.ts
CHANGED
|
@@ -1,87 +1,81 @@
|
|
|
1
1
|
export declare const CHANNEL_EVENTS: {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
channelEvent: string;
|
|
3
|
+
channelJoin: string;
|
|
4
|
+
channelGetPeers: string;
|
|
5
|
+
channelLeave: string;
|
|
6
|
+
updatePeerAppData: string;
|
|
7
|
+
activityConfirm: string;
|
|
8
|
+
activityConfirmationAcquired: string;
|
|
9
|
+
activityConfirmationRequired: string;
|
|
10
|
+
activityConfirmationExpired: string;
|
|
11
|
+
getAudioObserverProducer: string;
|
|
12
|
+
getGeneralDataProducer: string;
|
|
13
|
+
getChannelStateSyncDataProducer: string;
|
|
14
14
|
};
|
|
15
15
|
export declare const CLIENT_EVENTS: {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
readonly forcedDisconnect: "forced-disconnect";
|
|
30
|
-
readonly rejectUnauthorized: "reject-unauthorized";
|
|
16
|
+
channelEvent: string;
|
|
17
|
+
peerJoined: string;
|
|
18
|
+
peerLeft: string;
|
|
19
|
+
activityConfirmationRequired: string;
|
|
20
|
+
activityConfirmationAcquired: string;
|
|
21
|
+
activityConfirmationExpired: string;
|
|
22
|
+
channelRejoinRequired: string;
|
|
23
|
+
devicesListUpdated: string;
|
|
24
|
+
transportConnectionTimeout: string;
|
|
25
|
+
trackPublishingFailed: string;
|
|
26
|
+
trackForceClosed: string;
|
|
27
|
+
activeSpeakerChanged: string;
|
|
28
|
+
channelStateInconsistent: string;
|
|
31
29
|
};
|
|
32
30
|
export declare const TRACK_EVENTS: {
|
|
33
|
-
|
|
31
|
+
volumeChanged: string;
|
|
34
32
|
};
|
|
35
33
|
export declare const INTERNAL_CLIENT_EVENTS: {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
trackProduced: string;
|
|
35
|
+
trackUnproduced: string;
|
|
36
|
+
trackPaused: string;
|
|
37
|
+
trackResumed: string;
|
|
38
|
+
trackClosed: string;
|
|
39
|
+
trackReopened: string;
|
|
42
40
|
};
|
|
43
41
|
export declare const PEER_EVENTS: {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
42
|
+
mediaPublished: string;
|
|
43
|
+
mediaUnPublished: string;
|
|
44
|
+
publisherPaused: string;
|
|
45
|
+
publisherResumed: string;
|
|
46
|
+
connectionQualityChanged: string;
|
|
47
|
+
trackStart: string;
|
|
48
|
+
trackEnd: string;
|
|
49
|
+
trackPaused: string;
|
|
50
|
+
trackResumed: string;
|
|
51
|
+
trackFailed: string;
|
|
52
|
+
appDataUpdated: string;
|
|
55
53
|
};
|
|
56
54
|
export declare const MEDIASOUP_EVENTS: {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
};
|
|
84
|
-
export declare const NETWORK_OBSERVER_EVENTS: {
|
|
85
|
-
readonly socketState: "socket-state";
|
|
86
|
-
readonly transportState: "transport-state";
|
|
55
|
+
newProducer: string;
|
|
56
|
+
producerClose: string;
|
|
57
|
+
producerPause: string;
|
|
58
|
+
producerResume: string;
|
|
59
|
+
producerPaused: string;
|
|
60
|
+
producerResumed: string;
|
|
61
|
+
producerForceClosed: string;
|
|
62
|
+
producerScoreChanged: string;
|
|
63
|
+
producerSetMaxSpatialLayer: string;
|
|
64
|
+
producerRequestMaxSpatialLayer: string;
|
|
65
|
+
createConsumer: string;
|
|
66
|
+
createDataConsumer: string;
|
|
67
|
+
closeConsumer: string;
|
|
68
|
+
pauseConsumer: string;
|
|
69
|
+
resumeConsumer: string;
|
|
70
|
+
consumerScoreChanged: string;
|
|
71
|
+
consumerChangePreferredLayers: string;
|
|
72
|
+
consumerRequestKeyFrame: string;
|
|
73
|
+
setConsumerPriority: string;
|
|
74
|
+
transportCreate: string;
|
|
75
|
+
transportClose: string;
|
|
76
|
+
transportConnect: string;
|
|
77
|
+
transportProduce: string;
|
|
78
|
+
transportConnectionTimeout: string;
|
|
79
|
+
transportStateChange: string;
|
|
80
|
+
transportGetIceParameters: string;
|
|
87
81
|
};
|
package/dist/constants/events.ts
CHANGED
|
@@ -11,7 +11,7 @@ export const CHANNEL_EVENTS = {
|
|
|
11
11
|
getAudioObserverProducer: 'channel.getAudioObserverProducer',
|
|
12
12
|
getGeneralDataProducer: 'channel.getGeneralDataProducer',
|
|
13
13
|
getChannelStateSyncDataProducer: 'channel.getChannelStateSyncDataProducer',
|
|
14
|
-
}
|
|
14
|
+
};
|
|
15
15
|
|
|
16
16
|
export const CLIENT_EVENTS = {
|
|
17
17
|
channelEvent: 'channel-event',
|
|
@@ -23,17 +23,15 @@ export const CLIENT_EVENTS = {
|
|
|
23
23
|
channelRejoinRequired: 'channel-rejoin-required',
|
|
24
24
|
devicesListUpdated: 'devices-list-updated',
|
|
25
25
|
transportConnectionTimeout: 'transport-connection-timeout',
|
|
26
|
+
trackPublishingFailed: 'track-publishing-failed',
|
|
26
27
|
trackForceClosed: 'track-force-closed',
|
|
27
28
|
activeSpeakerChanged: 'active-speaker-changed',
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
forcedDisconnect: 'forced-disconnect',
|
|
31
|
-
rejectUnauthorized: 'reject-unauthorized',
|
|
32
|
-
} as const;
|
|
29
|
+
channelStateInconsistent: 'channel-state-inconsistent',
|
|
30
|
+
};
|
|
33
31
|
|
|
34
32
|
export const TRACK_EVENTS = {
|
|
35
33
|
volumeChanged: 'volume-changed',
|
|
36
|
-
}
|
|
34
|
+
};
|
|
37
35
|
|
|
38
36
|
export const INTERNAL_CLIENT_EVENTS = {
|
|
39
37
|
trackProduced: 'track-produced',
|
|
@@ -42,7 +40,7 @@ export const INTERNAL_CLIENT_EVENTS = {
|
|
|
42
40
|
trackResumed: 'track-resumed',
|
|
43
41
|
trackClosed: 'track-closed',
|
|
44
42
|
trackReopened: 'track-reopened',
|
|
45
|
-
}
|
|
43
|
+
};
|
|
46
44
|
|
|
47
45
|
export const PEER_EVENTS = {
|
|
48
46
|
mediaPublished: 'media-published',
|
|
@@ -56,7 +54,7 @@ export const PEER_EVENTS = {
|
|
|
56
54
|
trackResumed: 'track-resumed',
|
|
57
55
|
trackFailed: 'track-failed',
|
|
58
56
|
appDataUpdated: 'app-data-updated',
|
|
59
|
-
}
|
|
57
|
+
};
|
|
60
58
|
|
|
61
59
|
export const MEDIASOUP_EVENTS = {
|
|
62
60
|
newProducer: 'peer.newProducer',
|
|
@@ -85,9 +83,4 @@ export const MEDIASOUP_EVENTS = {
|
|
|
85
83
|
transportConnectionTimeout: 'transport.connectionTimeout',
|
|
86
84
|
transportStateChange: 'connectionstatechange',
|
|
87
85
|
transportGetIceParameters: 'transport.getIceParameters',
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export const NETWORK_OBSERVER_EVENTS = {
|
|
91
|
-
socketState: 'socket-state',
|
|
92
|
-
transportState: 'transport-state',
|
|
93
|
-
} as const;
|
|
86
|
+
};
|
|
@@ -7,7 +7,6 @@ import MediaSoupEventHandler from './handlers/MediaSoupEventHandler';
|
|
|
7
7
|
import { CreateIssueDetectorParams, CreateMediaParams, CreateMediaSoupEventHandlerParams, CreateNetworkParams, CreateSystemParams, ChannelStateSyncEventHandlerParams, EngineDependenciesFactory } from '../types/engine';
|
|
8
8
|
import ChannelAudioObserverEventHandler from './handlers/ChannelAudioObserverEventHandler';
|
|
9
9
|
import ChannelStateSyncEventHandler from './handlers/ChannelStateSyncEventHandler';
|
|
10
|
-
import ChannelStateSynchronizer, { ChannelStateSynchronizerParams } from './ChannelStateSynchronizer';
|
|
11
10
|
declare class DefaultEngineDependenciesFactory implements EngineDependenciesFactory {
|
|
12
11
|
createSystem(params: CreateSystemParams): System;
|
|
13
12
|
createMedia(params: CreateMediaParams): Media;
|
|
@@ -16,7 +15,6 @@ declare class DefaultEngineDependenciesFactory implements EngineDependenciesFact
|
|
|
16
15
|
createMediaSoupEventHandler(params: CreateMediaSoupEventHandlerParams): MediaSoupEventHandler;
|
|
17
16
|
createAudioObserverEventHandler(params: CreateMediaSoupEventHandlerParams): ChannelAudioObserverEventHandler;
|
|
18
17
|
createChannelStateSyncEventHandler(params: ChannelStateSyncEventHandlerParams): ChannelStateSyncEventHandler;
|
|
19
|
-
createChannelStateSynchronizer(params: ChannelStateSynchronizerParams): ChannelStateSynchronizer;
|
|
20
18
|
createIssueDetector(params: CreateIssueDetectorParams): WebRTCIssueDetector;
|
|
21
19
|
}
|
|
22
20
|
export default DefaultEngineDependenciesFactory;
|
package/dist/engine/Peer.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ProducerData, ConnectionQuality, PayloadOfPublishedMedia, Role, PeerInfo, SubscribeOptions } from '../types/common';
|
|
2
2
|
import EnhancedEventEmitter from '../EnhancedEventEmitter';
|
|
3
3
|
import Engine from './index';
|
|
4
|
-
import { CHANNEL_EVENTS, MEDIASOUP_EVENTS, PEER_EVENTS } from '../constants/events';
|
|
5
4
|
import PeerProducer from './PeerProducer';
|
|
6
5
|
import PeerConsumer from './PeerConsumer';
|
|
7
6
|
import PeerTrack from './media/tracks/PeerTrack';
|
|
@@ -24,31 +23,6 @@ export declare enum ScoreThreshold {
|
|
|
24
23
|
MEDIUM = 6,
|
|
25
24
|
GOOD = 10
|
|
26
25
|
}
|
|
27
|
-
export declare type PeerObserverEvents = {
|
|
28
|
-
[PEER_EVENTS.mediaPublished]: [PayloadOfPublishedMedia];
|
|
29
|
-
[PEER_EVENTS.appDataUpdated]: [Record<string, unknown>];
|
|
30
|
-
[PEER_EVENTS.connectionQualityChanged]: [{
|
|
31
|
-
connectionQuality: number;
|
|
32
|
-
}];
|
|
33
|
-
[PEER_EVENTS.publisherPaused]: [PayloadOfPublishedMedia];
|
|
34
|
-
[PEER_EVENTS.publisherResumed]: [PayloadOfPublishedMedia];
|
|
35
|
-
[PEER_EVENTS.mediaUnPublished]: [PayloadOfUnpublishedMedia];
|
|
36
|
-
[PEER_EVENTS.trackStart]: [PeerTrack];
|
|
37
|
-
[PEER_EVENTS.trackEnd]: [PeerTrack];
|
|
38
|
-
[PEER_EVENTS.trackResumed]: [PeerTrack];
|
|
39
|
-
[PEER_EVENTS.trackPaused]: [PeerTrack];
|
|
40
|
-
[PEER_EVENTS.trackFailed]: [PeerTrack];
|
|
41
|
-
[MEDIASOUP_EVENTS.producerClose]: [ProducerData];
|
|
42
|
-
[MEDIASOUP_EVENTS.newProducer]: [ProducerData];
|
|
43
|
-
[MEDIASOUP_EVENTS.closeConsumer]: [consumerId: string];
|
|
44
|
-
[MEDIASOUP_EVENTS.pauseConsumer]: [consumerId: string];
|
|
45
|
-
[MEDIASOUP_EVENTS.resumeConsumer]: [consumerId: string];
|
|
46
|
-
[MEDIASOUP_EVENTS.consumerScoreChanged]: [ConsumerScoreChangedPayload];
|
|
47
|
-
[MEDIASOUP_EVENTS.producerScoreChanged]: [ProducerScoreChangedPayload];
|
|
48
|
-
[MEDIASOUP_EVENTS.consumerChangePreferredLayers]: [ChangePreferredLayersPayload];
|
|
49
|
-
[MEDIASOUP_EVENTS.producerSetMaxSpatialLayer]: [ProducerSetMaxSpatialLayer];
|
|
50
|
-
[CHANNEL_EVENTS.updatePeerAppData]: [Record<string, unknown>];
|
|
51
|
-
};
|
|
52
26
|
declare class Peer {
|
|
53
27
|
id: string;
|
|
54
28
|
channelIds: string[];
|
|
@@ -67,10 +41,9 @@ declare class Peer {
|
|
|
67
41
|
private overallConnectionQuality;
|
|
68
42
|
constructor({ id, channelIds, appId, loginDate, producers, engine, appData, uid, role, }: PeerConstructor);
|
|
69
43
|
get appData(): Record<string, unknown>;
|
|
70
|
-
get observer(): EnhancedEventEmitter
|
|
44
|
+
get observer(): EnhancedEventEmitter;
|
|
71
45
|
get isMe(): boolean;
|
|
72
46
|
get publishedMedia(): PayloadOfPublishedMedia[];
|
|
73
|
-
get shortData(): PeerShortData;
|
|
74
47
|
subscribe({ producerId, muted }: SubscribeOptions): Promise<void>;
|
|
75
48
|
unsubscribe(producerId: string): Promise<void>;
|
|
76
49
|
getInfo(): Promise<PeerInfo>;
|
package/dist/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyCheckResult.d.ts
CHANGED
|
@@ -2,13 +2,11 @@ interface ChannelStateConsistencyCheckResultsParams {
|
|
|
2
2
|
missingPeers: string[];
|
|
3
3
|
missingProducers: string[];
|
|
4
4
|
producersWithInconsistentState: string[];
|
|
5
|
-
peersWithInconsistentAppData: string[];
|
|
6
5
|
}
|
|
7
6
|
declare class ChannelStateConsistencyCheckResult {
|
|
8
7
|
readonly missingPeers: string[];
|
|
9
8
|
readonly missingProducers: string[];
|
|
10
9
|
readonly producersWithInconsistentState: string[];
|
|
11
|
-
readonly peersWithInconsistentAppData: string[];
|
|
12
10
|
constructor(params: ChannelStateConsistencyCheckResultsParams);
|
|
13
11
|
hasInconsistencyCases(): boolean;
|
|
14
12
|
}
|
package/dist/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyChecker.d.ts
CHANGED
|
@@ -12,13 +12,11 @@ declare class ChannelStateConsistencyChecker {
|
|
|
12
12
|
private missingPeers;
|
|
13
13
|
private missingProducers;
|
|
14
14
|
private producersWithInconsistentState;
|
|
15
|
-
private peersWithInconsistentAppData;
|
|
16
15
|
constructor(params: ChannelStateConsistencyCheckerParams);
|
|
17
16
|
check(): ChannelStateConsistencyCheckResult;
|
|
18
17
|
getMissingPeers(): string[];
|
|
19
18
|
getMissingProducers(): string[];
|
|
20
19
|
getProducersWithInconsistentState(): string[];
|
|
21
|
-
getPeersWithInconsistentAppData(): string[];
|
|
22
20
|
private findLocalPeerById;
|
|
23
21
|
private findLocalProducerById;
|
|
24
22
|
private resetPreviousCheckResults;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import {
|
|
3
|
-
import Engine from '../../index';
|
|
2
|
+
import { ChannelStateSyncEventHandlerParams } from '../../../types/engine';
|
|
4
3
|
declare class ChannelStateSyncEventHandler {
|
|
5
4
|
#private;
|
|
6
5
|
private readonly engine;
|
|
7
6
|
private readonly logger;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
private clientEventEmitter;
|
|
8
|
+
private webRTCIssueEmitter?;
|
|
9
|
+
private networkScores;
|
|
10
|
+
constructor(params: ChannelStateSyncEventHandlerParams);
|
|
12
11
|
handle(payload: Buffer): Promise<void>;
|
|
13
12
|
private handleChannelStateEvent;
|
|
14
13
|
private getLastInconsistencyCheckResult;
|
|
@@ -21,10 +20,11 @@ declare class ChannelStateSyncEventHandler {
|
|
|
21
20
|
private getConfirmedMissingPeers;
|
|
22
21
|
private getConfirmedMissingProducers;
|
|
23
22
|
private getConfirmedProducersWithInconsistencState;
|
|
24
|
-
private getConfirmedPeersWithInconsistentAppData;
|
|
25
23
|
private parseChannelStateSyncEventPayload;
|
|
26
24
|
private getAllConfirmedInconsistentEntityIds;
|
|
27
25
|
private getLocalState;
|
|
28
26
|
private getIsConnectionActive;
|
|
27
|
+
private listenNetworkScoresUpdatedEvents;
|
|
28
|
+
private isBadNetworkScore;
|
|
29
29
|
}
|
|
30
30
|
export default ChannelStateSyncEventHandler;
|
package/dist/engine/index.d.ts
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { CreateCameraVideoTrackOptions, CreateMicrophoneAudioTrackOptions, CreateScreenMediaOptions, JoinChannelParams,
|
|
1
|
+
import { CreateCameraVideoTrackOptions, CreateMicrophoneAudioTrackOptions, CreateScreenMediaOptions, JoinChannelParams, PeerResponse, Role, LogMessageHandler, LogLevel } from '../types/common';
|
|
2
2
|
import EnhancedEventEmitter from '../EnhancedEventEmitter';
|
|
3
3
|
import System from './system';
|
|
4
4
|
import Peer from './Peer';
|
|
5
5
|
import Network from './network';
|
|
6
6
|
import Media from './media';
|
|
7
7
|
import VideoTrack from './media/tracks/DefaultVideoTrack';
|
|
8
|
-
import {
|
|
8
|
+
import { EngineDependenciesFactory, IssuesHandler, NetworkScoresUpdatedHandler, NodeActiveStreamsStat } from '../types/engine';
|
|
9
9
|
import { LoadBalancerApiClientParams } from './network/LoadBalancerClient';
|
|
10
10
|
import { MediaTracksFactory, AudioTrack, Track, BaseTrack, InitEffectsSDKParams } from '../types/media';
|
|
11
11
|
declare type EngineParams = {
|
|
12
12
|
clientEventEmitter: EnhancedEventEmitter;
|
|
13
|
-
internalEventEmitter: EnhancedEventEmitter;
|
|
14
13
|
network: {
|
|
15
14
|
loadbalancer: LoadBalancerApiClientParams;
|
|
16
15
|
};
|
|
@@ -26,20 +25,18 @@ declare type EngineParams = {
|
|
|
26
25
|
effectsSDKParams?: InitEffectsSDKParams;
|
|
27
26
|
};
|
|
28
27
|
declare class Engine {
|
|
29
|
-
#private;
|
|
30
28
|
system: System;
|
|
31
29
|
network: Network;
|
|
32
30
|
media: Media;
|
|
33
|
-
clientEventEmitter: EnhancedEventEmitter
|
|
34
|
-
internalEventEmitter: EnhancedEventEmitter<InternalObserverEvents>;
|
|
31
|
+
clientEventEmitter: EnhancedEventEmitter;
|
|
35
32
|
logLevel: LogLevel;
|
|
36
|
-
readonly peersRepository
|
|
33
|
+
private readonly peersRepository;
|
|
37
34
|
private channelEventsHandler;
|
|
38
35
|
private mediaSoupEventsHandler;
|
|
39
36
|
private channelAudioObserverEventHandler;
|
|
40
37
|
private channelStateSyncEventHandler;
|
|
41
|
-
private channelStateSynchronizer;
|
|
42
38
|
private initialized;
|
|
39
|
+
private isJoined;
|
|
43
40
|
private app?;
|
|
44
41
|
private channel?;
|
|
45
42
|
private isChannelJoining;
|
|
@@ -55,7 +52,6 @@ declare class Engine {
|
|
|
55
52
|
private readonly handleDataChannelEvent;
|
|
56
53
|
private readonly handleChannelStateSyncEvent;
|
|
57
54
|
constructor(params: EngineParams);
|
|
58
|
-
get isChannelJoined(): boolean;
|
|
59
55
|
private initialize;
|
|
60
56
|
release(): Promise<void>;
|
|
61
57
|
private removeClientEventEmitterListeners;
|
|
@@ -64,10 +60,9 @@ declare class Engine {
|
|
|
64
60
|
get peers(): Peer[];
|
|
65
61
|
get hostPeers(): Peer[];
|
|
66
62
|
get audiencePeers(): Peer[];
|
|
67
|
-
get
|
|
68
|
-
get isSocketConnectionActive(): boolean;
|
|
63
|
+
get mySocketId(): string | undefined;
|
|
69
64
|
getPeerById(id: string): Peer | undefined;
|
|
70
|
-
|
|
65
|
+
checkConnectionActivity(): Promise<void>;
|
|
71
66
|
confirmActivity(): Promise<void>;
|
|
72
67
|
join(params: JoinChannelParams): Promise<void>;
|
|
73
68
|
loadPeers(role?: Role): Promise<void>;
|
|
@@ -98,6 +93,5 @@ declare class Engine {
|
|
|
98
93
|
private createGeneralDataConsumer;
|
|
99
94
|
private createChannelStateSyncDataConsumer;
|
|
100
95
|
private triggerRejoinEventIfAppropriate;
|
|
101
|
-
private watchNetworkState;
|
|
102
96
|
}
|
|
103
97
|
export default Engine;
|
|
@@ -4,7 +4,6 @@ import { BaseTrackInfo, EncoderConfig, TrackLabel, TrackOutboundStats, TrackProd
|
|
|
4
4
|
import Logger from '../../Logger';
|
|
5
5
|
import EnhancedEventEmitter from '../../../EnhancedEventEmitter';
|
|
6
6
|
import { BaseTrack, BaseTrackParams, ProducerAppData } from '../../../types/media';
|
|
7
|
-
import { InternalObserverEvents } from '../../../types/engine';
|
|
8
7
|
declare class DefaultBaseTrack implements BaseTrack {
|
|
9
8
|
#private;
|
|
10
9
|
protected encoderConfig: EncoderConfig;
|
|
@@ -20,7 +19,7 @@ declare class DefaultBaseTrack implements BaseTrack {
|
|
|
20
19
|
get producerId(): string | undefined;
|
|
21
20
|
get isPublished(): boolean;
|
|
22
21
|
get isPaused(): boolean;
|
|
23
|
-
get
|
|
22
|
+
get clientEventEmitter(): EnhancedEventEmitter;
|
|
24
23
|
getLabel(): TrackLabel;
|
|
25
24
|
setLabel(label: TrackLabel): void;
|
|
26
25
|
setEncoderConfig(encoderConfig: EncoderConfig): void;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { MediaKind } from 'mediasoup-client/lib/types';
|
|
2
2
|
import { PreferredLayersParams, SpatialLayerParams, PeerTrackInfo, TrackLabel, LogMessageHandler } from '../../../types/common';
|
|
3
|
-
import { PEER_EVENTS, TRACK_EVENTS } from '../../../constants/events';
|
|
4
3
|
import PeerConsumer from '../../PeerConsumer';
|
|
5
4
|
import Engine from '../../index';
|
|
6
5
|
import EnhancedEventEmitter from '../../../EnhancedEventEmitter';
|
|
@@ -14,21 +13,11 @@ interface PeerTrackConstructor {
|
|
|
14
13
|
peerEventEmitter: EnhancedEventEmitter;
|
|
15
14
|
onLogMessage?: LogMessageHandler;
|
|
16
15
|
}
|
|
17
|
-
declare type PeerTrackObserverEvents = {
|
|
18
|
-
[PEER_EVENTS.trackStart]: [PeerTrack];
|
|
19
|
-
[PEER_EVENTS.trackEnd]: [PeerTrack];
|
|
20
|
-
[TRACK_EVENTS.volumeChanged]: [{
|
|
21
|
-
value: number;
|
|
22
|
-
}];
|
|
23
|
-
[PEER_EVENTS.trackFailed]: [PeerTrack];
|
|
24
|
-
[PEER_EVENTS.trackPaused]: [PeerTrack];
|
|
25
|
-
[PEER_EVENTS.trackResumed]: [PeerTrack];
|
|
26
|
-
};
|
|
27
16
|
declare class PeerTrack {
|
|
28
17
|
#private;
|
|
29
18
|
readonly label: TrackLabel;
|
|
30
19
|
consumer?: PeerConsumer;
|
|
31
|
-
readonly observer: EnhancedEventEmitter
|
|
20
|
+
readonly observer: EnhancedEventEmitter;
|
|
32
21
|
constructor(payload: PeerTrackConstructor);
|
|
33
22
|
get volume(): number;
|
|
34
23
|
get isRemote(): boolean;
|
|
@@ -2,10 +2,9 @@ import { IceParameters, Transport } from 'mediasoup-client/lib/Transport';
|
|
|
2
2
|
import { Device } from 'mediasoup-client';
|
|
3
3
|
import { DataConsumer } from 'mediasoup-client/lib/DataConsumer';
|
|
4
4
|
import SocketIO from './Socket';
|
|
5
|
-
import { CreateConsumerPayload, CreateConsumerResponse, LogLevel, LogMessageHandler, SocketResponse, TransportsStateInfo, UpdatePeerAppDataPayload, CreateDataConsumerPayload, TransportAppData
|
|
5
|
+
import { CreateConsumerPayload, CreateConsumerResponse, LogLevel, LogMessageHandler, SocketResponse, TransportsStateInfo, UpdatePeerAppDataPayload, CreateDataConsumerPayload, TransportAppData } from '../../types/common';
|
|
6
6
|
import LoadBalancerApiClient from './LoadBalancerClient';
|
|
7
7
|
import EnhancedEventEmitter from '../../EnhancedEventEmitter';
|
|
8
|
-
import { NetworkObserverEvents } from '../../types/network';
|
|
9
8
|
export declare type NetworkParams = {
|
|
10
9
|
socketClient: SocketIO;
|
|
11
10
|
logLevel: LogLevel;
|
|
@@ -14,17 +13,16 @@ export declare type NetworkParams = {
|
|
|
14
13
|
onLogMessage?: LogMessageHandler;
|
|
15
14
|
};
|
|
16
15
|
declare class Network {
|
|
17
|
-
#private;
|
|
18
16
|
readonly socket: SocketIO;
|
|
19
17
|
readonly loadBalancerClient: LoadBalancerApiClient;
|
|
20
|
-
|
|
18
|
+
readonly eventEmitter: EnhancedEventEmitter;
|
|
21
19
|
sendTransport?: Transport<TransportAppData>;
|
|
22
20
|
receiveTransport?: Transport<TransportAppData>;
|
|
23
21
|
private preferRelay;
|
|
22
|
+
private sendTransportRestartIceInterval?;
|
|
23
|
+
private recvTransportRestartIceInterval?;
|
|
24
24
|
private readonly logger;
|
|
25
25
|
constructor(params: NetworkParams);
|
|
26
|
-
get isNetworkActive(): boolean;
|
|
27
|
-
get observer(): EnhancedEventEmitter<NetworkObserverEvents>;
|
|
28
26
|
private removeEventListeners;
|
|
29
27
|
reset(): Promise<void>;
|
|
30
28
|
closeRemoteProducer(producerId: string): Promise<void>;
|
|
@@ -47,12 +45,8 @@ declare class Network {
|
|
|
47
45
|
getTransportsStateInfo(): Promise<TransportsStateInfo>;
|
|
48
46
|
setPreferRelay(value: boolean): void;
|
|
49
47
|
getPreferRelay(): boolean;
|
|
50
|
-
getChannelPeers(role?: Role): Promise<{
|
|
51
|
-
peers: PeerResponse[];
|
|
52
|
-
}>;
|
|
53
48
|
private getParsedTransportStats;
|
|
54
49
|
private logTransportDetails;
|
|
55
50
|
private stopRestartIceAtempts;
|
|
56
|
-
private subscribeCommonTransportEvents;
|
|
57
51
|
}
|
|
58
52
|
export default Network;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,11 +2,10 @@ import { AvailableMediaDevices, CreateCameraVideoTrackOptions, CreateMicrophoneA
|
|
|
2
2
|
import EnhancedEventEmitter from './EnhancedEventEmitter';
|
|
3
3
|
import Peer from './engine/Peer';
|
|
4
4
|
import { LoadBalancerApiClientParams } from './engine/network/LoadBalancerClient';
|
|
5
|
-
import {
|
|
5
|
+
import { IssuesHandler, NetworkScoresUpdatedHandler, NodeActiveStreamsStat } from './types/engine';
|
|
6
6
|
import { AudioTrack, InitEffectsSDKParams, Track, VideoTrack } from './types/media';
|
|
7
7
|
declare type ClientParams = {
|
|
8
|
-
|
|
9
|
-
internalEventEmitter?: EnhancedEventEmitter;
|
|
8
|
+
observer?: EnhancedEventEmitter;
|
|
10
9
|
network?: {
|
|
11
10
|
loadbalancer?: LoadBalancerApiClientParams;
|
|
12
11
|
};
|
|
@@ -19,10 +18,9 @@ declare type ClientParams = {
|
|
|
19
18
|
};
|
|
20
19
|
declare class Client {
|
|
21
20
|
private readonly engine;
|
|
22
|
-
private readonly
|
|
23
|
-
private readonly _internalEventEmitter;
|
|
21
|
+
private readonly _observer;
|
|
24
22
|
constructor(params: ClientParams);
|
|
25
|
-
get observer(): EnhancedEventEmitter
|
|
23
|
+
get observer(): EnhancedEventEmitter;
|
|
26
24
|
get id(): string | undefined;
|
|
27
25
|
get peers(): Peer[];
|
|
28
26
|
get availableVideoDevices(): MediaDeviceInfo[];
|