@observertc/client-monitor-js 3.10.2 → 3.11.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/lib/ClientMonitor.d.ts +4 -2
- package/lib/ClientMonitor.d.ts.map +1 -1
- package/lib/ClientMonitor.js +26 -7
- package/lib/Collectors.d.ts +4 -3
- package/lib/Collectors.d.ts.map +1 -1
- package/lib/Collectors.js +1 -1
- package/lib/Sampler.d.ts.map +1 -1
- package/lib/collectors/MediasoupStatsCollector.d.ts +4 -3
- package/lib/collectors/MediasoupStatsCollector.d.ts.map +1 -1
- package/lib/collectors/MediasoupStatsCollector.js +3 -0
- package/lib/collectors/MediasoupSurrogates.d.ts +53 -78
- package/lib/collectors/MediasoupSurrogates.d.ts.map +1 -1
- package/lib/collectors/PeerConnectionStatsCollector.d.ts.map +1 -1
- package/lib/collectors/utils.d.ts.map +1 -1
- package/lib/detectors/CongestionDetector.d.ts.map +1 -1
- package/lib/detectors/CongestionDetector.js +4 -3
- package/lib/detectors/CpuPerformanceDetector.d.ts +11 -2
- package/lib/detectors/CpuPerformanceDetector.d.ts.map +1 -1
- package/lib/detectors/CpuPerformanceDetector.js +37 -6
- package/lib/detectors/LayersChanged.d.ts +37 -0
- package/lib/detectors/LayersChanged.d.ts.map +1 -0
- package/lib/detectors/LayersChanged.js +75 -0
- package/lib/entries/PeerConnectionEntryManifest.d.ts +1 -0
- package/lib/entries/PeerConnectionEntryManifest.d.ts.map +1 -1
- package/lib/entries/PeerConnectionEntryManifest.js +12 -0
- package/lib/entries/StatsEntryInterfaces.d.ts +6 -0
- package/lib/entries/StatsEntryInterfaces.d.ts.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/utils/callEvents.d.ts.map +1 -1
- package/lib/utils/callEvents.js +1 -0
- package/package.json +2 -1
package/lib/ClientMonitor.d.ts
CHANGED
|
@@ -88,6 +88,7 @@ export interface ClientMonitorEvents {
|
|
|
88
88
|
lastSample?: ClientSample;
|
|
89
89
|
};
|
|
90
90
|
'stats-collected': {
|
|
91
|
+
durationOfCollectingStatsInMs: number;
|
|
91
92
|
elapsedSinceLastCollectedInMs: number;
|
|
92
93
|
collectedStats: CollectedStats;
|
|
93
94
|
};
|
|
@@ -134,10 +135,11 @@ export declare class ClientMonitor extends TypedEventEmitter<ClientMonitorEvents
|
|
|
134
135
|
has: (collectorId: string) => boolean;
|
|
135
136
|
addGetStats: (getStats: () => Promise<RTCStatsReport>, label?: string | undefined) => import(".").StatsCollector;
|
|
136
137
|
addRTCPeerConnection: (peerConnection: RTCPeerConnection, peerConnectionLabel?: string | undefined) => import(".").StatsCollector;
|
|
137
|
-
addMediasoupDevice: (device: import("
|
|
138
|
+
addMediasoupDevice: (device: import(".").MediasoupStatsCollectorDeviceInterface, collectorId?: string | undefined) => {
|
|
138
139
|
readonly id: string;
|
|
140
|
+
readonly transports: ReadonlyMap<string, import("./collectors/MediasoupSurrogates").MediasoupStatsCollectorTransportInterface>;
|
|
139
141
|
close: () => void;
|
|
140
|
-
addTransport: (transport: import("./collectors/MediasoupSurrogates").
|
|
142
|
+
addTransport: (transport: import("./collectors/MediasoupSurrogates").MediasoupStatsCollectorTransportInterface, timestamp?: number | undefined) => void;
|
|
141
143
|
addOutboundTrack: (track: MediaStreamTrack, producerId: string) => void;
|
|
142
144
|
readonly closed: boolean;
|
|
143
145
|
onclose: (() => void) | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientMonitor.d.ts","sourceRoot":"","sources":["../src/ClientMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5H,OAAO,EAAE,cAAc,EAAoB,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAA4B,MAAM,gCAAgC,CAAC;AACxH,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAC1G,OAAQ,EACJ,oBAAoB,EACpB,0BAA0B,EAG7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,2BAA2B,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACjH,OAAO,EAAE,qCAAqC,EAAE,2CAA2C,EAAE,MAAM,2CAA2C,CAAC;AAM/I,KAAK,qCAAqC,GAAG;IACzC,QAAQ,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAC1E,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAE9B;;;;;OAKG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,8BAA8B,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;IAExD;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,GAAG;QAChC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACzC,CAAA;IAED;;OAEG;IACH,YAAY,CAAC,EAAE;QACX;;WAEG;QACH,UAAU,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,qCAAqC,CAAC;QAEvF;;WAEG;QACH,WAAW,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,qCAAqC,CAAC;QAExF;;WAEG;QACH,YAAY,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,qCAAqC,CAAC;QAEzF;;WAEG;QACH,aAAa,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,qCAAqC,CAAC;QAE1F;;WAEG;QACH,mBAAmB,CAAC,EAAG,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,qCAAqC,CAAC;QAEjG;;WAEG;QACH,6BAA6B,CAAC,EAAG,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,qCAAqC,CAAC;KAC9G,CAAA;CACJ,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC;AAEtC,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE;QACL,UAAU,CAAC,EAAE,YAAY,CAAC;KAC7B,CAAC;IACF,iBAAiB,EAAE;QACf,6BAA6B,EAAE,MAAM,CAAC;QACtC,cAAc,EAAE,cAAc,CAAC;KAClC,CAAC;IACF,gBAAgB,EAAE;QACd,0BAA0B,EAAE,MAAM,CAAC;QACnC,YAAY,EAAE,YAAY,CAAC;KAC9B,CAAC;IACF,YAAY,EAAE;QACV,8BAA8B,EAAE,MAAM,GAAG,SAAS,CAAC;QACnD,+BAA+B,EAAE,MAAM,GAAG,SAAS,CAAC;QACpD,8BAA8B,EAAE,MAAM,GAAG,SAAS,CAAC;QACnD,+BAA+B,EAAE,MAAM,GAAG,SAAS,CAAC;KACvD,CAAC;IACF,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,UAAU,CAAC;IAC5B,cAAc,EAAE,UAAU,CAAC;IAC3B,eAAe,EAAE;QACb,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;QAC3B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,uBAAuB,EAAE;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,sCAAsC,EAAE;QACpC,gBAAgB,EAAE,MAAM,CAAC;KAC5B,CAAA;IACD,8BAA8B,EAAE,0BAA0B,GAAG;QACzD,gBAAgB,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;CACxB;AAED,qBAAa,aAAc,SAAQ,iBAAiB,CAAC,mBAAmB,CAAC;IAwBjE,OAAO,CAAC,OAAO;IAvBnB,SAAgB,OAAO,SAAc;IACrC,SAAgB,OAAO,eAAsB;IAC7C,SAAgB,UAAU
|
|
1
|
+
{"version":3,"file":"ClientMonitor.d.ts","sourceRoot":"","sources":["../src/ClientMonitor.ts"],"names":[],"mappings":"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"}
|
package/lib/ClientMonitor.js
CHANGED
|
@@ -139,6 +139,7 @@ class ClientMonitor extends TypedEmitter_1.TypedEventEmitter {
|
|
|
139
139
|
async collect() {
|
|
140
140
|
if (this._closed)
|
|
141
141
|
throw new Error('ClientMonitor is closed');
|
|
142
|
+
const started = Date.now();
|
|
142
143
|
const wasUsingTURN = this.peerConnections.some(pc => pc.usingTURN);
|
|
143
144
|
const collectedStats = await this.collectors.collect();
|
|
144
145
|
this.storage.update(collectedStats);
|
|
@@ -146,6 +147,7 @@ class ClientMonitor extends TypedEmitter_1.TypedEventEmitter {
|
|
|
146
147
|
this.emit('stats-collected', {
|
|
147
148
|
collectedStats,
|
|
148
149
|
elapsedSinceLastCollectedInMs: timestamp - this._lastCollectedAt,
|
|
150
|
+
durationOfCollectingStatsInMs: timestamp - started,
|
|
149
151
|
});
|
|
150
152
|
this._lastCollectedAt = timestamp;
|
|
151
153
|
if (this._config.samplingTick && this._config.samplingTick <= ++this._actualCollectingTick) {
|
|
@@ -319,7 +321,7 @@ class ClientMonitor extends TypedEmitter_1.TypedEventEmitter {
|
|
|
319
321
|
createCongestionDetector(options) {
|
|
320
322
|
const existingDetector = this._detectors.get(CongestionDetector_1.CongestionDetector.name);
|
|
321
323
|
const { createIssueOnDetection, ...detectorConfig } = options ?? {
|
|
322
|
-
sensitivity: '
|
|
324
|
+
sensitivity: 'medium',
|
|
323
325
|
};
|
|
324
326
|
if (existingDetector) {
|
|
325
327
|
logger.warn('CongestionDetector is already created, closing the existing one and creating a new one.');
|
|
@@ -370,8 +372,8 @@ class ClientMonitor extends TypedEmitter_1.TypedEventEmitter {
|
|
|
370
372
|
existingDetector.close();
|
|
371
373
|
}
|
|
372
374
|
const detector = new AudioDesyncDetector_1.AudioDesyncDetector({
|
|
373
|
-
fractionalCorrectionAlertOnThreshold: config?.fractionalCorrectionAlertOnThreshold ?? 0.
|
|
374
|
-
fractionalCorrectionAlertOffThreshold: config?.fractionalCorrectionAlertOffThreshold ?? 0.
|
|
375
|
+
fractionalCorrectionAlertOnThreshold: config?.fractionalCorrectionAlertOnThreshold ?? 0.3,
|
|
376
|
+
fractionalCorrectionAlertOffThreshold: config?.fractionalCorrectionAlertOffThreshold ?? 0.15,
|
|
375
377
|
});
|
|
376
378
|
const onUpdate = () => detector.update(this.storage.inboundRtps());
|
|
377
379
|
const { createIssueOnDetection, } = config ?? {};
|
|
@@ -465,8 +467,17 @@ class ClientMonitor extends TypedEmitter_1.TypedEventEmitter {
|
|
|
465
467
|
logger.warn('CpuPerformanceDetector is already created, closing the existing one and creating a new one.');
|
|
466
468
|
existingDetector.close();
|
|
467
469
|
}
|
|
468
|
-
const detector = new CpuPerformanceDetector_1.CpuPerformanceDetector(config ?? {
|
|
469
|
-
|
|
470
|
+
const detector = new CpuPerformanceDetector_1.CpuPerformanceDetector(config ?? {
|
|
471
|
+
fpsVolatilityThresholds: {
|
|
472
|
+
lowWatermark: 0.08,
|
|
473
|
+
highWatermark: 0.15,
|
|
474
|
+
},
|
|
475
|
+
durationOfCollectingStatsThreshold: this._config.collectingPeriodInMs ? {
|
|
476
|
+
lowWatermark: this._config.collectingPeriodInMs * 0.5,
|
|
477
|
+
highWatermark: this._config.collectingPeriodInMs,
|
|
478
|
+
} : undefined,
|
|
479
|
+
});
|
|
480
|
+
const onUpdate = ({ durationOfCollectingStatsInMs }) => detector.update(this.storage.peerConnections(), durationOfCollectingStatsInMs);
|
|
470
481
|
const { createIssueOnDetection, } = config ?? {};
|
|
471
482
|
const onStateChanged = (state) => {
|
|
472
483
|
this.emit('cpulimitation', state);
|
|
@@ -763,8 +774,8 @@ class ClientMonitor extends TypedEmitter_1.TypedEventEmitter {
|
|
|
763
774
|
}
|
|
764
775
|
if (settings.audioDesync) {
|
|
765
776
|
this.createAudioDesyncDetector({
|
|
766
|
-
fractionalCorrectionAlertOffThreshold: 0.
|
|
767
|
-
fractionalCorrectionAlertOnThreshold: 0.
|
|
777
|
+
fractionalCorrectionAlertOffThreshold: 0.15,
|
|
778
|
+
fractionalCorrectionAlertOnThreshold: 0.3,
|
|
768
779
|
createIssueOnDetection: getCreateIssueOnDetection('audioDesync'),
|
|
769
780
|
});
|
|
770
781
|
}
|
|
@@ -775,6 +786,14 @@ class ClientMonitor extends TypedEmitter_1.TypedEventEmitter {
|
|
|
775
786
|
}
|
|
776
787
|
if (settings.cpuLimitation) {
|
|
777
788
|
this.createCpuPerformanceIssueDetector({
|
|
789
|
+
fpsVolatilityThresholds: {
|
|
790
|
+
lowWatermark: 0.08,
|
|
791
|
+
highWatermark: 0.15,
|
|
792
|
+
},
|
|
793
|
+
durationOfCollectingStatsThreshold: this._config.collectingPeriodInMs ? {
|
|
794
|
+
lowWatermark: this._config.collectingPeriodInMs * 0.5,
|
|
795
|
+
highWatermark: this._config.collectingPeriodInMs,
|
|
796
|
+
} : undefined,
|
|
778
797
|
createIssueOnDetection: getCreateIssueOnDetection('cpuLimitation'),
|
|
779
798
|
});
|
|
780
799
|
}
|
package/lib/Collectors.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MediasoupStatsCollectorDeviceInterface } from "./collectors/MediasoupSurrogates";
|
|
2
2
|
import { StatsMap } from "./utils/Stats";
|
|
3
3
|
import { TypedEventEmitter } from "./utils/TypedEmitter";
|
|
4
4
|
import { StatsCollector } from "./collectors/StatsCollector";
|
|
@@ -24,10 +24,11 @@ export declare function createCollectors(config: {
|
|
|
24
24
|
has: (collectorId: string) => boolean;
|
|
25
25
|
addGetStats: (getStats: () => Promise<RTCStatsReport>, label?: string) => StatsCollector;
|
|
26
26
|
addRTCPeerConnection: (peerConnection: RTCPeerConnection, peerConnectionLabel?: string) => StatsCollector;
|
|
27
|
-
addMediasoupDevice: (device:
|
|
27
|
+
addMediasoupDevice: (device: MediasoupStatsCollectorDeviceInterface, collectorId?: string) => {
|
|
28
28
|
readonly id: string;
|
|
29
|
+
readonly transports: ReadonlyMap<string, import("./collectors/MediasoupSurrogates").MediasoupStatsCollectorTransportInterface>;
|
|
29
30
|
close: () => void;
|
|
30
|
-
addTransport: (transport: import("./collectors/MediasoupSurrogates").
|
|
31
|
+
addTransport: (transport: import("./collectors/MediasoupSurrogates").MediasoupStatsCollectorTransportInterface, timestamp?: number | undefined) => void;
|
|
31
32
|
addOutboundTrack: (track: MediaStreamTrack, producerId: string) => void;
|
|
32
33
|
readonly closed: boolean;
|
|
33
34
|
onclose: (() => void) | undefined;
|
package/lib/Collectors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collectors.d.ts","sourceRoot":"","sources":["../src/Collectors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Collectors.d.ts","sourceRoot":"","sources":["../src/Collectors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sCAAsC,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAwD,MAAM,eAAe,CAAC;AAE/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,MAAM,MAAM,cAAc,GAAG;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;CACtB,EAAE,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,KAAK,CAAC;IACf,uBAAuB,EAAE,cAAc,CAAC;IACxC,yBAAyB,EAAE,cAAc,CAAC;IAC1C,mBAAmB,EAAE,eAAe,CAAC;CACxC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAEpE,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACrC,OAAO,EAAE,YAAY,CAAC;CACzB;uBA+J0B,MAAM;uBACN,MAAM;4BA3FE,MAAM,QAAQ,cAAc,CAAC,UAAU,MAAM;2CA4B9B,iBAAiB,wBAAwB,MAAM,KAAG,cAAc;iCAuB1E,sCAAsC,gBAAgB,MAAM;;;;;;;;;mBAhHtE,QAAQ;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,EAAE,CAAC;;;;;;4FAgKO,IAAI;mGAIH,IAAI;oGAIH,IAAI;;EAOrG"}
|
package/lib/Collectors.js
CHANGED
|
@@ -122,7 +122,7 @@ function createCollectors(config) {
|
|
|
122
122
|
function addMediasoupDevice(device, collectorId) {
|
|
123
123
|
logger.trace(`addMediasoupDevice(): mediasoupDevice: `, device);
|
|
124
124
|
const statsCollector = (0, MediasoupStatsCollector_1.createMediasoupStatsCollector)({
|
|
125
|
-
device,
|
|
125
|
+
device: device,
|
|
126
126
|
collectorId,
|
|
127
127
|
storage,
|
|
128
128
|
emitCallEvent: (event) => {
|
package/lib/Sampler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sampler.d.ts","sourceRoot":"","sources":["../src/Sampler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EAEP,YAAY,EAGZ,MAAM,EACN,aAAa,EAKb,WAAW,EAEX,eAAe,EAIf,QAAQ,EAER,eAAe,EACf,mBAAmB,EACtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAMtD,qBAAa,OAAO;IAmBZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAjB7B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,iBAAiB,CAAC,CAAW;IACrC,OAAO,CAAC,gBAAgB,CAAC,CAAW;IACpC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,qBAAqB,CAAC,CAAwB;IACtD,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;gBAGrD,QAAQ,EAAE,YAAY;IAIpC,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAI9B,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,kBAAkB,CAAC,EAAE,EAAE,eAAe;IAItC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK5C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKxC,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAK7C,kBAAkB,CAAC,KAAK,EAAE,eAAe;IAKzC,sBAAsB,CAAC,KAAK,EAAE,mBAAmB;IAKjD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAKrC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAK9C,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM;IAIxB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM;IAIzB,KAAK;IAcL,kBAAkB,IAAI,YAAY;
|
|
1
|
+
{"version":3,"file":"Sampler.d.ts","sourceRoot":"","sources":["../src/Sampler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EAEP,YAAY,EAGZ,MAAM,EACN,aAAa,EAKb,WAAW,EAEX,eAAe,EAIf,QAAQ,EAER,eAAe,EACf,mBAAmB,EACtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAMtD,qBAAa,OAAO;IAmBZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAjB7B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,iBAAiB,CAAC,CAAW;IACrC,OAAO,CAAC,gBAAgB,CAAC,CAAW;IACpC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,qBAAqB,CAAC,CAAwB;IACtD,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;gBAGrD,QAAQ,EAAE,YAAY;IAIpC,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAI9B,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,kBAAkB,CAAC,EAAE,EAAE,eAAe;IAItC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK5C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKxC,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAK7C,kBAAkB,CAAC,KAAK,EAAE,eAAe;IAKzC,sBAAsB,CAAC,KAAK,EAAE,mBAAmB;IAKjD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAKrC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAK9C,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM;IAIxB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM;IAIzB,KAAK;IAcL,kBAAkB,IAAI,YAAY;CAob5C"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { CustomCallEvent } from "../schema/Samples";
|
|
2
2
|
import { StatsStorage } from "../entries/StatsStorage";
|
|
3
|
-
import {
|
|
3
|
+
import { MediasoupStatsCollectorDeviceInterface, MediasoupStatsCollectorTransportInterface } from "./MediasoupSurrogates";
|
|
4
4
|
import { StatsProvider } from "./StatsProvider";
|
|
5
5
|
export type MediasoupStatsCollectorConfig = {
|
|
6
6
|
collectorId?: string;
|
|
7
|
-
device:
|
|
7
|
+
device: MediasoupStatsCollectorDeviceInterface;
|
|
8
8
|
storage: StatsStorage;
|
|
9
9
|
emitCallEvent: ((event: CustomCallEvent) => void);
|
|
10
10
|
addStatsProvider: ((statsProvider: StatsProvider) => void);
|
|
@@ -13,8 +13,9 @@ export type MediasoupStatsCollectorConfig = {
|
|
|
13
13
|
export type MediasoupStatsCollector = ReturnType<typeof createMediasoupStatsCollector>;
|
|
14
14
|
export declare function createMediasoupStatsCollector(config: MediasoupStatsCollectorConfig): {
|
|
15
15
|
readonly id: string;
|
|
16
|
+
readonly transports: ReadonlyMap<string, MediasoupStatsCollectorTransportInterface>;
|
|
16
17
|
close: () => void;
|
|
17
|
-
addTransport: (transport:
|
|
18
|
+
addTransport: (transport: MediasoupStatsCollectorTransportInterface, timestamp?: number) => void;
|
|
18
19
|
addOutboundTrack: (track: MediaStreamTrack, producerId: string) => void;
|
|
19
20
|
readonly closed: boolean;
|
|
20
21
|
onclose: (() => void) | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediasoupStatsCollector.d.ts","sourceRoot":"","sources":["../../src/collectors/MediasoupStatsCollector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAQvD,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"MediasoupStatsCollector.d.ts","sourceRoot":"","sources":["../../src/collectors/MediasoupStatsCollector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAQvD,OAAO,EACH,sCAAsC,EAKtC,yCAAyC,EAC5C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAuB,MAAM,iBAAiB,CAAC;AAKrE,MAAM,MAAM,6BAA6B,GAAG;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,sCAAsC,CAAC;IAC/C,OAAO,EAAE,YAAY,CAAA;IACrB,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC,CAAC;IAClD,gBAAgB,EAAE,CAAC,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC,CAAC;IAC3D,mBAAmB,EAAE,CAAC,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;CAC5D,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEvF,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,6BAA6B;;;;8BA0N9C,yCAAyC,cAAc,MAAM;8BA7K7D,gBAAgB,cAAc,MAAM;;oBAqSpC,IAAI;EAIxC"}
|
|
@@ -1,108 +1,83 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export interface MediasoupProducerObserverSurrogate {
|
|
8
|
-
on<K extends keyof MediasoupProducerObserverEvents>(type: K, listener: (event: MediasoupProducerObserverEvents[K]) => void): this;
|
|
9
|
-
once<K extends keyof MediasoupProducerObserverEvents>(type: K, listener: (event: MediasoupProducerObserverEvents[K]) => void): this;
|
|
10
|
-
off<K extends keyof MediasoupProducerObserverEvents>(type: K, listener: (event: MediasoupProducerObserverEvents[K]) => void): this;
|
|
1
|
+
type MediasoupEvents = Record<string, any[]>;
|
|
2
|
+
type TypeRestriction = string | number;
|
|
3
|
+
interface MediasoupEnhancedEventEmitter<E extends MediasoupEvents = MediasoupEvents> {
|
|
4
|
+
on<K extends keyof E & TypeRestriction>(eventName: K, listener: (...args: E[K]) => void): this;
|
|
5
|
+
off<K extends keyof E & TypeRestriction>(eventName: K, listener: (...args: E[K]) => void): this;
|
|
6
|
+
once<K extends keyof E & TypeRestriction>(eventName: K, listener: (...args: E[K]) => void): this;
|
|
11
7
|
}
|
|
12
|
-
|
|
8
|
+
type ClientMonitorMediasoupProducerObserverEvents = {
|
|
9
|
+
'close': [];
|
|
10
|
+
'pause': [];
|
|
11
|
+
'resume': [];
|
|
12
|
+
'trackended': [];
|
|
13
|
+
};
|
|
14
|
+
type ClientMonitorMediasoupRtpParametersEncoding = {
|
|
13
15
|
ssrc?: number;
|
|
14
16
|
};
|
|
15
|
-
|
|
16
|
-
encodings?:
|
|
17
|
+
type ClientMonitorMediasoupRtpParameters = {
|
|
18
|
+
encodings?: ClientMonitorMediasoupRtpParametersEncoding[];
|
|
17
19
|
};
|
|
18
|
-
export interface
|
|
20
|
+
export interface MediasoupStatsCollectorProducerInterface {
|
|
19
21
|
readonly id: string;
|
|
20
22
|
readonly closed: boolean;
|
|
21
|
-
readonly observer:
|
|
22
|
-
readonly track
|
|
23
|
+
readonly observer: MediasoupEnhancedEventEmitter<ClientMonitorMediasoupProducerObserverEvents>;
|
|
24
|
+
readonly track: MediaStreamTrack | null | undefined;
|
|
23
25
|
readonly kind: "audio" | "video";
|
|
24
|
-
readonly rtpParameters:
|
|
26
|
+
readonly rtpParameters: ClientMonitorMediasoupRtpParameters;
|
|
25
27
|
getStats(): Promise<any>;
|
|
26
28
|
}
|
|
27
|
-
|
|
28
|
-
'close':
|
|
29
|
-
'pause':
|
|
30
|
-
'resume':
|
|
31
|
-
'trackended':
|
|
29
|
+
type MediasoupStatsCollectorConsumerObserverEvents = {
|
|
30
|
+
'close': [];
|
|
31
|
+
'pause': [];
|
|
32
|
+
'resume': [];
|
|
33
|
+
'trackended': [];
|
|
32
34
|
};
|
|
33
|
-
export interface
|
|
34
|
-
on<K extends keyof MediasoupConsumerObserverEvents>(type: K, listener: (event: MediasoupConsumerObserverEvents[K]) => void): this;
|
|
35
|
-
once<K extends keyof MediasoupConsumerObserverEvents>(type: K, listener: (event: MediasoupConsumerObserverEvents[K]) => void): this;
|
|
36
|
-
off<K extends keyof MediasoupConsumerObserverEvents>(type: K, listener: (event: MediasoupConsumerObserverEvents[K]) => void): this;
|
|
37
|
-
}
|
|
38
|
-
export interface MediasoupConsumerSurrogate {
|
|
35
|
+
export interface MediasoupStatsCollectorConsumerInterface {
|
|
39
36
|
readonly id: string;
|
|
40
37
|
readonly producerId: string;
|
|
41
|
-
readonly observer:
|
|
38
|
+
readonly observer: MediasoupEnhancedEventEmitter<MediasoupStatsCollectorConsumerObserverEvents>;
|
|
42
39
|
readonly track: MediaStreamTrack;
|
|
43
40
|
readonly kind: "audio" | "video";
|
|
44
|
-
readonly rtpParameters:
|
|
41
|
+
readonly rtpParameters: ClientMonitorMediasoupRtpParameters;
|
|
45
42
|
getStats(): Promise<RTCStatsReport>;
|
|
46
43
|
}
|
|
47
|
-
|
|
48
|
-
'close':
|
|
44
|
+
type MediasoupStatsCollectorDataProducerObserverEvents = {
|
|
45
|
+
'close': [];
|
|
49
46
|
};
|
|
50
|
-
export interface
|
|
51
|
-
on<K extends keyof MediasoupDataProducerObserverEvents>(type: K, listener: (event: MediasoupDataProducerObserverEvents[K]) => void): this;
|
|
52
|
-
once<K extends keyof MediasoupDataProducerObserverEvents>(type: K, listener: (event: MediasoupDataProducerObserverEvents[K]) => void): this;
|
|
53
|
-
off<K extends keyof MediasoupDataProducerObserverEvents>(type: K, listener: (event: MediasoupDataProducerObserverEvents[K]) => void): this;
|
|
54
|
-
}
|
|
55
|
-
export interface MediasoupDataProducerSurrogate {
|
|
47
|
+
export interface MediasoupStatsCollectorDataProducerInterface {
|
|
56
48
|
readonly id: string;
|
|
57
|
-
readonly observer:
|
|
49
|
+
readonly observer: MediasoupEnhancedEventEmitter<MediasoupStatsCollectorDataProducerObserverEvents>;
|
|
58
50
|
}
|
|
59
|
-
|
|
60
|
-
'close':
|
|
51
|
+
type MediasoupStatsCollectorDataConsumerObserverEvents = {
|
|
52
|
+
'close': [];
|
|
61
53
|
};
|
|
62
|
-
export interface
|
|
63
|
-
on<K extends keyof MediasoupDataConsumerObserverEvents>(type: K, listener: (event: MediasoupDataConsumerObserverEvents[K]) => void): this;
|
|
64
|
-
once<K extends keyof MediasoupDataConsumerObserverEvents>(type: K, listener: (event: MediasoupDataConsumerObserverEvents[K]) => void): this;
|
|
65
|
-
off<K extends keyof MediasoupDataConsumerObserverEvents>(type: K, listener: (event: MediasoupDataConsumerObserverEvents[K]) => void): this;
|
|
66
|
-
}
|
|
67
|
-
export interface MediasoupDataConsumerSurrogate {
|
|
54
|
+
export interface MediasoupStatsCollectorDataConsumerInterface {
|
|
68
55
|
readonly id: string;
|
|
69
56
|
readonly dataProducerId: string;
|
|
70
|
-
readonly observer:
|
|
57
|
+
readonly observer: MediasoupEnhancedEventEmitter<MediasoupStatsCollectorDataConsumerObserverEvents>;
|
|
71
58
|
}
|
|
72
|
-
|
|
73
|
-
'close':
|
|
74
|
-
'newproducer':
|
|
75
|
-
'newconsumer':
|
|
76
|
-
'newdataproducer':
|
|
77
|
-
'newdataconsumer':
|
|
59
|
+
type MediasoupStatsCollectorTransportObserverEvents = {
|
|
60
|
+
'close': [];
|
|
61
|
+
'newproducer': [MediasoupStatsCollectorProducerInterface];
|
|
62
|
+
'newconsumer': [MediasoupStatsCollectorConsumerInterface];
|
|
63
|
+
'newdataproducer': [MediasoupStatsCollectorDataProducerInterface];
|
|
64
|
+
'newdataconsumer': [MediasoupStatsCollectorDataConsumerInterface];
|
|
78
65
|
};
|
|
79
|
-
export
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
off<K extends keyof MediasoupTransportObserverEvents>(type: K, listener: (event: MediasoupTransportObserverEvents[K]) => void): this;
|
|
83
|
-
}
|
|
84
|
-
export type MediasoupTransportEvents = {
|
|
85
|
-
'connect': undefined;
|
|
86
|
-
'connectionstatechange': RTCPeerConnectionState;
|
|
87
|
-
'icegatheringstatechange': RTCIceGatheringState;
|
|
88
|
-
'produce': undefined;
|
|
66
|
+
export type MediasoupStatsCollectorTransportEvents = {
|
|
67
|
+
'connectionstatechange': [RTCPeerConnectionState];
|
|
68
|
+
'icegatheringstatechange': [RTCIceGatheringState];
|
|
89
69
|
};
|
|
90
|
-
export interface
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
readonly observer:
|
|
94
|
-
on<K extends keyof MediasoupTransportEvents>(type: K, listener: (event: MediasoupTransportEvents[K]) => void): this;
|
|
95
|
-
off<K extends keyof MediasoupTransportEvents>(type: K, listener: (event: MediasoupTransportEvents[K]) => void): this;
|
|
70
|
+
export interface MediasoupStatsCollectorTransportInterface extends MediasoupEnhancedEventEmitter<MediasoupStatsCollectorTransportEvents> {
|
|
71
|
+
id: string;
|
|
72
|
+
direction: 'send' | 'recv';
|
|
73
|
+
readonly observer: MediasoupEnhancedEventEmitter<MediasoupStatsCollectorTransportObserverEvents>;
|
|
96
74
|
getStats(): Promise<RTCStatsReport>;
|
|
97
75
|
}
|
|
98
|
-
export type
|
|
99
|
-
'newtransport':
|
|
76
|
+
export type MediasoupStatsCollectorDeviceObserverEvents = {
|
|
77
|
+
'newtransport': [MediasoupStatsCollectorTransportInterface];
|
|
100
78
|
};
|
|
101
|
-
export interface
|
|
102
|
-
|
|
103
|
-
off<K extends keyof MediaosupDeviceObserverEvents>(type: K, listener: (event: MediaosupDeviceObserverEvents[K]) => void): this;
|
|
104
|
-
}
|
|
105
|
-
export interface MediaosupDeviceSurrogate {
|
|
106
|
-
readonly observer: MediasoupDeviceObserver;
|
|
79
|
+
export interface MediasoupStatsCollectorDeviceInterface {
|
|
80
|
+
readonly observer: MediasoupEnhancedEventEmitter<MediasoupStatsCollectorDeviceObserverEvents>;
|
|
107
81
|
}
|
|
82
|
+
export {};
|
|
108
83
|
//# sourceMappingURL=MediasoupSurrogates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediasoupSurrogates.d.ts","sourceRoot":"","sources":["../../src/collectors/MediasoupSurrogates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MediasoupSurrogates.d.ts","sourceRoot":"","sources":["../../src/collectors/MediasoupSurrogates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PeerConnectionStatsCollector.d.ts","sourceRoot":"","sources":["../../src/collectors/PeerConnectionStatsCollector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,MAAM,MAAM,4BAA4B,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAE5F,MAAM,MAAM,kCAAkC,GAAG;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,iBAAiB,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC,CAAC;IAClD,OAAO,EAAE,YAAY,CAAC;CACzB,CAAA;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,kCAAkC;;;;;oBAWzD,QAAQ,cAAc,CAAC;;
|
|
1
|
+
{"version":3,"file":"PeerConnectionStatsCollector.d.ts","sourceRoot":"","sources":["../../src/collectors/PeerConnectionStatsCollector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,MAAM,MAAM,4BAA4B,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAE5F,MAAM,MAAM,kCAAkC,GAAG;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,iBAAiB,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC,CAAC;IAClD,OAAO,EAAE,YAAY,CAAC;CACzB,CAAA;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,kCAAkC;;;;;oBAWzD,QAAQ,cAAc,CAAC;;oBAmHpB,IAAI;;EAOrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/collectors/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAYpD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IAC1C,KAAK,EAAE,gBAAgB,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC,CAAC;CAClD,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/collectors/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAYpD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IAC1C,KAAK,EAAE,gBAAgB,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC,CAAC;CAClD,QAwDA;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAChD,WAAW,EAAE,cAAc,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC,CAAC;CAClD,QAqCA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CongestionDetector.d.ts","sourceRoot":"","sources":["../../src/detectors/CongestionDetector.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAyB,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,KAAK,mBAAmB,GAAG;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,EAAE,OAAO,CAAC;IACnB,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACxC,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACtC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5B,UAAU,EAAE;QAAC;YACZ,iBAAiB,EAAE,MAAM,EAAE,CAAC;YAC5B,+BAA+B,CAAC,EAAE,MAAM,CAAC;YACzC,8BAA8B,CAAC,EAAE,MAAM,CAAC;YACxC,+BAA+B,CAAC,EAAE,MAAM,CAAC;YACzC,8BAA8B,CAAC,EAAE,MAAM,CAAC;SACxC;KAAC,CAAC;IACH,KAAK,EAAE,EAAE,CAAC;CACV,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACtC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACvC,CAAA;AAED,MAAM,CAAC,OAAO,WAAW,kBAAmB,SAAQ,QAAQ;IAC3D,EAAE,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACzH,GAAG,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1H,IAAI,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3H,IAAI,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CAC1G;AAED,qBAAa,kBAAmB,SAAQ,YAAY;aAKlC,MAAM,EAAE,wBAAwB;IAJjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAA0C;gBAGxC,MAAM,EAAE,wBAAwB;IAMjD,IAAW,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAE5D;IAEM,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"CongestionDetector.d.ts","sourceRoot":"","sources":["../../src/detectors/CongestionDetector.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAyB,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,KAAK,mBAAmB,GAAG;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,EAAE,OAAO,CAAC;IACnB,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACxC,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACtC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5B,UAAU,EAAE;QAAC;YACZ,iBAAiB,EAAE,MAAM,EAAE,CAAC;YAC5B,+BAA+B,CAAC,EAAE,MAAM,CAAC;YACzC,8BAA8B,CAAC,EAAE,MAAM,CAAC;YACxC,+BAA+B,CAAC,EAAE,MAAM,CAAC;YACzC,8BAA8B,CAAC,EAAE,MAAM,CAAC;SACxC;KAAC,CAAC;IACH,KAAK,EAAE,EAAE,CAAC;CACV,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACtC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACvC,CAAA;AAED,MAAM,CAAC,OAAO,WAAW,kBAAmB,SAAQ,QAAQ;IAC3D,EAAE,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACzH,GAAG,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1H,IAAI,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3H,IAAI,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CAC1G;AAED,qBAAa,kBAAmB,SAAQ,YAAY;aAKlC,MAAM,EAAE,wBAAwB;IAJjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAA0C;gBAGxC,MAAM,EAAE,wBAAwB;IAMjD,IAAW,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAE5D;IAEM,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,mBAAmB,CAAC;IA4HpE,IAAW,MAAM,YAEhB;IAEM,KAAK;CAMZ"}
|
|
@@ -45,9 +45,6 @@ class CongestionDetector extends events_1.default {
|
|
|
45
45
|
if (state.ewmaRttInS === undefined) {
|
|
46
46
|
state.ewmaRttInS = peerConnection.avgRttInS;
|
|
47
47
|
}
|
|
48
|
-
else {
|
|
49
|
-
state.ewmaRttInS = 0.9 * state.ewmaRttInS + 0.1 * peerConnection.avgRttInS;
|
|
50
|
-
}
|
|
51
48
|
rttDiffInS = Math.abs(peerConnection.avgRttInS - state.ewmaRttInS);
|
|
52
49
|
}
|
|
53
50
|
let isCongested = false;
|
|
@@ -69,6 +66,10 @@ class CongestionDetector extends events_1.default {
|
|
|
69
66
|
break;
|
|
70
67
|
}
|
|
71
68
|
}
|
|
69
|
+
if (peerConnection.avgRttInS && state.ewmaRttInS) {
|
|
70
|
+
const alpha = isCongested ? 0.02 : 0.1;
|
|
71
|
+
state.ewmaRttInS = ((1.0 - alpha) * state.ewmaRttInS) + (alpha * peerConnection.avgRttInS);
|
|
72
|
+
}
|
|
72
73
|
peerConnection.sendingFractionalLoss;
|
|
73
74
|
let selectedCandidatePair;
|
|
74
75
|
for (const transport of peerConnection.transports()) {
|
|
@@ -3,7 +3,16 @@ import EventEmitter from "events";
|
|
|
3
3
|
import { AlertState } from "../ClientMonitor";
|
|
4
4
|
import { PeerConnectionEntry } from "../entries/StatsEntryInterfaces";
|
|
5
5
|
import { Detector } from "./Detector";
|
|
6
|
-
export type CpuPerformanceDetectorConfig = {
|
|
6
|
+
export type CpuPerformanceDetectorConfig = {
|
|
7
|
+
fpsVolatilityThresholds?: {
|
|
8
|
+
lowWatermark: number;
|
|
9
|
+
highWatermark: number;
|
|
10
|
+
};
|
|
11
|
+
durationOfCollectingStatsThreshold?: {
|
|
12
|
+
lowWatermark: number;
|
|
13
|
+
highWatermark: number;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
7
16
|
export type CpuPerformanceDetectorEvents = {
|
|
8
17
|
'alert-state': [AlertState];
|
|
9
18
|
statechanged: [AlertState];
|
|
@@ -20,7 +29,7 @@ export declare class CpuPerformanceDetector extends EventEmitter {
|
|
|
20
29
|
private _closed;
|
|
21
30
|
private _alertState;
|
|
22
31
|
constructor(config: CpuPerformanceDetectorConfig);
|
|
23
|
-
update(peerConnections: IterableIterator<PeerConnectionEntry
|
|
32
|
+
update(peerConnections: IterableIterator<PeerConnectionEntry>, durationOfCollectingStatsInMs: number): void;
|
|
24
33
|
get closed(): boolean;
|
|
25
34
|
close(): void;
|
|
26
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CpuPerformanceDetector.d.ts","sourceRoot":"","sources":["../../src/detectors/CpuPerformanceDetector.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,4BAA4B,GAAG,
|
|
1
|
+
{"version":3,"file":"CpuPerformanceDetector.d.ts","sourceRoot":"","sources":["../../src/detectors/CpuPerformanceDetector.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,4BAA4B,GAAG;IAG1C,uBAAuB,CAAC,EAAE;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,kCAAkC,CAAC,EAAE;QACpC,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACtB,CAAA;CAGD,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IAC1C,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5B,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC;IAC3B,KAAK,EAAE,EAAE,CAAC;CACV,CAAA;AAED,MAAM,CAAC,OAAO,WAAW,sBAAuB,SAAQ,QAAQ;IAC/D,EAAE,CAAC,CAAC,SAAS,MAAM,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACjI,GAAG,CAAC,CAAC,SAAS,MAAM,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAClI,IAAI,CAAC,CAAC,SAAS,MAAM,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,4BAA4B,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACnI,IAAI,CAAC,CAAC,SAAS,MAAM,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,4BAA4B,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CAClH;AAED,qBAAa,sBAAuB,SAAQ,YAAY;aAKtC,MAAM,EAAE,4BAA4B;IAJrD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAqB;gBAGvB,MAAM,EAAE,4BAA4B;IAO9C,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,6BAA6B,EAAE,MAAM;IAgD3G,IAAW,MAAM,YAEhB;IAEM,KAAK;CAKZ"}
|
|
@@ -13,16 +13,47 @@ class CpuPerformanceDetector extends events_1.default {
|
|
|
13
13
|
this._alertState = 'off';
|
|
14
14
|
this.setMaxListeners(Infinity);
|
|
15
15
|
}
|
|
16
|
-
update(peerConnections) {
|
|
16
|
+
update(peerConnections, durationOfCollectingStatsInMs) {
|
|
17
|
+
const isLimited = this._alertState === 'on';
|
|
17
18
|
let gotLimited = false;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
const { lowWatermark: lowFpsVolatility, highWatermark: highFpsVolatility } = this.config.fpsVolatilityThresholds ?? {};
|
|
20
|
+
if (this.config.durationOfCollectingStatsThreshold) {
|
|
21
|
+
const { lowWatermark, highWatermark } = this.config.durationOfCollectingStatsThreshold;
|
|
22
|
+
if (isLimited) {
|
|
23
|
+
gotLimited = lowWatermark < durationOfCollectingStatsInMs;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
if (highWatermark < durationOfCollectingStatsInMs) {
|
|
27
|
+
gotLimited = true;
|
|
28
|
+
}
|
|
21
29
|
}
|
|
22
30
|
}
|
|
23
|
-
|
|
31
|
+
if (!gotLimited)
|
|
32
|
+
for (const peerConnection of peerConnections) {
|
|
33
|
+
for (const outboundRtp of peerConnection.outboundRtps()) {
|
|
34
|
+
gotLimited || (gotLimited = outboundRtp.stats.qualityLimitationReason === 'cpu');
|
|
35
|
+
outboundRtp.stats.framesEncoded;
|
|
36
|
+
}
|
|
37
|
+
if (lowFpsVolatility && highFpsVolatility)
|
|
38
|
+
for (const inboundRtp of peerConnection.inboundRtps()) {
|
|
39
|
+
if (gotLimited)
|
|
40
|
+
continue;
|
|
41
|
+
if (!inboundRtp.fpsVolatility)
|
|
42
|
+
continue;
|
|
43
|
+
if (!inboundRtp.avgFramesPerSec || inboundRtp.avgFramesPerSec < 10)
|
|
44
|
+
continue;
|
|
45
|
+
if (isLimited) {
|
|
46
|
+
gotLimited = lowFpsVolatility < inboundRtp.fpsVolatility;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
if (highFpsVolatility < inboundRtp.fpsVolatility) {
|
|
50
|
+
gotLimited = true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
24
55
|
this._alertState = gotLimited ? 'on' : 'off';
|
|
25
|
-
if (
|
|
56
|
+
if (isLimited !== gotLimited) {
|
|
26
57
|
this.emit('statechanged', this._alertState);
|
|
27
58
|
this.emit('alert-state', this._alertState);
|
|
28
59
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import EventEmitter from "events";
|
|
3
|
+
import { AlertState } from "../ClientMonitor";
|
|
4
|
+
import { OutboundRtpEntry } from "../entries/StatsEntryInterfaces";
|
|
5
|
+
import { Detector } from "./Detector";
|
|
6
|
+
export type LayersChangedDetectorConfig = {
|
|
7
|
+
bitrateDroppedThreshold?: number;
|
|
8
|
+
};
|
|
9
|
+
export type LayersChangedDetectorEvents = {
|
|
10
|
+
'alert-state': [AlertState];
|
|
11
|
+
desync: [string];
|
|
12
|
+
'track-layer-changed': [
|
|
13
|
+
{
|
|
14
|
+
trackId: string;
|
|
15
|
+
peerConnectionId: string;
|
|
16
|
+
bitrateBefore: number;
|
|
17
|
+
bitrateAfter: number;
|
|
18
|
+
}
|
|
19
|
+
];
|
|
20
|
+
close: [];
|
|
21
|
+
};
|
|
22
|
+
export declare interface LayersChangedDetector extends Detector {
|
|
23
|
+
on<K extends keyof LayersChangedDetectorEvents>(event: K, listener: (...events: LayersChangedDetectorEvents[K]) => void): this;
|
|
24
|
+
off<K extends keyof LayersChangedDetectorEvents>(event: K, listener: (...events: LayersChangedDetectorEvents[K]) => void): this;
|
|
25
|
+
once<K extends keyof LayersChangedDetectorEvents>(event: K, listener: (...events: LayersChangedDetectorEvents[K]) => void): this;
|
|
26
|
+
emit<K extends keyof LayersChangedDetectorEvents>(event: K, ...events: LayersChangedDetectorEvents[K]): boolean;
|
|
27
|
+
}
|
|
28
|
+
export declare class LayersChangedDetector extends EventEmitter {
|
|
29
|
+
private readonly config;
|
|
30
|
+
private _closed;
|
|
31
|
+
private readonly _traces;
|
|
32
|
+
constructor(config: LayersChangedDetectorConfig);
|
|
33
|
+
get closed(): boolean;
|
|
34
|
+
close(): void;
|
|
35
|
+
update(outboundRtps: IterableIterator<OutboundRtpEntry>): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=LayersChanged.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LayersChanged.d.ts","sourceRoot":"","sources":["../../src/detectors/LayersChanged.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,2BAA2B,GAAG;IACzC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACzC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;IACjB,qBAAqB,EAAE;QAAC;YACvB,OAAO,EAAE,MAAM,CAAC;YAChB,gBAAgB,EAAE,MAAM,CAAC;YACzB,aAAa,EAAE,MAAM,CAAC;YACtB,YAAY,EAAE,MAAM,CAAC;SACrB;KAAC,CAAA;IACF,KAAK,EAAE,EAAE,CAAC;CACV,CAAA;AAUD,MAAM,CAAC,OAAO,WAAW,qBAAsB,SAAQ,QAAQ;IAC9D,EAAE,CAAC,CAAC,SAAS,MAAM,2BAA2B,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/H,GAAG,CAAC,CAAC,SAAS,MAAM,2BAA2B,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAChI,IAAI,CAAC,CAAC,SAAS,MAAM,2BAA2B,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACjI,IAAI,CAAC,CAAC,SAAS,MAAM,2BAA2B,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CAChH;AAED,qBAAa,qBAAsB,SAAQ,YAAY;IAKrD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;gBAG/C,MAAM,EAAE,2BAA2B;IAOrD,IAAW,MAAM,YAEhB;IAEM,KAAK;IAQL,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,gBAAgB,CAAC;CA0D9D"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.LayersChangedDetector = void 0;
|
|
7
|
+
const events_1 = __importDefault(require("events"));
|
|
8
|
+
class LayersChangedDetector extends events_1.default {
|
|
9
|
+
constructor(config) {
|
|
10
|
+
super();
|
|
11
|
+
this.config = config;
|
|
12
|
+
this._closed = false;
|
|
13
|
+
this._traces = new Map();
|
|
14
|
+
this.setMaxListeners(Infinity);
|
|
15
|
+
}
|
|
16
|
+
get closed() {
|
|
17
|
+
return this._closed;
|
|
18
|
+
}
|
|
19
|
+
close() {
|
|
20
|
+
if (this._closed)
|
|
21
|
+
return;
|
|
22
|
+
this._closed = true;
|
|
23
|
+
this._traces.clear();
|
|
24
|
+
this.emit('close');
|
|
25
|
+
}
|
|
26
|
+
update(outboundRtps) {
|
|
27
|
+
for (const outboundRtp of outboundRtps) {
|
|
28
|
+
const trackId = outboundRtp.getTrackId();
|
|
29
|
+
if (!trackId || !outboundRtp.stats.bytesSent)
|
|
30
|
+
continue;
|
|
31
|
+
let trace = this._traces.get(trackId);
|
|
32
|
+
if (!trace) {
|
|
33
|
+
trace = {
|
|
34
|
+
visited: false,
|
|
35
|
+
};
|
|
36
|
+
this._traces.set(trackId, trace);
|
|
37
|
+
}
|
|
38
|
+
trace.visited = true;
|
|
39
|
+
if (!this.config.bitrateDroppedThreshold)
|
|
40
|
+
continue;
|
|
41
|
+
switch (outboundRtp.getCodec()?.stats.mimeType) {
|
|
42
|
+
case 'audio/opus':
|
|
43
|
+
continue;
|
|
44
|
+
case 'video/vp8':
|
|
45
|
+
// only vp8 has different SSRCs for different layers
|
|
46
|
+
break;
|
|
47
|
+
case 'video/vp9':
|
|
48
|
+
continue;
|
|
49
|
+
default:
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
let layerTrace = trace[outboundRtp.stats.ssrc];
|
|
53
|
+
if (!layerTrace) {
|
|
54
|
+
layerTrace = {
|
|
55
|
+
totalBytesSent: 0,
|
|
56
|
+
};
|
|
57
|
+
trace[outboundRtp.stats.ssrc] = layerTrace;
|
|
58
|
+
}
|
|
59
|
+
if (outboundRtp.stats.bytesSent) {
|
|
60
|
+
layerTrace.totalBytesSent = outboundRtp.stats.bytesSent;
|
|
61
|
+
}
|
|
62
|
+
trace[outboundRtp.stats.ssrc] = {
|
|
63
|
+
totalBytesSent: outboundRtp.stats.bytesSent,
|
|
64
|
+
};
|
|
65
|
+
outboundRtp.stats.active;
|
|
66
|
+
}
|
|
67
|
+
for (const [trackId, trace] of this._traces.entries()) {
|
|
68
|
+
if (trace.visited === false) {
|
|
69
|
+
this._traces.delete(trackId);
|
|
70
|
+
}
|
|
71
|
+
trace.visited = false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.LayersChangedDetector = LayersChangedDetector;
|
|
@@ -41,6 +41,7 @@ export declare class PeerConnectionEntryManifest implements PeerConnectionEntry
|
|
|
41
41
|
_connectionEstablihedDurationInMs?: number;
|
|
42
42
|
readonly config: {
|
|
43
43
|
outbStabilityScoresLength: number;
|
|
44
|
+
framesPerSecWindowLength: number;
|
|
44
45
|
};
|
|
45
46
|
private readonly _emitter;
|
|
46
47
|
private _closed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PeerConnectionEntryManifest.d.ts","sourceRoot":"","sources":["../../src/entries/PeerConnectionEntryManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAoC,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EACH,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAEhB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,+BAA+B,CAAA;AACpD,OAAO,EAAqB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASnD,qBAAa,2BAA4B,YAAW,mBAAmB;aA6E/C,OAAO,EAAE,YAAY;aACrB,gBAAgB,EAAE,MAAM;aACxB,KAAK,EAAE,MAAM,GAAG,SAAS;IA7EtC,uBAAuB,SAAK;IAC5B,2BAA2B,SAAK;IAChC,wBAAwB,SAAK;IAC7B,4BAA4B,SAAK;IACjC,wBAAwB,SAAK;IAC7B,yBAAyB,SAAK;IAC9B,6BAA6B,SAAK;IAClC,mBAAmB,SAAK;IACxB,mBAAmB,SAAK;IACxB,uBAAuB,SAAK;IAC5B,uBAAuB,SAAK;IAE5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"PeerConnectionEntryManifest.d.ts","sourceRoot":"","sources":["../../src/entries/PeerConnectionEntryManifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,7 @@ class PeerConnectionEntryManifest {
|
|
|
48
48
|
this._iceServers = new Map();
|
|
49
49
|
this.config = {
|
|
50
50
|
outbStabilityScoresLength: 10,
|
|
51
|
+
framesPerSecWindowLength: 8,
|
|
51
52
|
};
|
|
52
53
|
this._inboundRtps
|
|
53
54
|
.addIndex(SSRC_INDEX, (entry) => entry.stats.ssrc);
|
|
@@ -260,6 +261,16 @@ class PeerConnectionEntryManifest {
|
|
|
260
261
|
}
|
|
261
262
|
else if (entry.stats.kind === 'video') {
|
|
262
263
|
entry.score = (0, UpdateFields_1.calculateVideoMOS)(entry.receivingBitrate, entry.stats.frameWidth ?? 640, entry.stats.frameHeight ?? 480, entry.avgJitterBufferDelayInMs, (this.avgRttInS ?? 0) * 1000.0, 'vp8', entry.stats.framesPerSecond ?? 30, entry.expectedFrameRate ?? 30);
|
|
264
|
+
entry.framesPerSecond && entry.lastNFramesPerSec.push(entry.framesPerSecond);
|
|
265
|
+
while (this.config.framesPerSecWindowLength < entry.lastNFramesPerSec.length) {
|
|
266
|
+
entry.lastNFramesPerSec.shift();
|
|
267
|
+
}
|
|
268
|
+
if (0 < entry.lastNFramesPerSec.length) {
|
|
269
|
+
const avgFramesPerSec = entry.lastNFramesPerSec.reduce((acc, fps) => acc + fps, 0) / entry.lastNFramesPerSec.length;
|
|
270
|
+
const avgDiff = entry.lastNFramesPerSec.reduce((acc, fps) => acc + Math.abs(fps - avgFramesPerSec), 0) / entry.lastNFramesPerSec.length;
|
|
271
|
+
entry.avgFramesPerSec = avgFramesPerSec;
|
|
272
|
+
entry.fpsVolatility = avgDiff / avgFramesPerSec;
|
|
273
|
+
}
|
|
263
274
|
}
|
|
264
275
|
}
|
|
265
276
|
_visitOutboundRtp(stats) {
|
|
@@ -533,6 +544,7 @@ class PeerConnectionEntryManifest {
|
|
|
533
544
|
stats,
|
|
534
545
|
visited: true,
|
|
535
546
|
expectedFrameRate: stats.kind === 'video' ? 30 : undefined,
|
|
547
|
+
lastNFramesPerSec: [],
|
|
536
548
|
getPeerConnection: () => {
|
|
537
549
|
return this;
|
|
538
550
|
},
|
|
@@ -67,6 +67,12 @@ export interface InboundRtpEntry extends ReceivedRtpStreamEntry, StatsEntryAbs {
|
|
|
67
67
|
fractionLoss?: number;
|
|
68
68
|
avgRttInS?: number;
|
|
69
69
|
framesPerSecond?: number;
|
|
70
|
+
/**
|
|
71
|
+
* a number between 0 and 1 that indicates the volatility of the decoded frames per sec
|
|
72
|
+
*/
|
|
73
|
+
fpsVolatility?: number;
|
|
74
|
+
avgFramesPerSec?: number;
|
|
75
|
+
lastNFramesPerSec: number[];
|
|
70
76
|
/**
|
|
71
77
|
* Navigate to the related ReceiverEntry
|
|
72
78
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatsEntryInterfaces.d.ts","sourceRoot":"","sources":["../../src/entries/StatsEntryInterfaces.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StatsEntryInterfaces.d.ts","sourceRoot":"","sources":["../../src/entries/StatsEntryInterfaces.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export type { StatsProvider } from "./collectors/StatsProvider";
|
|
|
3
3
|
export type { MediasoupStatsCollector } from "./collectors/MediasoupStatsCollector";
|
|
4
4
|
export type { PeerConnectionStatsCollector } from "./collectors/PeerConnectionStatsCollector";
|
|
5
5
|
export type { ClientIssue, ClientMonitor, ClientMonitorConfig, ClientMonitorEvents, } from "./ClientMonitor";
|
|
6
|
+
export type { MediasoupStatsCollectorDeviceInterface, } from "./collectors/MediasoupSurrogates";
|
|
6
7
|
export type { VideoFreezesDetector, VideoFreezesDetectorConfig, FreezedVideoStartedEvent, FreezedVideoEndedEvent, } from './detectors/VideoFreezesDetector';
|
|
7
8
|
export type { CongestionDetector, CongestionDetectorConfig } from './detectors/CongestionDetector';
|
|
8
9
|
export type { CpuPerformanceDetector, CpuPerformanceDetectorConfig } from './detectors/CpuPerformanceDetector';
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,YAAY,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAC9F,YAAY,EACR,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,YAAY,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAC9F,YAAY,EACR,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACR,sCAAsC,GACzC,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EACR,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACR,kBAAkB,EAClB,wBAAwB,EAC3B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACR,sBAAsB,EACtB,4BAA4B,EAC/B,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EACR,mBAAmB,EACnB,yBAAyB,EAC5B,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,YAAY,EACR,QAAQ,GACX,MAAM,eAAe,CAAC;AAEvB,YAAY,EACR,YAAY,EACZ,kBAAkB,GACrB,MAAM,wBAAwB,CAAA;AAE/B,YAAY,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,mBAAmB,GACtB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAEzD,YAAY,EACX,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EACf,eAAe,GAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAyC,MAAM,gBAAgB,CAAC;AAGjF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG;IACxE;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB,GAAG,aAAa,CA8BhB;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,aAAa,QAEpE;AAED,OAAO,EACH,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callEvents.d.ts","sourceRoot":"","sources":["../../src/utils/callEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,KAAK,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAElE,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,UAAU,CAAC,GAC/C,eAAe,CAOjB;AAED,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,UAAU,CAAC,GAC/C,eAAe,CAOjB;AAED,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,CAAC,GACvD,eAAe,CAQjB;AAED,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,CAAC,GACvD,eAAe,CAQjB;AAED,wBAAgB,0BAA0B,CACzC,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,GAAG,cAAc,CAAC,GACxE,eAAe,CASjB;AAED,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,GAAG,cAAc,CAAC,GACxE,eAAe,CASjB;AAED,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,GAAG,cAAc,CAAC,GACxE,eAAe,CASjB;AAED,wBAAgB,0BAA0B,CACzC,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,GAAG,cAAc,CAAC,GACxE,eAAe,CASjB;AAED,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,GAAG,cAAc,CAAC,GACxE,eAAe,CASjB;AAED,wBAAgB,mCAAmC,CAClD,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,CAAC,GAAG;IAC3D,iBAAiB,EAAE,oBAAoB,CAAC;CACxC,GACC,eAAe,CAWjB;AAED,wBAAgB,qCAAqC,CACpD,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,CAAC,GAAG;IAC3D,mBAAmB,EAAE,sBAAsB,CAAC;CAC5C,GACC,eAAe,
|
|
1
|
+
{"version":3,"file":"callEvents.d.ts","sourceRoot":"","sources":["../../src/utils/callEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,KAAK,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAElE,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,UAAU,CAAC,GAC/C,eAAe,CAOjB;AAED,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,UAAU,CAAC,GAC/C,eAAe,CAOjB;AAED,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,CAAC,GACvD,eAAe,CAQjB;AAED,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,CAAC,GACvD,eAAe,CAQjB;AAED,wBAAgB,0BAA0B,CACzC,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,GAAG,cAAc,CAAC,GACxE,eAAe,CASjB;AAED,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,GAAG,cAAc,CAAC,GACxE,eAAe,CASjB;AAED,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,GAAG,cAAc,CAAC,GACxE,eAAe,CASjB;AAED,wBAAgB,0BAA0B,CACzC,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,GAAG,cAAc,CAAC,GACxE,eAAe,CASjB;AAED,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,GAAG,cAAc,CAAC,GACxE,eAAe,CASjB;AAED,wBAAgB,mCAAmC,CAClD,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,CAAC,GAAG;IAC3D,iBAAiB,EAAE,oBAAoB,CAAC;CACxC,GACC,eAAe,CAWjB;AAED,wBAAgB,qCAAqC,CACpD,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,CAAC,GAAG;IAC3D,mBAAmB,EAAE,sBAAsB,CAAC;CAC5C,GACC,eAAe,CAYjB;AAED,wBAAgB,oCAAoC,CACnD,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,CAAC,GAAG;IAC3D,kBAAkB,EAAE,qBAAqB,CAAC;CAC1C,GACC,eAAe,CAWjB;AAED,wBAAgB,0BAA0B,CACzC,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,CAAC,GACvD,eAAe,CAQjB;AAED,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,CAAC,GACvD,eAAe,CAQjB;AAED,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,UAAU,CAAC,gBAAgB,EAAI,kBAAkB,CAAC,GACvD,eAAe,CAQjB"}
|
package/lib/utils/callEvents.js
CHANGED
|
@@ -117,6 +117,7 @@ function createPeerConnectionStateChangedEvent(event) {
|
|
|
117
117
|
timestamp: event.timestamp ?? Date.now(),
|
|
118
118
|
attachments: JSON.stringify({
|
|
119
119
|
iceConnectionState: event.peerConnectionState,
|
|
120
|
+
pcConnectionState: event.peerConnectionState,
|
|
120
121
|
}),
|
|
121
122
|
};
|
|
122
123
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@observertc/client-monitor-js",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.11.0",
|
|
4
4
|
"description": "ObserveRTC Client Integration Javascript Library",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"@types/jest": "^29.5.3",
|
|
40
40
|
"@types/ua-parser-js": "^0.7.39",
|
|
41
41
|
"@types/uuid": "^8.3.4",
|
|
42
|
+
"mediasoup-client": "^3.7.16",
|
|
42
43
|
"@typescript-eslint/eslint-plugin": "^5.38.0",
|
|
43
44
|
"@typescript-eslint/parser": "^5.38.0",
|
|
44
45
|
"bufferutil": "^4.0.6",
|