@observertc/observer-js 1.0.1-57a1811.0 → 1.0.1-c3edea3.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/ObservedCall.d.ts +0 -13
- package/lib/ObservedCall.d.ts.map +1 -1
- package/lib/ObservedCall.js +1 -37
- package/lib/ObservedClient.d.ts +7 -39
- package/lib/ObservedClient.d.ts.map +1 -1
- package/lib/ObservedClient.js +58 -110
- package/lib/ObservedDataChannel.d.ts +0 -4
- package/lib/ObservedDataChannel.d.ts.map +1 -1
- package/lib/ObservedDataChannel.js +0 -28
- package/lib/ObservedIceCandidatePair.d.ts +0 -4
- package/lib/ObservedIceCandidatePair.d.ts.map +1 -1
- package/lib/ObservedIceCandidatePair.js +0 -28
- package/lib/ObservedPeerConnection.d.ts +0 -10
- package/lib/ObservedPeerConnection.d.ts.map +1 -1
- package/lib/ObservedPeerConnection.js +9 -79
- package/lib/Observer.d.ts +21 -27
- package/lib/Observer.d.ts.map +1 -1
- package/lib/Observer.js +40 -59
- package/lib/index.d.ts +0 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -5
- package/lib/schema/{ClientEventTypes.d.ts → eventTypes.d.ts} +2 -2
- package/lib/schema/eventTypes.d.ts.map +1 -0
- package/lib/schema/eventTypes.js +38 -0
- package/lib/schema/{ClientMetaTypes.d.ts → metaTypes.d.ts} +2 -2
- package/lib/schema/metaTypes.d.ts.map +1 -0
- package/lib/schema/metaTypes.js +16 -0
- package/package.json +1 -1
- package/src/ObservedCall.ts +1 -44
- package/src/ObservedClient.ts +60 -125
- package/src/ObservedDataChannel.ts +0 -29
- package/src/ObservedIceCandidatePair.ts +0 -26
- package/src/ObservedPeerConnection.ts +10 -90
- package/src/Observer.ts +68 -81
- package/src/index.ts +0 -4
- package/src/schema/{ClientEventTypes.ts → eventTypes.ts} +1 -1
- package/src/schema/{ClientMetaTypes.ts → metaTypes.ts} +1 -1
- package/lib/ObservedTURN.d.ts +0 -31
- package/lib/ObservedTURN.d.ts.map +0 -1
- package/lib/ObservedTURN.js +0 -58
- package/lib/ObservedTurnServer.d.ts +0 -25
- package/lib/ObservedTurnServer.d.ts.map +0 -1
- package/lib/ObservedTurnServer.js +0 -59
- package/lib/schema/ClientEventTypes.d.ts.map +0 -1
- package/lib/schema/ClientEventTypes.js +0 -38
- package/lib/schema/ClientMetaTypes.d.ts.map +0 -1
- package/lib/schema/ClientMetaTypes.js +0 -16
- package/src/ObservedTURN.ts +0 -86
- package/src/ObservedTurnServer.ts +0 -72
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservedPeerConnection.d.ts","sourceRoot":"","sources":["../src/ObservedPeerConnection.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAiK,mBAAmB,EAAE,oBAAoB,EAA+E,MAAM,uBAAuB,CAAC;AAC9T,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ObservedPeerConnection.d.ts","sourceRoot":"","sources":["../src/ObservedPeerConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,15 +34,11 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
34
34
|
// timestamp of the PEER_CONNECTION_CLOSED event
|
|
35
35
|
closedAt;
|
|
36
36
|
updated = Date.now();
|
|
37
|
-
availableIncomingBitrate = 0;
|
|
38
|
-
availableOutgoingBitrate = 0;
|
|
39
37
|
totalInboundPacketsLost = 0;
|
|
40
38
|
totalInboundPacketsReceived = 0;
|
|
41
39
|
totalOutboundPacketsSent = 0;
|
|
42
40
|
totalDataChannelBytesSent = 0;
|
|
43
41
|
totalDataChannelBytesReceived = 0;
|
|
44
|
-
totalDataChannelMessagesSent = 0;
|
|
45
|
-
totalDataChannelMessagesReceived = 0;
|
|
46
42
|
totalSentAudioBytes = 0;
|
|
47
43
|
totalSentVideoBytes = 0;
|
|
48
44
|
totalSentAudioPackets = 0;
|
|
@@ -56,8 +52,6 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
56
52
|
deltaOutboundPacketsSent = 0;
|
|
57
53
|
deltaDataChannelBytesSent = 0;
|
|
58
54
|
deltaDataChannelBytesReceived = 0;
|
|
59
|
-
deltaDataChannelMessagesSent = 0;
|
|
60
|
-
deltaDataChannelMessagesReceived = 0;
|
|
61
55
|
deltaInboundReceivedBytes = 0;
|
|
62
56
|
deltaOutboundSentBytes = 0;
|
|
63
57
|
deltaReceivedAudioBytes = 0;
|
|
@@ -76,7 +70,6 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
76
70
|
avgJitter;
|
|
77
71
|
usingTCP = false;
|
|
78
72
|
usingTURN = false;
|
|
79
|
-
observedTurnServer;
|
|
80
73
|
observedCertificates = new Map();
|
|
81
74
|
observedCodecs = new Map();
|
|
82
75
|
observedDataChannels = new Map();
|
|
@@ -149,11 +142,6 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
149
142
|
return this.iceTransports.map((iceTransport) => iceTransport.getSelectedCandidatePair())
|
|
150
143
|
.filter((pair) => pair !== undefined);
|
|
151
144
|
}
|
|
152
|
-
get selectedIceCandiadtePairForTurn() {
|
|
153
|
-
return this.selectedIceCandidatePairs
|
|
154
|
-
.filter((pair) => pair.getLocalCandidate()?.candidateType === 'relay' &&
|
|
155
|
-
pair.getRemoteCandidate()?.url?.startsWith('turn:'));
|
|
156
|
-
}
|
|
157
145
|
close() {
|
|
158
146
|
if (this.closed)
|
|
159
147
|
return;
|
|
@@ -173,15 +161,12 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
173
161
|
this.observedPeerConnectionTransports.clear();
|
|
174
162
|
this.observedRemoteInboundRtps.clear();
|
|
175
163
|
this.observedRemoteOutboundRtps.clear();
|
|
176
|
-
this.client.call.observer.observedTURN.removePeerConnection(this);
|
|
177
164
|
this.emit('close');
|
|
178
165
|
}
|
|
179
166
|
accept(sample) {
|
|
180
167
|
if (this.closed)
|
|
181
168
|
return;
|
|
182
169
|
this._visited = true;
|
|
183
|
-
this.availableIncomingBitrate = 0;
|
|
184
|
-
this.availableOutgoingBitrate = 0;
|
|
185
170
|
this.deltaInboundPacketsLost = 0;
|
|
186
171
|
this.deltaInboundPacketsReceived = 0;
|
|
187
172
|
this.deltaOutboundPacketsSent = 0;
|
|
@@ -202,8 +187,6 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
202
187
|
const now = Date.now();
|
|
203
188
|
const elapsedTimeInMs = now - this.updated;
|
|
204
189
|
const elapsedTimeInSec = elapsedTimeInMs / 1000;
|
|
205
|
-
const rttMeasurementsInSec = [];
|
|
206
|
-
const jitterMeasurements = [];
|
|
207
190
|
if (sample.certificates) {
|
|
208
191
|
for (const certificate of sample.certificates) {
|
|
209
192
|
this._updateCertificateStats(certificate);
|
|
@@ -216,13 +199,7 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
216
199
|
}
|
|
217
200
|
if (sample.dataChannels) {
|
|
218
201
|
for (const dataChannel of sample.dataChannels) {
|
|
219
|
-
|
|
220
|
-
if (!observedDataChannel)
|
|
221
|
-
continue;
|
|
222
|
-
this.deltaDataChannelBytesSent += observedDataChannel.deltaBytesSent;
|
|
223
|
-
this.deltaDataChannelBytesReceived += observedDataChannel.deltaBytesReceived;
|
|
224
|
-
this.deltaDataChannelMessagesSent += observedDataChannel.deltaMessagesSent;
|
|
225
|
-
this.deltaDataChannelMessagesReceived += observedDataChannel.deltaMessagesReceived;
|
|
202
|
+
this._updateDataChannelStats(dataChannel);
|
|
226
203
|
}
|
|
227
204
|
}
|
|
228
205
|
if (sample.iceCandidates) {
|
|
@@ -232,18 +209,7 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
232
209
|
}
|
|
233
210
|
if (sample.iceCandidatePairs) {
|
|
234
211
|
for (const iceCandidatePair of sample.iceCandidatePairs) {
|
|
235
|
-
|
|
236
|
-
if (!observedCandidatePair)
|
|
237
|
-
continue;
|
|
238
|
-
if (observedCandidatePair.currentRoundTripTime) {
|
|
239
|
-
rttMeasurementsInSec.push(observedCandidatePair.currentRoundTripTime);
|
|
240
|
-
}
|
|
241
|
-
if (observedCandidatePair.availableIncomingBitrate) {
|
|
242
|
-
this.availableIncomingBitrate += observedCandidatePair.availableIncomingBitrate;
|
|
243
|
-
}
|
|
244
|
-
if (observedCandidatePair.availableOutgoingBitrate) {
|
|
245
|
-
this.availableOutgoingBitrate += observedCandidatePair.availableOutgoingBitrate;
|
|
246
|
-
}
|
|
212
|
+
this._updateIceCandidatePairStats(iceCandidatePair);
|
|
247
213
|
}
|
|
248
214
|
}
|
|
249
215
|
if (sample.iceTransports) {
|
|
@@ -269,9 +235,6 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
269
235
|
this.deltaReceivedVideoPackets += observedInboundRtp.deltaReceivedPackets;
|
|
270
236
|
break;
|
|
271
237
|
}
|
|
272
|
-
if (observedInboundRtp.jitter) {
|
|
273
|
-
jitterMeasurements.push(observedInboundRtp.jitter);
|
|
274
|
-
}
|
|
275
238
|
}
|
|
276
239
|
}
|
|
277
240
|
if (sample.mediaPlayouts) {
|
|
@@ -310,12 +273,7 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
310
273
|
}
|
|
311
274
|
if (sample.remoteInboundRtps) {
|
|
312
275
|
for (const remoteInboundRtp of sample.remoteInboundRtps) {
|
|
313
|
-
|
|
314
|
-
if (!observedRemoteInboundRtp)
|
|
315
|
-
continue;
|
|
316
|
-
if (observedRemoteInboundRtp.roundTripTime) {
|
|
317
|
-
rttMeasurementsInSec.push(observedRemoteInboundRtp.roundTripTime);
|
|
318
|
-
}
|
|
276
|
+
this._updateRemoteInboundRtpStats(remoteInboundRtp);
|
|
319
277
|
}
|
|
320
278
|
}
|
|
321
279
|
if (sample.remoteOutboundRtps) {
|
|
@@ -342,8 +300,6 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
342
300
|
this.totalOutboundPacketsSent += this.deltaOutboundPacketsSent;
|
|
343
301
|
this.totalDataChannelBytesSent += this.deltaDataChannelBytesSent;
|
|
344
302
|
this.totalDataChannelBytesReceived += this.deltaDataChannelBytesReceived;
|
|
345
|
-
this.totalDataChannelMessagesSent += this.deltaDataChannelMessagesSent;
|
|
346
|
-
this.totalDataChannelMessagesReceived += this.deltaDataChannelMessagesReceived;
|
|
347
303
|
this.totalReceivedAudioBytes += this.deltaReceivedAudioBytes;
|
|
348
304
|
this.totalReceivedVideoBytes += this.deltaReceivedVideoBytes;
|
|
349
305
|
this.totalSentAudioBytes += this.deltaSentAudioBytes;
|
|
@@ -354,43 +310,17 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
354
310
|
this.totalSentVideoPackets += this.deltaSentVideoBytes;
|
|
355
311
|
this.receivingPacketsPerSecond = this.deltaInboundPacketsReceived / elapsedTimeInSec;
|
|
356
312
|
this.sendingPacketsPerSecond = this.deltaOutboundPacketsSent / elapsedTimeInSec;
|
|
357
|
-
this.sendingAudioBitrate =
|
|
358
|
-
this.sendingVideoBitrate =
|
|
359
|
-
this.receivingAudioBitrate =
|
|
360
|
-
this.receivingVideoBitrate =
|
|
361
|
-
if (rttMeasurementsInSec.length > 0) {
|
|
362
|
-
this.avgRttInMs = rttMeasurementsInSec.reduce((acc, val) => acc + val, 0) / rttMeasurementsInSec.length;
|
|
363
|
-
}
|
|
364
|
-
else {
|
|
365
|
-
this.avgRttInMs = undefined;
|
|
366
|
-
}
|
|
367
|
-
if (jitterMeasurements.length > 0) {
|
|
368
|
-
this.avgJitter = jitterMeasurements.reduce((acc, val) => acc + val, 0) / jitterMeasurements.length;
|
|
369
|
-
}
|
|
370
|
-
else {
|
|
371
|
-
this.avgJitter = undefined;
|
|
372
|
-
}
|
|
313
|
+
this.sendingAudioBitrate = this.deltaSentAudioBytes * 8 / elapsedTimeInSec;
|
|
314
|
+
this.sendingVideoBitrate = this.deltaSentVideoBytes * 8 / elapsedTimeInSec;
|
|
315
|
+
this.receivingAudioBitrate = this.deltaReceivedAudioBytes * 8 / elapsedTimeInSec;
|
|
316
|
+
this.receivingVideoBitrate = this.deltaReceivedVideoBytes * 8 / elapsedTimeInSec;
|
|
373
317
|
const selectedIceCandidatePairs = this.selectedIceCandidatePairs;
|
|
374
|
-
const selectedCandidatePairForTurn = selectedIceCandidatePairs.filter((pair) => pair.getLocalCandidate()?.candidateType === 'relay' &&
|
|
375
|
-
pair.getRemoteCandidate()?.url?.startsWith('turn:'));
|
|
376
|
-
const wasUsingTURN = this.usingTURN;
|
|
377
318
|
this.usingTCP = selectedIceCandidatePairs.some((pair) => pair.getLocalCandidate()?.protocol === 'tcp');
|
|
378
|
-
this.usingTURN =
|
|
379
|
-
|
|
380
|
-
if (!this.observedTurnServer) {
|
|
381
|
-
this.observedTurnServer = this.client.call.observer.observedTURN.addPeerConnection(this);
|
|
382
|
-
}
|
|
383
|
-
this.observedTurnServer?.updateTurnUsage(...selectedCandidatePairForTurn);
|
|
384
|
-
}
|
|
385
|
-
else if (wasUsingTURN) {
|
|
386
|
-
if (!this.usingTURN) {
|
|
387
|
-
this.client.call.observer.observedTURN.removePeerConnection(this);
|
|
388
|
-
}
|
|
389
|
-
}
|
|
319
|
+
this.usingTURN = selectedIceCandidatePairs.some((pair) => pair.getLocalCandidate()?.candidateType === 'relay') &&
|
|
320
|
+
selectedIceCandidatePairs.some((pair) => pair.getRemoteCandidate()?.url?.startsWith('turn:'));
|
|
390
321
|
this.calculatedScore.value = sample.score;
|
|
391
322
|
this.updated = now;
|
|
392
323
|
this._checkVisited();
|
|
393
|
-
this.emit('update');
|
|
394
324
|
}
|
|
395
325
|
_checkVisited() {
|
|
396
326
|
for (const certificate of [...this.observedCertificates.values()]) {
|
package/lib/Observer.d.ts
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
import { Middleware, MiddlewareProcessor } from './common/Middleware';
|
|
2
3
|
import { ObservedCall, ObservedCallSettings } from './ObservedCall';
|
|
3
4
|
import { EventEmitter } from 'events';
|
|
4
|
-
import { ClientEvent, ClientMetaData, ClientIssue, ExtensionStat
|
|
5
|
+
import { ClientEvent, ClientMetaData, ClientIssue, ExtensionStat } from './schema/ClientSample';
|
|
5
6
|
import { ObservedClient } from './ObservedClient';
|
|
6
|
-
import { ObservedTURN } from './ObservedTURN';
|
|
7
7
|
export type ObserverEvents = {
|
|
8
|
-
'client-event': [ObservedClient, ClientEvent];
|
|
9
|
-
'call-updated': [ObservedCall];
|
|
10
|
-
'client-issue': [ObservedClient, ClientIssue];
|
|
11
|
-
'client-metadata': [ObservedClient, ClientMetaData];
|
|
12
|
-
'client-extension-stats': [ObservedClient, ExtensionStat];
|
|
13
8
|
'newcall': [ObservedCall];
|
|
14
9
|
'close': [];
|
|
15
10
|
};
|
|
16
|
-
export type
|
|
17
|
-
|
|
11
|
+
export type ProcessorInputContext<T> = {
|
|
12
|
+
call: ObservedCall;
|
|
13
|
+
client: ObservedClient;
|
|
14
|
+
data: T;
|
|
18
15
|
};
|
|
19
16
|
export declare interface Observer {
|
|
20
17
|
on<U extends keyof ObserverEvents>(event: U, listener: (...args: ObserverEvents[U]) => void): this;
|
|
@@ -22,29 +19,26 @@ export declare interface Observer {
|
|
|
22
19
|
once<U extends keyof ObserverEvents>(event: U, listener: (...args: ObserverEvents[U]) => void): this;
|
|
23
20
|
emit<U extends keyof ObserverEvents>(event: U, ...args: ObserverEvents[U]): boolean;
|
|
24
21
|
}
|
|
25
|
-
export type ObserverSummary = {
|
|
26
|
-
rttlt50: number;
|
|
27
|
-
};
|
|
28
22
|
export declare class Observer extends EventEmitter {
|
|
29
|
-
readonly
|
|
23
|
+
readonly processors: {
|
|
24
|
+
events: MiddlewareProcessor<ProcessorInputContext<ClientEvent>>;
|
|
25
|
+
metaData: MiddlewareProcessor<ProcessorInputContext<ClientMetaData>>;
|
|
26
|
+
issues: MiddlewareProcessor<ProcessorInputContext<ClientIssue>>;
|
|
27
|
+
extensionStats: MiddlewareProcessor<ProcessorInputContext<ExtensionStat>>;
|
|
28
|
+
};
|
|
30
29
|
readonly observedCalls: Map<string, ObservedCall<Record<string, unknown>>>;
|
|
31
|
-
readonly config: ObserverConfig;
|
|
32
30
|
closed: boolean;
|
|
33
|
-
|
|
34
|
-
numberOfInboundRtpStreams: number;
|
|
35
|
-
numberOfOutboundRtpStreams: number;
|
|
36
|
-
numberOfDataChannels: number;
|
|
37
|
-
numberOfPeerConnections: number;
|
|
38
|
-
get numberOfCalls(): number;
|
|
39
|
-
private _timer?;
|
|
40
|
-
constructor(config?: ObserverConfig);
|
|
31
|
+
constructor();
|
|
41
32
|
getObservedCall<T extends Record<string, unknown> = Record<string, unknown>>(callId: string): ObservedCall<T> | undefined;
|
|
42
33
|
createObservedCall<T extends Record<string, unknown> = Record<string, unknown>>(settings: ObservedCallSettings<T>): ObservedCall<T>;
|
|
34
|
+
addClientEventMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientEvent>>[]): Observer;
|
|
35
|
+
removeClientEventMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientEvent>>[]): Observer;
|
|
36
|
+
addClientMetaDataMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientMetaData>>[]): Observer;
|
|
37
|
+
removeClientMetaDataMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientMetaData>>[]): Observer;
|
|
38
|
+
addClientIssueMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientIssue>>[]): Observer;
|
|
39
|
+
removeClientIssueMiddleware(...middlewares: Middleware<ProcessorInputContext<ClientIssue>>[]): Observer;
|
|
40
|
+
addExtensionStatMiddleware(...middlewares: Middleware<ProcessorInputContext<ExtensionStat>>[]): Observer;
|
|
41
|
+
removeExtensionStatMiddleware(...middlewares: Middleware<ProcessorInputContext<ExtensionStat>>[]): Observer;
|
|
43
42
|
close(): void;
|
|
44
|
-
accept(sample: ClientSample & {
|
|
45
|
-
callId: string;
|
|
46
|
-
clientId: string;
|
|
47
|
-
}): void;
|
|
48
|
-
update(): void;
|
|
49
43
|
}
|
|
50
44
|
//# sourceMappingURL=Observer.d.ts.map
|
package/lib/Observer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":"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"}
|
package/lib/Observer.js
CHANGED
|
@@ -2,34 +2,22 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Observer = void 0;
|
|
4
4
|
const logger_1 = require("./common/logger");
|
|
5
|
+
const Middleware_1 = require("./common/Middleware");
|
|
5
6
|
const ObservedCall_1 = require("./ObservedCall");
|
|
6
7
|
const events_1 = require("events");
|
|
7
|
-
const ObservedTURN_1 = require("./ObservedTURN");
|
|
8
8
|
const logger = (0, logger_1.createLogger)('Observer');
|
|
9
9
|
class Observer extends events_1.EventEmitter {
|
|
10
|
-
|
|
10
|
+
processors = {
|
|
11
|
+
events: new Middleware_1.MiddlewareProcessor(),
|
|
12
|
+
metaData: new Middleware_1.MiddlewareProcessor(),
|
|
13
|
+
issues: new Middleware_1.MiddlewareProcessor(),
|
|
14
|
+
extensionStats: new Middleware_1.MiddlewareProcessor(),
|
|
15
|
+
};
|
|
11
16
|
observedCalls = new Map();
|
|
12
|
-
config;
|
|
13
17
|
closed = false;
|
|
14
|
-
|
|
15
|
-
numberOfInboundRtpStreams = 0;
|
|
16
|
-
numberOfOutboundRtpStreams = 0;
|
|
17
|
-
numberOfDataChannels = 0;
|
|
18
|
-
numberOfPeerConnections = 0;
|
|
19
|
-
get numberOfCalls() {
|
|
20
|
-
return this.observedCalls.size;
|
|
21
|
-
}
|
|
22
|
-
_timer;
|
|
23
|
-
constructor(config = {
|
|
24
|
-
updateIntervalInMs: 10000,
|
|
25
|
-
}) {
|
|
18
|
+
constructor() {
|
|
26
19
|
super();
|
|
27
20
|
this.setMaxListeners(Infinity);
|
|
28
|
-
this.config = config;
|
|
29
|
-
this.update = this.update.bind(this);
|
|
30
|
-
if (this.config.updateIntervalInMs) {
|
|
31
|
-
this._timer = setInterval(this.update.bind(this), this.config.updateIntervalInMs);
|
|
32
|
-
}
|
|
33
21
|
}
|
|
34
22
|
getObservedCall(callId) {
|
|
35
23
|
if (this.closed || !this.observedCalls.has(callId))
|
|
@@ -45,57 +33,50 @@ class Observer extends events_1.EventEmitter {
|
|
|
45
33
|
throw new Error(`Observed Call with id ${observedCall.callId} already exists`);
|
|
46
34
|
observedCall.once('close', () => {
|
|
47
35
|
this.observedCalls.delete(observedCall.callId);
|
|
48
|
-
observedCall.off('update', this.update);
|
|
49
36
|
});
|
|
50
37
|
this.observedCalls.set(observedCall.callId, observedCall);
|
|
51
|
-
observedCall.on('update', this.update);
|
|
52
38
|
this.emit('newcall', observedCall);
|
|
53
39
|
return observedCall;
|
|
54
40
|
}
|
|
41
|
+
addClientEventMiddleware(...middlewares) {
|
|
42
|
+
this.processors.events.addMiddleware(...middlewares);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
removeClientEventMiddleware(...middlewares) {
|
|
46
|
+
this.processors.events.removeMiddleware(...middlewares);
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
addClientMetaDataMiddleware(...middlewares) {
|
|
50
|
+
this.processors.metaData.addMiddleware(...middlewares);
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
removeClientMetaDataMiddleware(...middlewares) {
|
|
54
|
+
this.processors.metaData.removeMiddleware(...middlewares);
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
addClientIssueMiddleware(...middlewares) {
|
|
58
|
+
this.processors.issues.addMiddleware(...middlewares);
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
removeClientIssueMiddleware(...middlewares) {
|
|
62
|
+
this.processors.issues.removeMiddleware(...middlewares);
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
addExtensionStatMiddleware(...middlewares) {
|
|
66
|
+
this.processors.extensionStats.addMiddleware(...middlewares);
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
removeExtensionStatMiddleware(...middlewares) {
|
|
70
|
+
this.processors.extensionStats.removeMiddleware(...middlewares);
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
55
73
|
close() {
|
|
56
74
|
if (this.closed) {
|
|
57
75
|
return logger.debug('Attempted to close twice');
|
|
58
76
|
}
|
|
59
77
|
this.closed = true;
|
|
60
|
-
clearInterval(this._timer);
|
|
61
|
-
this._timer = undefined;
|
|
62
78
|
this.observedCalls.forEach((call) => call.close());
|
|
63
79
|
this.emit('close');
|
|
64
80
|
}
|
|
65
|
-
accept(sample) {
|
|
66
|
-
if (this.closed)
|
|
67
|
-
return;
|
|
68
|
-
if (!sample.callId)
|
|
69
|
-
return logger.warn('Received sample without callId. %o', sample);
|
|
70
|
-
if (!sample.clientId)
|
|
71
|
-
return logger.warn('Received sample without clientId %o', sample);
|
|
72
|
-
const call = this.getObservedCall(sample.callId);
|
|
73
|
-
if (!call) {
|
|
74
|
-
return logger.warn(`Received sample for unknown call ${sample.callId}. %o`, sample);
|
|
75
|
-
}
|
|
76
|
-
const client = call.getObservedClient(sample.clientId);
|
|
77
|
-
if (!client) {
|
|
78
|
-
return logger.warn(`Received sample for unknown client ${sample.clientId} in call ${sample.callId}. %o`, sample);
|
|
79
|
-
}
|
|
80
|
-
client.accept(sample);
|
|
81
|
-
}
|
|
82
|
-
update() {
|
|
83
|
-
if (this.closed) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
this.numberOfInboundRtpStreams = 0;
|
|
87
|
-
this.numberOfOutboundRtpStreams = 0;
|
|
88
|
-
this.numberOfPeerConnections = 0;
|
|
89
|
-
this.numberOfDataChannels = 0;
|
|
90
|
-
this.numberOfClients = 0;
|
|
91
|
-
for (const call of this.observedCalls.values()) {
|
|
92
|
-
this.numberOfInboundRtpStreams += call.numberOfInboundRtpStreams;
|
|
93
|
-
this.numberOfOutboundRtpStreams += call.numberOfOutboundRtpStreams;
|
|
94
|
-
this.numberOfPeerConnections += call.numberOfPeerConnections;
|
|
95
|
-
this.numberOfDataChannels += call.numberOfDataChannels;
|
|
96
|
-
this.numberOfClients += call.numberOfClients;
|
|
97
|
-
}
|
|
98
|
-
this.observedTURN.update();
|
|
99
|
-
}
|
|
100
81
|
}
|
|
101
82
|
exports.Observer = Observer;
|
package/lib/index.d.ts
CHANGED
|
@@ -18,9 +18,5 @@ export { ObservedIceCandidatePair } from './ObservedIceCandidatePair';
|
|
|
18
18
|
export { ObservedIceCandidate } from './ObservedIceCandidate';
|
|
19
19
|
export { ObservedIceTransport } from './ObservedIceTransport';
|
|
20
20
|
export { ObservedPeerConnectionTransport } from './ObservedPeerConnectionTransport';
|
|
21
|
-
export { ClientEventTypes } from './schema/ClientEventTypes';
|
|
22
|
-
export { ClientMetaTypes } from './schema/ClientMetaTypes';
|
|
23
|
-
export { ClientSample } from './schema/ClientSample';
|
|
24
|
-
export { ScoreCalculator } from './scores/ScoreCalculator';
|
|
25
21
|
export { Middleware } from './common/Middleware';
|
|
26
22
|
//# sourceMappingURL=index.d.ts.map
|
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,YAAY,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ObservedPeerConnectionTransport = exports.ObservedIceTransport = exports.ObservedIceCandidate = exports.ObservedIceCandidatePair = exports.ObservedRemoteOutboundRtp = exports.ObservedRemoteInboundRtp = exports.ObservedOutboundRtp = exports.ObservedInboundRtp = exports.ObservedDataChannel = exports.ObservedCertificate = exports.ObservedCodec = exports.ObservedMediaPlayout = exports.ObservedMediaSource = exports.ObservedPeerConnection = exports.ObservedClient = exports.ObservedOutboundTrack = exports.ObservedInboundTrack = exports.ObservedCall = exports.Observer = void 0;
|
|
4
4
|
var Observer_1 = require("./Observer");
|
|
5
5
|
Object.defineProperty(exports, "Observer", { enumerable: true, get: function () { return Observer_1.Observer; } });
|
|
6
6
|
var ObservedCall_1 = require("./ObservedCall");
|
|
@@ -39,7 +39,3 @@ var ObservedIceTransport_1 = require("./ObservedIceTransport");
|
|
|
39
39
|
Object.defineProperty(exports, "ObservedIceTransport", { enumerable: true, get: function () { return ObservedIceTransport_1.ObservedIceTransport; } });
|
|
40
40
|
var ObservedPeerConnectionTransport_1 = require("./ObservedPeerConnectionTransport");
|
|
41
41
|
Object.defineProperty(exports, "ObservedPeerConnectionTransport", { enumerable: true, get: function () { return ObservedPeerConnectionTransport_1.ObservedPeerConnectionTransport; } });
|
|
42
|
-
var ClientEventTypes_1 = require("./schema/ClientEventTypes");
|
|
43
|
-
Object.defineProperty(exports, "ClientEventTypes", { enumerable: true, get: function () { return ClientEventTypes_1.ClientEventTypes; } });
|
|
44
|
-
var ClientMetaTypes_1 = require("./schema/ClientMetaTypes");
|
|
45
|
-
Object.defineProperty(exports, "ClientMetaTypes", { enumerable: true, get: function () { return ClientMetaTypes_1.ClientMetaTypes; } });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare enum
|
|
1
|
+
export declare enum ClientEventType {
|
|
2
2
|
CALL_STARTED = "CALL_STARTED",
|
|
3
3
|
CALL_ENDED = "CALL_ENDED",
|
|
4
4
|
CLIENT_JOINED = "CLIENT_JOINED",
|
|
@@ -30,4 +30,4 @@ export declare enum ClientEventTypes {
|
|
|
30
30
|
DATA_CONSUMER_CREATED = "DATA_CONSUMER_CREATED",
|
|
31
31
|
DATA_CONSUMER_CLOSED = "DATA_CONSUMER_CLOSED"
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=
|
|
33
|
+
//# sourceMappingURL=eventTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventTypes.d.ts","sourceRoot":"","sources":["../../src/schema/eventTypes.ts"],"names":[],"mappings":"AAEA,oBAAY,eAAe;IAC1B,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;IACjD,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,2BAA2B,gCAAgC;IAC3D,6BAA6B,kCAAkC;IAC/D,4BAA4B,iCAAiC;IAC7D,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,sBAAsB,2BAA2B;IACjD,0BAA0B,+BAA+B;IACzD,2BAA2B,gCAAgC;IAC3D,aAAa,kBAAkB;IAG/B,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAC7C,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;CAC7C"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable no-shadow */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ClientEventType = void 0;
|
|
5
|
+
var ClientEventType;
|
|
6
|
+
(function (ClientEventType) {
|
|
7
|
+
ClientEventType["CALL_STARTED"] = "CALL_STARTED";
|
|
8
|
+
ClientEventType["CALL_ENDED"] = "CALL_ENDED";
|
|
9
|
+
ClientEventType["CLIENT_JOINED"] = "CLIENT_JOINED";
|
|
10
|
+
ClientEventType["CLIENT_LEFT"] = "CLIENT_LEFT";
|
|
11
|
+
ClientEventType["PEER_CONNECTION_OPENED"] = "PEER_CONNECTION_OPENED";
|
|
12
|
+
ClientEventType["PEER_CONNECTION_CLOSED"] = "PEER_CONNECTION_CLOSED";
|
|
13
|
+
ClientEventType["MEDIA_TRACK_ADDED"] = "MEDIA_TRACK_ADDED";
|
|
14
|
+
ClientEventType["MEDIA_TRACK_REMOVED"] = "MEDIA_TRACK_REMOVED";
|
|
15
|
+
ClientEventType["MEDIA_TRACK_RESUMED"] = "MEDIA_TRACK_RESUMED";
|
|
16
|
+
ClientEventType["MEDIA_TRACK_MUTED"] = "MEDIA_TRACK_MUTED";
|
|
17
|
+
ClientEventType["MEDIA_TRACK_UNMUTED"] = "MEDIA_TRACK_UNMUTED";
|
|
18
|
+
ClientEventType["ICE_GATHERING_STATE_CHANGED"] = "ICE_GATHERING_STATE_CHANGED";
|
|
19
|
+
ClientEventType["PEER_CONNECTION_STATE_CHANGED"] = "PEER_CONNECTION_STATE_CHANGED";
|
|
20
|
+
ClientEventType["ICE_CONNECTION_STATE_CHANGED"] = "ICE_CONNECTION_STATE_CHANGED";
|
|
21
|
+
ClientEventType["DATA_CHANNEL_OPEN"] = "DATA_CHANNEL_OPEN";
|
|
22
|
+
ClientEventType["DATA_CHANNEL_CLOSED"] = "DATA_CHANNEL_CLOSED";
|
|
23
|
+
ClientEventType["DATA_CHANNEL_ERROR"] = "DATA_CHANNEL_ERROR";
|
|
24
|
+
ClientEventType["NEGOTIATION_NEEDED"] = "NEGOTIATION_NEEDED";
|
|
25
|
+
ClientEventType["SIGNALING_STATE_CHANGE"] = "SIGNALING_STATE_CHANGE";
|
|
26
|
+
ClientEventType["ICE_GATHERING_STATE_CHANGE"] = "ICE_GATHERING_STATE_CHANGE";
|
|
27
|
+
ClientEventType["ICE_CONNECTION_STATE_CHANGE"] = "ICE_CONNECTION_STATE_CHANGE";
|
|
28
|
+
ClientEventType["ICE_CANDIDATE"] = "ICE_CANDIDATE";
|
|
29
|
+
// mediasoup events
|
|
30
|
+
ClientEventType["PRODUCER_ADDED"] = "PRODUCER_ADDED";
|
|
31
|
+
ClientEventType["PRODUCER_REMOVED"] = "PRODUCER_REMOVED";
|
|
32
|
+
ClientEventType["CONSUMER_ADDED"] = "CONSUMER_ADDED";
|
|
33
|
+
ClientEventType["CONSUMER_REMOVED"] = "CONSUMER_REMOVED";
|
|
34
|
+
ClientEventType["DATA_PRODUCER_CREATED"] = "DATA_PRODUCER_CREATED";
|
|
35
|
+
ClientEventType["DATA_PRODUCER_CLOSED"] = "DATA_PRODUCER_CLOSED";
|
|
36
|
+
ClientEventType["DATA_CONSUMER_CREATED"] = "DATA_CONSUMER_CREATED";
|
|
37
|
+
ClientEventType["DATA_CONSUMER_CLOSED"] = "DATA_CONSUMER_CLOSED";
|
|
38
|
+
})(ClientEventType = exports.ClientEventType || (exports.ClientEventType = {}));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare enum
|
|
1
|
+
export declare enum ClientMetaType {
|
|
2
2
|
MEDIA_CONSTRAINT = "MEDIA_CONSTRAINT",
|
|
3
3
|
MEDIA_DEVICE = "MEDIA_DEVICE",
|
|
4
4
|
MEDIA_DEVICES_SUPPORTED_CONSTRAINTS = "MEDIA_DEVICES_SUPPORTED_CONSTRAINTS",
|
|
@@ -31,4 +31,4 @@ export type OperationSystem = {
|
|
|
31
31
|
name: string;
|
|
32
32
|
version: string;
|
|
33
33
|
};
|
|
34
|
-
//# sourceMappingURL=
|
|
34
|
+
//# sourceMappingURL=metaTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metaTypes.d.ts","sourceRoot":"","sources":["../../src/schema/metaTypes.ts"],"names":[],"mappings":"AAEA,oBAAY,cAAc;IACzB,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAC7B,mCAAmC,wCAAwC;IAC3E,gBAAgB,qBAAqB;IACrC,SAAS,cAAc;IAEvB,gBAAgB,qBAAqB;IACrC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACnB;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable no-shadow */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ClientMetaType = void 0;
|
|
5
|
+
var ClientMetaType;
|
|
6
|
+
(function (ClientMetaType) {
|
|
7
|
+
ClientMetaType["MEDIA_CONSTRAINT"] = "MEDIA_CONSTRAINT";
|
|
8
|
+
ClientMetaType["MEDIA_DEVICE"] = "MEDIA_DEVICE";
|
|
9
|
+
ClientMetaType["MEDIA_DEVICES_SUPPORTED_CONSTRAINTS"] = "MEDIA_DEVICES_SUPPORTED_CONSTRAINTS";
|
|
10
|
+
ClientMetaType["USER_MEDIA_ERROR"] = "USER_MEDIA_ERROR";
|
|
11
|
+
ClientMetaType["LOCAL_SDP"] = "LOCAL_SDP";
|
|
12
|
+
ClientMetaType["OPERATION_SYSTEM"] = "OPERATION_SYSTEM";
|
|
13
|
+
ClientMetaType["ENGINE"] = "ENGINE";
|
|
14
|
+
ClientMetaType["PLATFORM"] = "PLATFORM";
|
|
15
|
+
ClientMetaType["BROWSER"] = "BROWSER";
|
|
16
|
+
})(ClientMetaType = exports.ClientMetaType || (exports.ClientMetaType = {}));
|