@livedigital/client 2.21.0 → 2.22.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/engine/index.d.ts +2 -1
- package/dist/engine/wid/WebRTCIssueDetector.d.ts +2 -0
- package/dist/engine/wid/WebRTCIssueEmitter.d.ts +5 -3
- package/dist/engine/wid/lib/NetworkScoresCalculator.d.ts +10 -0
- package/dist/engine/wid/types.d.ts +8 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.es.js +1 -1
- package/dist/index.js +1 -1
- package/dist/types/engine.d.ts +3 -1
- package/package.json +1 -1
- package/src/engine/DefaultEngineDependenciesFactory.ts +1 -0
- package/src/engine/index.ts +3 -1
- package/src/engine/wid/WebRTCIssueDetector.ts +17 -1
- package/src/engine/wid/WebRTCIssueEmitter.ts +10 -3
- package/src/engine/wid/detectors/InboundNetworkIssueDetector.ts +1 -20
- package/src/engine/wid/detectors/OutboundNetworkIssueDetector.ts +1 -20
- package/src/engine/wid/lib/NetworkScoresCalculator.ts +122 -0
- package/src/engine/wid/types.ts +9 -0
- package/src/index.ts +4 -1
- package/src/types/engine.ts +4 -1
package/dist/engine/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import System from './system';
|
|
|
4
4
|
import Peer from './Peer';
|
|
5
5
|
import Network from './network';
|
|
6
6
|
import Media from './media';
|
|
7
|
-
import { EngineDependenciesFactory, IssuesHandler } from '../types/engine';
|
|
7
|
+
import { EngineDependenciesFactory, IssuesHandler, NetworkScoresUpdatedHandler } from '../types/engine';
|
|
8
8
|
import { LoadBalancerApiClientParams } from './network/LoadBalancerClient';
|
|
9
9
|
declare type EngineParams = {
|
|
10
10
|
clientEventEmitter: EnhancedEventEmitter;
|
|
@@ -15,6 +15,7 @@ declare type EngineParams = {
|
|
|
15
15
|
logLevel?: LogLevel;
|
|
16
16
|
onLogMessage?: LogMessageHandler;
|
|
17
17
|
onIssues?: IssuesHandler;
|
|
18
|
+
onNetworkScoresUpdated?: NetworkScoresUpdatedHandler;
|
|
18
19
|
};
|
|
19
20
|
declare class Engine {
|
|
20
21
|
system: System;
|
|
@@ -6,6 +6,7 @@ declare class WebRTCIssueDetector {
|
|
|
6
6
|
private readonly webrtcStatsPeerId;
|
|
7
7
|
private readonly getStatsInterval;
|
|
8
8
|
private readonly detectors;
|
|
9
|
+
private readonly networkScoresCalculator;
|
|
9
10
|
readonly eventEmitter: WebRTCIssueEmitter;
|
|
10
11
|
constructor(params: WebRTCIssueDetectorConstructorParams);
|
|
11
12
|
watchNewPeerConnections(): void;
|
|
@@ -14,6 +15,7 @@ declare class WebRTCIssueDetector {
|
|
|
14
15
|
handleNewPeerConnection(pc: RTCPeerConnection): void;
|
|
15
16
|
private emitIssues;
|
|
16
17
|
private detectIssues;
|
|
18
|
+
private calculateNetworkScores;
|
|
17
19
|
private wrapRTCPeerConnection;
|
|
18
20
|
}
|
|
19
21
|
export default WebRTCIssueDetector;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
|
-
import { EventType, EventPayload, IssueDetectorResult } from './types';
|
|
3
|
+
import { EventType, EventPayload, IssueDetectorResult, NetworkScores } from './types';
|
|
4
4
|
export declare interface WebRTCIssueEmitter {
|
|
5
|
-
on(event: EventType, listener: (
|
|
6
|
-
|
|
5
|
+
on(event: EventType.Issue, listener: (payload: IssueDetectorResult) => void): this;
|
|
6
|
+
on(event: EventType.NetworkScoresUpdated, listener: (payload: NetworkScores) => void): this;
|
|
7
|
+
emit(event: EventType.Issue, payload: EventPayload): boolean;
|
|
8
|
+
emit(event: EventType.NetworkScoresUpdated, payload: NetworkScores): boolean;
|
|
7
9
|
}
|
|
8
10
|
export declare class WebRTCIssueEmitter extends EventEmitter {
|
|
9
11
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { WebRTCStatsEventData } from '@peermetrics/webrtc-stats';
|
|
2
|
+
import { NetworkScores } from '../types';
|
|
3
|
+
declare class NetworkScoresCalculator {
|
|
4
|
+
#private;
|
|
5
|
+
calculate(data: WebRTCStatsEventData): NetworkScores;
|
|
6
|
+
private calcucateOutboundScore;
|
|
7
|
+
private calculateInboundScore;
|
|
8
|
+
private calculateMOS;
|
|
9
|
+
}
|
|
10
|
+
export default NetworkScoresCalculator;
|
|
@@ -9,11 +9,13 @@ export interface IssueDetector {
|
|
|
9
9
|
detect(data: WebRTCStatsEventData): IssueDetectorResult;
|
|
10
10
|
}
|
|
11
11
|
export declare enum EventType {
|
|
12
|
-
Issue = "issue"
|
|
12
|
+
Issue = "issue",
|
|
13
|
+
NetworkScoresUpdated = "network-scores-updated"
|
|
13
14
|
}
|
|
14
15
|
export declare type EventPayload = IssueDetectorResult;
|
|
15
16
|
export declare type WebRTCIssueDetectorConstructorParams = {
|
|
16
17
|
onIssues?: (payload: IssueDetectorResult) => void;
|
|
18
|
+
onNetworkScoresUpdated?: (payload: NetworkScores) => void;
|
|
17
19
|
ignoreSSRCList?: number[];
|
|
18
20
|
};
|
|
19
21
|
export declare enum IssueType {
|
|
@@ -50,3 +52,8 @@ export declare type DetectIssuesPayload = {
|
|
|
50
52
|
data: WebRTCStatsEventData;
|
|
51
53
|
ignoreSSRCList?: number[];
|
|
52
54
|
};
|
|
55
|
+
export declare type NetworkScore = number;
|
|
56
|
+
export declare type NetworkScores = {
|
|
57
|
+
outbound?: NetworkScore;
|
|
58
|
+
inbound?: NetworkScore;
|
|
59
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ 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 { IssuesHandler } from './types/engine';
|
|
5
|
+
import { IssuesHandler, NetworkScoresUpdatedHandler } from './types/engine';
|
|
6
6
|
declare type ClientParams = {
|
|
7
7
|
observer?: EnhancedEventEmitter;
|
|
8
8
|
network?: {
|
|
@@ -11,6 +11,7 @@ declare type ClientParams = {
|
|
|
11
11
|
logLevel?: LogLevel;
|
|
12
12
|
onLogMessage?: LogMessageHandler;
|
|
13
13
|
onIssues?: IssuesHandler;
|
|
14
|
+
onNetworkScoresUpdated?: NetworkScoresUpdatedHandler;
|
|
14
15
|
};
|
|
15
16
|
declare class Client {
|
|
16
17
|
private readonly engine;
|