@observertc/observer-js 1.0.1-b52220e.0 → 1.0.1-c2558cc.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 +2 -0
- package/lib/ObservedCall.d.ts.map +1 -1
- package/lib/ObservedCall.js +4 -0
- package/lib/ObservedCallEventMonitor.d.ts +104 -0
- package/lib/ObservedCallEventMonitor.d.ts.map +1 -0
- package/lib/ObservedCallEventMonitor.js +314 -0
- package/lib/ObservedClient.d.ts +2 -2
- package/lib/ObservedClient.d.ts.map +1 -1
- package/lib/ObservedClient.js +52 -4
- package/lib/ObservedIceCandidatePair.d.ts +2 -1
- package/lib/ObservedIceCandidatePair.d.ts.map +1 -1
- package/lib/ObservedIceCandidatePair.js +17 -1
- package/lib/ObservedInboundTrack.d.ts +1 -0
- package/lib/ObservedInboundTrack.d.ts.map +1 -1
- package/lib/ObservedInboundTrack.js +1 -0
- package/lib/ObservedOutboundTrack.d.ts +1 -0
- package/lib/ObservedOutboundTrack.d.ts.map +1 -1
- package/lib/ObservedOutboundTrack.js +1 -0
- package/lib/ObservedPeerConnection.d.ts +19 -0
- package/lib/ObservedPeerConnection.d.ts.map +1 -1
- package/lib/ObservedPeerConnection.js +75 -15
- package/lib/Observer.d.ts +8 -4
- package/lib/Observer.d.ts.map +1 -1
- package/lib/Observer.js +14 -2
- package/lib/ObserverEventMonitor.d.ts +138 -0
- package/lib/ObserverEventMonitor.d.ts.map +1 -0
- package/lib/ObserverEventMonitor.js +433 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -1
- package/lib/schema/ClientSample.d.ts +1 -1
- package/lib/schema/ClientSample.d.ts.map +1 -1
- package/lib/updaters/{OnAllCallObserverUpdater_.d.ts → OnAllCallObserverUpdater.d.ts} +3 -1
- package/lib/updaters/OnAllCallObserverUpdater.d.ts.map +1 -0
- package/lib/updaters/{OnAllCallObserverUpdater_.js → OnAllCallObserverUpdater.js} +13 -1
- package/lib/updaters/OnAllClientCallUpdater.d.ts +2 -0
- package/lib/updaters/OnAllClientCallUpdater.d.ts.map +1 -1
- package/lib/updaters/OnAllClientCallUpdater.js +16 -0
- package/lib/updaters/{OnAnyCallObserverUpdater_.d.ts → OnAnyCallObserverUpdater.d.ts} +2 -1
- package/lib/updaters/OnAnyCallObserverUpdater.d.ts.map +1 -0
- package/lib/updaters/{OnAnyCallObserverUpdater_.js → OnAnyCallObserverUpdater.js} +11 -1
- package/lib/updaters/OnAnyClientCallUpdater.d.ts +1 -0
- package/lib/updaters/OnAnyClientCallUpdater.d.ts.map +1 -1
- package/lib/updaters/OnAnyClientCallUpdater.js +11 -2
- package/lib/utils/MediasoupRemoteTrackResolver.d.ts +25 -0
- package/lib/utils/MediasoupRemoteTrackResolver.d.ts.map +1 -0
- package/lib/utils/MediasoupRemoteTrackResolver.js +110 -0
- package/package.json +1 -1
- package/src/ObservedCall.ts +5 -0
- package/src/ObservedCallEventMonitor.ts +392 -0
- package/src/ObservedClient.ts +53 -7
- package/src/ObservedIceCandidatePair.ts +18 -2
- package/src/ObservedInboundTrack.ts +2 -0
- package/src/ObservedOutboundTrack.ts +2 -0
- package/src/ObservedPeerConnection.ts +95 -30
- package/src/Observer.ts +21 -6
- package/src/ObserverEventMonitor.ts +551 -0
- package/src/index.ts +2 -2
- package/src/schema/ClientSample.ts +1 -1
- package/src/updaters/{OnAllCallObserverUpdater_.ts → OnAllCallObserverUpdater.ts} +14 -1
- package/src/updaters/OnAllClientCallUpdater.ts +15 -0
- package/src/updaters/{OnAnyCallObserverUpdater_.ts → OnAnyCallObserverUpdater.ts} +12 -3
- package/src/updaters/OnAnyClientCallUpdater.ts +9 -2
- package/src/utils/MediasoupRemoteTrackResolver.ts +155 -0
- package/lib/updaters/OnAllCallObserverUpdater_.d.ts.map +0 -1
- package/lib/updaters/OnAnyCallObserverUpdater_.d.ts.map +0 -1
|
@@ -86,7 +86,7 @@ class ObservedIceCandidatePair {
|
|
|
86
86
|
this.transportId = stats.transportId;
|
|
87
87
|
this.localCandidateId = stats.localCandidateId;
|
|
88
88
|
this.remoteCandidateId = stats.remoteCandidateId;
|
|
89
|
-
this.state = stats.state;
|
|
89
|
+
this.state = this._convertState(stats.state);
|
|
90
90
|
this.nominated = stats.nominated;
|
|
91
91
|
this.packetsSent = stats.packetsSent;
|
|
92
92
|
this.packetsReceived = stats.packetsReceived;
|
|
@@ -107,5 +107,21 @@ class ObservedIceCandidatePair {
|
|
|
107
107
|
this.bytesDiscardedOnSend = stats.bytesDiscardedOnSend;
|
|
108
108
|
this.attachments = stats.attachments;
|
|
109
109
|
}
|
|
110
|
+
_convertState(state) {
|
|
111
|
+
switch (state) {
|
|
112
|
+
case 'new':
|
|
113
|
+
case 'in-progress':
|
|
114
|
+
case 'waiting':
|
|
115
|
+
case 'failed':
|
|
116
|
+
case 'succeeded':
|
|
117
|
+
return state;
|
|
118
|
+
case 'cancelled':
|
|
119
|
+
return 'failed';
|
|
120
|
+
case 'inprogress':
|
|
121
|
+
return 'in-progress';
|
|
122
|
+
default:
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
110
126
|
}
|
|
111
127
|
exports.ObservedIceCandidatePair = ObservedIceCandidatePair;
|
|
@@ -18,6 +18,7 @@ export declare class ObservedInboundTrack implements InboundTrackSample {
|
|
|
18
18
|
private _visited;
|
|
19
19
|
addedAt?: number | undefined;
|
|
20
20
|
removedAt?: number | undefined;
|
|
21
|
+
muted?: boolean;
|
|
21
22
|
attachments?: Record<string, unknown> | undefined;
|
|
22
23
|
constructor(timestamp: number, id: string, kind: MediaKind, _peerConnection: ObservedPeerConnection, _inboundRtp?: ObservedInboundRtp | undefined, _mediaPlayout?: ObservedMediaPlayout | undefined);
|
|
23
24
|
get score(): number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservedInboundTrack.d.ts","sourceRoot":"","sources":["../src/ObservedInboundTrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,oBAAqB,YAAW,kBAAkB;
|
|
1
|
+
{"version":3,"file":"ObservedInboundTrack.d.ts","sourceRoot":"","sources":["../src/ObservedInboundTrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,oBAAqB,YAAW,kBAAkB;IAkBtD,SAAS,EAAE,MAAM;aACR,EAAE,EAAE,MAAM;aACV,IAAI,EAAE,SAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAtBhC,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,eAAe,EAAE,eAAe,CAG9C;IACK,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC,OAAO,CAAC,QAAQ,CAAS;IAElB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAEvB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;gBAG1C,SAAS,EAAE,MAAM,EACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,SAAS,EACd,eAAe,EAAE,sBAAsB,EACvC,WAAW,CAAC,gCAAoB,EAChC,aAAa,CAAC,kCAAsB;IAKtD,IAAW,KAAK,uBAEf;IAED,IAAW,OAAO,YAMjB;IAEM,iBAAiB;IAIjB,aAAa;IAIb,eAAe;IAIf,sBAAsB;IAItB,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;CAU9C"}
|
|
@@ -18,6 +18,7 @@ export declare class ObservedOutboundTrack implements OutboundTrackSample {
|
|
|
18
18
|
readonly calculatedScore: CalculatedScore;
|
|
19
19
|
addedAt?: number | undefined;
|
|
20
20
|
removedAt?: number | undefined;
|
|
21
|
+
muted?: boolean;
|
|
21
22
|
attachments?: Record<string, unknown> | undefined;
|
|
22
23
|
constructor(timestamp: number, id: string, kind: MediaKind, _peerConnection: ObservedPeerConnection, _outboundRtps?: ObservedOutboundRtp[] | undefined, _mediaSource?: ObservedMediaSource | undefined);
|
|
23
24
|
get score(): number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservedOutboundTrack.d.ts","sourceRoot":"","sources":["../src/ObservedOutboundTrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,qBAAa,qBAAsB,YAAW,mBAAmB;
|
|
1
|
+
{"version":3,"file":"ObservedOutboundTrack.d.ts","sourceRoot":"","sources":["../src/ObservedOutboundTrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,qBAAa,qBAAsB,YAAW,mBAAmB;IAiBxD,SAAS,EAAE,MAAM;aACR,EAAE,EAAE,MAAM;aACV,IAAI,EAAE,SAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IArB/B,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAS;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,SAAgB,eAAe,EAAE,eAAe,CAG9C;IAEK,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAEvB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;gBAG1C,SAAS,EAAE,MAAM,EACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,SAAS,EACd,eAAe,EAAE,sBAAsB,EACvC,aAAa,CAAC,mCAAuB,EACrC,YAAY,CAAC,iCAAqB;IAKpD,IAAW,KAAK,uBAEf;IAED,IAAW,OAAO,YAMjB;IAEM,iBAAiB;IAIjB,eAAe;IAIf,cAAc;IAId,sBAAsB;IAItB,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;CAU/C"}
|
|
@@ -66,6 +66,25 @@ export type ObservedPeerConnectionEvents = {
|
|
|
66
66
|
'removed-peer-connection-transport': [ObservedPeerConnectionTransport];
|
|
67
67
|
'removed-remote-inbound-rtp': [ObservedRemoteInboundRtp];
|
|
68
68
|
'removed-remote-outbound-rtp': [ObservedRemoteOutboundRtp];
|
|
69
|
+
'updated-inbound-rtp': [ObservedInboundRtp];
|
|
70
|
+
'updated-outbound-rtp': [ObservedOutboundRtp];
|
|
71
|
+
'updated-inbound-track': [ObservedInboundTrack];
|
|
72
|
+
'updated-outbound-track': [ObservedOutboundTrack];
|
|
73
|
+
'updated-ice-candidate-pair': [ObservedIceCandidatePair];
|
|
74
|
+
'updated-ice-transport': [ObservedIceTransport];
|
|
75
|
+
'updated-peer-connection-transport': [ObservedPeerConnectionTransport];
|
|
76
|
+
'updated-media-source': [ObservedMediaSource];
|
|
77
|
+
'updated-media-playout': [ObservedMediaPlayout];
|
|
78
|
+
'updated-data-channel': [ObservedDataChannel];
|
|
79
|
+
'updated-ice-candidate': [ObservedIceCandidate];
|
|
80
|
+
'updated-certificate': [ObservedCertificate];
|
|
81
|
+
'updated-codec': [ObservedCodec];
|
|
82
|
+
'updated-remote-inbound-rtp': [ObservedRemoteInboundRtp];
|
|
83
|
+
'updated-remote-outbound-rtp': [ObservedRemoteOutboundRtp];
|
|
84
|
+
'muted-inbound-track': [ObservedInboundTrack];
|
|
85
|
+
'muted-outbound-track': [ObservedOutboundTrack];
|
|
86
|
+
'unmuted-inbound-track': [ObservedInboundTrack];
|
|
87
|
+
'unmuted-outbound-track': [ObservedOutboundTrack];
|
|
69
88
|
'update': [];
|
|
70
89
|
close: [];
|
|
71
90
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservedPeerConnection.d.ts","sourceRoot":"","sources":["../src/ObservedPeerConnection.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ObservedPeerConnection.d.ts","sourceRoot":"","sources":["../src/ObservedPeerConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -512,10 +512,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
512
512
|
return logger.warn(`ObservedPeerConnection received an invalid CertificateStats (missing timestamp OR id OR fingerprint field). PeerConnectionId: ${this.peerConnectionId} ClientId: ${this.client.clientId}, CallId: ${this.client.call.callId}`, stats);
|
|
513
513
|
}
|
|
514
514
|
observedCertificate = new ObservedCertificate_1.ObservedCertificate(stats.timestamp, stats.id, this);
|
|
515
|
+
observedCertificate.update(stats);
|
|
515
516
|
this.observedCertificates.set(stats.id, observedCertificate);
|
|
516
517
|
this.emit('added-certificate', observedCertificate);
|
|
517
518
|
}
|
|
518
|
-
|
|
519
|
+
else {
|
|
520
|
+
observedCertificate.update(stats);
|
|
521
|
+
this.emit('updated-certificate', observedCertificate);
|
|
522
|
+
}
|
|
519
523
|
return observedCertificate;
|
|
520
524
|
}
|
|
521
525
|
_updateCodecStats(stats) {
|
|
@@ -525,10 +529,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
525
529
|
return logger.warn(`ObservedPeerConnection received an invalid CodecStats (missing timestamp OR id OR mimeType field). PeerConnectionId: ${this.peerConnectionId} ClientId: ${this.client.clientId}, CallId: ${this.client.call.callId}`, stats);
|
|
526
530
|
}
|
|
527
531
|
observedCodec = new ObservedCodec_1.ObservedCodec(stats.timestamp, stats.id, stats.mimeType, this);
|
|
532
|
+
observedCodec.update(stats);
|
|
528
533
|
this.observedCodecs.set(stats.id, observedCodec);
|
|
529
534
|
this.emit('added-codec', observedCodec);
|
|
530
535
|
}
|
|
531
|
-
|
|
536
|
+
else {
|
|
537
|
+
observedCodec.update(stats);
|
|
538
|
+
}
|
|
539
|
+
this.emit('updated-codec', observedCodec);
|
|
532
540
|
return observedCodec;
|
|
533
541
|
}
|
|
534
542
|
_updateDataChannelStats(stats) {
|
|
@@ -538,10 +546,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
538
546
|
return logger.warn(`ObservedPeerConnection received an invalid DataChannelStats (missing timestamp OR id field). PeerConnectionId: ${this.peerConnectionId} ClientId: ${this.client.clientId}, CallId: ${this.client.call.callId}`, stats);
|
|
539
547
|
}
|
|
540
548
|
observedDataChannel = new ObservedDataChannel_1.ObservedDataChannel(stats.timestamp, stats.id, this);
|
|
549
|
+
observedDataChannel.update(stats);
|
|
541
550
|
this.observedDataChannels.set(stats.id, observedDataChannel);
|
|
542
551
|
this.emit('added-data-channel', observedDataChannel);
|
|
543
552
|
}
|
|
544
|
-
|
|
553
|
+
else {
|
|
554
|
+
observedDataChannel.update(stats);
|
|
555
|
+
}
|
|
556
|
+
this.emit('updated-data-channel', observedDataChannel);
|
|
545
557
|
return observedDataChannel;
|
|
546
558
|
}
|
|
547
559
|
_updateIceCandidateStats(stats) {
|
|
@@ -551,10 +563,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
551
563
|
return logger.warn(`ObservedPeerConnection received an invalid IceCandidateStats (missing timestamp OR id field). PeerConnectionId: ${this.peerConnectionId} ClientId: ${this.client.clientId}, CallId: ${this.client.call.callId}`, stats);
|
|
552
564
|
}
|
|
553
565
|
observedIceCandidate = new ObservedIceCandidate_1.ObservedIceCandidate(stats.timestamp, stats.id, this);
|
|
566
|
+
observedIceCandidate.update(stats);
|
|
554
567
|
this.observedIceCandidates.set(stats.id, observedIceCandidate);
|
|
555
568
|
this.emit('added-ice-candidate', observedIceCandidate);
|
|
556
569
|
}
|
|
557
|
-
|
|
570
|
+
else {
|
|
571
|
+
observedIceCandidate.update(stats);
|
|
572
|
+
}
|
|
573
|
+
this.emit('updated-ice-candidate', observedIceCandidate);
|
|
558
574
|
return observedIceCandidate;
|
|
559
575
|
}
|
|
560
576
|
_updateIceCandidatePairStats(stats) {
|
|
@@ -564,10 +580,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
564
580
|
return logger.warn(`ObservedPeerConnection received an invalid IceCandidateStats (missing timestamp OR id field). PeerConnectionId: ${this.peerConnectionId} ClientId: ${this.client.clientId}, CallId: ${this.client.call.callId}`, stats);
|
|
565
581
|
}
|
|
566
582
|
observedIceCandidatePair = new ObservedIceCandidatePair_1.ObservedIceCandidatePair(stats.timestamp, stats.id, this);
|
|
583
|
+
observedIceCandidatePair.update(stats);
|
|
567
584
|
this.observedIceCandidatesPair.set(stats.id, observedIceCandidatePair);
|
|
568
585
|
this.emit('added-ice-candidate-pair', observedIceCandidatePair);
|
|
569
586
|
}
|
|
570
|
-
|
|
587
|
+
else {
|
|
588
|
+
observedIceCandidatePair.update(stats);
|
|
589
|
+
}
|
|
590
|
+
this.emit('updated-ice-candidate-pair', observedIceCandidatePair);
|
|
571
591
|
return observedIceCandidatePair;
|
|
572
592
|
}
|
|
573
593
|
_updateIceTransportStats(stats) {
|
|
@@ -577,10 +597,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
577
597
|
return logger.warn(`ObservedPeerConnection received an invalid IceCandidateStats (missing timestamp OR id field). PeerConnectionId: ${this.peerConnectionId} ClientId: ${this.client.clientId}, CallId: ${this.client.call.callId}`, stats);
|
|
578
598
|
}
|
|
579
599
|
observedIceTransport = new ObservedIceTransport_1.ObservedIceTransport(stats.timestamp, stats.id, this);
|
|
600
|
+
observedIceTransport.update(stats);
|
|
580
601
|
this.observedIceTransports.set(stats.id, observedIceTransport);
|
|
581
602
|
this.emit('added-ice-transport', observedIceTransport);
|
|
582
603
|
}
|
|
583
|
-
|
|
604
|
+
else {
|
|
605
|
+
observedIceTransport.update(stats);
|
|
606
|
+
}
|
|
607
|
+
this.emit('updated-ice-transport', observedIceTransport);
|
|
584
608
|
return observedIceTransport;
|
|
585
609
|
}
|
|
586
610
|
_updateInboundRtpStats(stats) {
|
|
@@ -590,10 +614,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
590
614
|
return logger.warn(`ObservedPeerConnection received an invalid InboundRtpStats (missing timestamp OR id OR ssrc OR kind OR trackIdentifier field). PeerConnectionId: ${this.peerConnectionId} ClientId: ${this.client.clientId}, CallId: ${this.client.call.callId}`, stats);
|
|
591
615
|
}
|
|
592
616
|
observedInboundRtp = new ObservedInboundRtp_1.ObservedInboundRtp(stats.timestamp, stats.id, stats.ssrc, stats.kind, stats.trackIdentifier, this);
|
|
617
|
+
observedInboundRtp.update(stats);
|
|
593
618
|
this.observedInboundRtps.set(stats.ssrc, observedInboundRtp);
|
|
594
619
|
this.emit('added-inbound-rtp', observedInboundRtp);
|
|
595
620
|
}
|
|
596
|
-
|
|
621
|
+
else {
|
|
622
|
+
observedInboundRtp.update(stats);
|
|
623
|
+
}
|
|
624
|
+
this.emit('updated-inbound-rtp', observedInboundRtp);
|
|
597
625
|
return observedInboundRtp;
|
|
598
626
|
}
|
|
599
627
|
_updateInboundTrackSample(stats) {
|
|
@@ -606,10 +634,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
606
634
|
const mediaPlayout = inboundRtp ?
|
|
607
635
|
[...this.observedMediaPlayouts.values()].find((mp) => mp.id === inboundRtp.playoutId) : undefined;
|
|
608
636
|
observedInboundTrack = new ObservedInboundTrack_1.ObservedInboundTrack(stats.timestamp, stats.id, stats.kind, this, inboundRtp, mediaPlayout);
|
|
637
|
+
observedInboundTrack.update(stats);
|
|
609
638
|
this.observedInboundTracks.set(stats.id, observedInboundTrack);
|
|
610
639
|
this.emit('added-inbound-track', observedInboundTrack);
|
|
611
640
|
}
|
|
612
|
-
|
|
641
|
+
else {
|
|
642
|
+
observedInboundTrack.update(stats);
|
|
643
|
+
}
|
|
644
|
+
this.emit('updated-inbound-track', observedInboundTrack);
|
|
613
645
|
return observedInboundTrack;
|
|
614
646
|
}
|
|
615
647
|
_updateMediaPlayoutStats(stats) {
|
|
@@ -619,10 +651,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
619
651
|
return logger.warn(`ObservedPeerConnection received an invalid InboundRtpStats (missing timestamp OR id OR kind OR trackIdentifier field). PeerConnectionId: ${this.peerConnectionId} ClientId: ${this.client.clientId}, CallId: ${this.client.call.callId}`, stats);
|
|
620
652
|
}
|
|
621
653
|
observedMediaPlayout = new ObservedMediaPlayout_1.ObservedMediaPlayout(stats.timestamp, stats.id, stats.kind, this);
|
|
654
|
+
observedMediaPlayout.update(stats);
|
|
622
655
|
this.observedMediaPlayouts.set(stats.id, observedMediaPlayout);
|
|
623
656
|
this.emit('added-media-playout', observedMediaPlayout);
|
|
624
657
|
}
|
|
625
|
-
|
|
658
|
+
else {
|
|
659
|
+
observedMediaPlayout.update(stats);
|
|
660
|
+
}
|
|
661
|
+
this.emit('updated-media-playout', observedMediaPlayout);
|
|
626
662
|
return observedMediaPlayout;
|
|
627
663
|
}
|
|
628
664
|
_updateMediaSourceStats(stats) {
|
|
@@ -632,10 +668,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
632
668
|
return logger.warn(`ObservedPeerConnection received an invalid InboundRtpStats (missing timestamp OR id OR kind field). PeerConnectionId: ${this.peerConnectionId} ClientId: ${this.client.clientId}, CallId: ${this.client.call.callId}`, stats);
|
|
633
669
|
}
|
|
634
670
|
observedMediaSource = new ObservedMediaSource_1.ObservedMediaSource(stats.timestamp, stats.id, stats.kind, this);
|
|
671
|
+
observedMediaSource.update(stats);
|
|
635
672
|
this.observedMediaSources.set(stats.id, observedMediaSource);
|
|
636
673
|
this.emit('added-media-source', observedMediaSource);
|
|
637
674
|
}
|
|
638
|
-
|
|
675
|
+
else {
|
|
676
|
+
observedMediaSource.update(stats);
|
|
677
|
+
}
|
|
678
|
+
this.emit('updated-media-source', observedMediaSource);
|
|
639
679
|
return observedMediaSource;
|
|
640
680
|
}
|
|
641
681
|
_updateOutboundRtpStats(stats) {
|
|
@@ -645,10 +685,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
645
685
|
return logger.warn(`ObservedPeerConnection received an invalid OutboundRtpStats (missing timestamp OR id OR ssrc OR kind field). PeerConnectionId: ${this.peerConnectionId} ClientId: ${this.client.clientId}, CallId: ${this.client.call.callId}`, stats);
|
|
646
686
|
}
|
|
647
687
|
observedOutboundRtp = new ObservedOutboundRtp_1.ObservedOutboundRtp(stats.timestamp, stats.id, stats.ssrc, stats.kind, this);
|
|
688
|
+
observedOutboundRtp.update(stats);
|
|
648
689
|
this.observedOutboundRtps.set(stats.ssrc, observedOutboundRtp);
|
|
649
690
|
this.emit('added-outbound-rtp', observedOutboundRtp);
|
|
650
691
|
}
|
|
651
|
-
|
|
692
|
+
else {
|
|
693
|
+
observedOutboundRtp.update(stats);
|
|
694
|
+
}
|
|
695
|
+
this.emit('updated-outbound-rtp', observedOutboundRtp);
|
|
652
696
|
return observedOutboundRtp;
|
|
653
697
|
}
|
|
654
698
|
_updateOutboundTrackSample(stats) {
|
|
@@ -661,10 +705,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
661
705
|
const outboundRtps = observedMediaSource
|
|
662
706
|
? [...this.observedOutboundRtps.values()].filter((outboundRtp) => outboundRtp.mediaSourceId === observedMediaSource?.id) : undefined;
|
|
663
707
|
observedOutboundTrack = new ObservedOutboundTrack_1.ObservedOutboundTrack(stats.timestamp, stats.id, stats.kind, this, outboundRtps, observedMediaSource);
|
|
708
|
+
observedOutboundTrack.update(stats);
|
|
664
709
|
this.observedOutboundTracks.set(stats.id, observedOutboundTrack);
|
|
665
710
|
this.emit('added-outbound-track', observedOutboundTrack);
|
|
666
711
|
}
|
|
667
|
-
|
|
712
|
+
else {
|
|
713
|
+
observedOutboundTrack.update(stats);
|
|
714
|
+
}
|
|
715
|
+
this.emit('updated-outbound-track', observedOutboundTrack);
|
|
668
716
|
return observedOutboundTrack;
|
|
669
717
|
}
|
|
670
718
|
_updatePeerConnectionTransportStats(stats) {
|
|
@@ -674,10 +722,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
674
722
|
return logger.warn(`ObservedPeerConnection received an invalid PeerConnectionTransportStats (missing timestamp OR id field). PeerConnectionId: ${this.peerConnectionId} ClientId: ${this.client.clientId}, CallId: ${this.client.call.callId}`, stats);
|
|
675
723
|
}
|
|
676
724
|
observedPeerConnectionTransport = new ObservedPeerConnectionTransport_1.ObservedPeerConnectionTransport(stats.timestamp, stats.id, this);
|
|
725
|
+
observedPeerConnectionTransport.update(stats);
|
|
677
726
|
this.observedPeerConnectionTransports.set(stats.id, observedPeerConnectionTransport);
|
|
678
727
|
this.emit('added-peer-connection-transport', observedPeerConnectionTransport);
|
|
679
728
|
}
|
|
680
|
-
|
|
729
|
+
else {
|
|
730
|
+
observedPeerConnectionTransport.update(stats);
|
|
731
|
+
}
|
|
732
|
+
this.emit('updated-peer-connection-transport', observedPeerConnectionTransport);
|
|
681
733
|
return observedPeerConnectionTransport;
|
|
682
734
|
}
|
|
683
735
|
_updateRemoteInboundRtpStats(stats) {
|
|
@@ -687,10 +739,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
687
739
|
return logger.warn(`ObservedPeerConnection received an invalid RemoteInboundRtpStats (missing timestamp OR id OR ssrc OR kind field). PeerConnectionId: ${this.peerConnectionId} ClientId: ${this.client.clientId}, CallId: ${this.client.call.callId}`, stats);
|
|
688
740
|
}
|
|
689
741
|
observedRemoteInboundRtp = new ObservedRemoteInboundRtp_1.ObservedRemoteInboundRtp(stats.timestamp, stats.id, stats.ssrc, stats.kind, this);
|
|
742
|
+
observedRemoteInboundRtp.update(stats);
|
|
690
743
|
this.observedRemoteInboundRtps.set(stats.ssrc, observedRemoteInboundRtp);
|
|
691
744
|
this.emit('added-remote-inbound-rtp', observedRemoteInboundRtp);
|
|
692
745
|
}
|
|
693
|
-
|
|
746
|
+
else {
|
|
747
|
+
observedRemoteInboundRtp.update(stats);
|
|
748
|
+
}
|
|
749
|
+
this.emit('updated-remote-inbound-rtp', observedRemoteInboundRtp);
|
|
694
750
|
return observedRemoteInboundRtp;
|
|
695
751
|
}
|
|
696
752
|
_updateRemoteOutboundRtpStats(stats) {
|
|
@@ -700,10 +756,14 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
700
756
|
return logger.warn(`ObservedPeerConnection received an invalid RemoteOutboundRtpStats (missing timestamp OR id OR ssrc OR kind field). PeerConnectionId: ${this.peerConnectionId} ClientId: ${this.client.clientId}, CallId: ${this.client.call.callId}`, stats);
|
|
701
757
|
}
|
|
702
758
|
observedRemoteOutboundRtp = new ObservedRemoteOutboundRtp_1.ObservedRemoteOutboundRtp(stats.timestamp, stats.id, stats.ssrc, stats.kind, this);
|
|
759
|
+
observedRemoteOutboundRtp.update(stats);
|
|
703
760
|
this.observedRemoteOutboundRtps.set(stats.ssrc, observedRemoteOutboundRtp);
|
|
704
761
|
this.emit('added-remote-outbound-rtp', observedRemoteOutboundRtp);
|
|
705
762
|
}
|
|
706
|
-
|
|
763
|
+
else {
|
|
764
|
+
observedRemoteOutboundRtp.update(stats);
|
|
765
|
+
}
|
|
766
|
+
this.emit('updated-remote-outbound-rtp', observedRemoteOutboundRtp);
|
|
707
767
|
return observedRemoteOutboundRtp;
|
|
708
768
|
}
|
|
709
769
|
}
|
package/lib/Observer.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { ObservedClient } from './ObservedClient';
|
|
|
6
6
|
import { ObservedTURN } from './ObservedTURN';
|
|
7
7
|
import { Detectors } from './detectors/Detectors';
|
|
8
8
|
import { Updater } from './updaters/Updater';
|
|
9
|
+
import { ObserverEventMonitor } from './ObserverEventMonitor';
|
|
9
10
|
export type ObserverEvents = {
|
|
10
11
|
'client-event': [ObservedClient, ClientEvent];
|
|
11
12
|
'call-updated': [ObservedCall];
|
|
@@ -16,11 +17,12 @@ export type ObserverEvents = {
|
|
|
16
17
|
'update': [];
|
|
17
18
|
'close': [];
|
|
18
19
|
};
|
|
19
|
-
export type ObserverConfig = {
|
|
20
|
+
export type ObserverConfig<AppData extends Record<string, unknown> = Record<string, unknown>> = {
|
|
20
21
|
updatePolicy?: 'update-on-any-call-updated' | 'update-when-all-call-updated' | 'update-on-interval';
|
|
21
22
|
updateIntervalInMs?: number;
|
|
22
23
|
defaultCallUpdatePolicy?: ObservedCallSettings['updatePolicy'];
|
|
23
24
|
defaultCallUpdateIntervalInMs?: number;
|
|
25
|
+
appData?: AppData;
|
|
24
26
|
};
|
|
25
27
|
export declare interface Observer {
|
|
26
28
|
on<U extends keyof ObserverEvents>(event: U, listener: (...args: ObserverEvents[U]) => void): this;
|
|
@@ -28,8 +30,8 @@ export declare interface Observer {
|
|
|
28
30
|
once<U extends keyof ObserverEvents>(event: U, listener: (...args: ObserverEvents[U]) => void): this;
|
|
29
31
|
emit<U extends keyof ObserverEvents>(event: U, ...args: ObserverEvents[U]): boolean;
|
|
30
32
|
}
|
|
31
|
-
export declare class Observer extends EventEmitter {
|
|
32
|
-
readonly config: ObserverConfig
|
|
33
|
+
export declare class Observer<AppData extends Record<string, unknown> = Record<string, unknown>> extends EventEmitter {
|
|
34
|
+
readonly config: ObserverConfig<AppData>;
|
|
33
35
|
readonly detectors: Detectors;
|
|
34
36
|
readonly observedTURN: ObservedTURN;
|
|
35
37
|
readonly observedCalls: Map<string, ObservedCall<Record<string, unknown>>>;
|
|
@@ -50,12 +52,14 @@ export declare class Observer extends EventEmitter {
|
|
|
50
52
|
numberOfPeerConnections: number;
|
|
51
53
|
get numberOfCalls(): number;
|
|
52
54
|
private _timer?;
|
|
53
|
-
constructor(config?: ObserverConfig);
|
|
55
|
+
constructor(config?: ObserverConfig<AppData>);
|
|
56
|
+
get appData(): AppData | undefined;
|
|
54
57
|
getObservedCall<T extends Record<string, unknown> = Record<string, unknown>>(callId: string): ObservedCall<T> | undefined;
|
|
55
58
|
createObservedCall<T extends Record<string, unknown> = Record<string, unknown>>(settings: ObservedCallSettings<T>): ObservedCall<T>;
|
|
56
59
|
close(): void;
|
|
57
60
|
accept(sample: ClientSample): void;
|
|
58
61
|
update(): void;
|
|
59
62
|
private _onObservedCallUpdated;
|
|
63
|
+
createEventMonitor<CTX = unknown>(ctx?: CTX): ObserverEventMonitor<CTX>;
|
|
60
64
|
}
|
|
61
65
|
//# 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,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":"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"}
|
package/lib/Observer.js
CHANGED
|
@@ -7,8 +7,10 @@ const events_1 = require("events");
|
|
|
7
7
|
const ObservedTURN_1 = require("./ObservedTURN");
|
|
8
8
|
const Detectors_1 = require("./detectors/Detectors");
|
|
9
9
|
const OnIntervalUpdater_1 = require("./updaters/OnIntervalUpdater");
|
|
10
|
-
const OnAllCallObserverUpdater_1 = require("./updaters/
|
|
11
|
-
const OnAnyCallObserverUpdater_1 = require("./updaters/
|
|
10
|
+
const OnAllCallObserverUpdater_1 = require("./updaters/OnAllCallObserverUpdater");
|
|
11
|
+
const OnAnyCallObserverUpdater_1 = require("./updaters/OnAnyCallObserverUpdater");
|
|
12
|
+
const ObserverEventMonitor_1 = require("./ObserverEventMonitor");
|
|
13
|
+
const MediasoupRemoteTrackResolver_1 = require("./utils/MediasoupRemoteTrackResolver");
|
|
12
14
|
const logger = (0, logger_1.createLogger)('Observer');
|
|
13
15
|
class Observer extends events_1.EventEmitter {
|
|
14
16
|
config;
|
|
@@ -37,6 +39,7 @@ class Observer extends events_1.EventEmitter {
|
|
|
37
39
|
constructor(config = {
|
|
38
40
|
updatePolicy: 'update-when-all-call-updated',
|
|
39
41
|
updateIntervalInMs: undefined,
|
|
42
|
+
appData: {},
|
|
40
43
|
}) {
|
|
41
44
|
super();
|
|
42
45
|
this.config = config;
|
|
@@ -69,6 +72,9 @@ class Observer extends events_1.EventEmitter {
|
|
|
69
72
|
}
|
|
70
73
|
this.detectors = new Detectors_1.Detectors();
|
|
71
74
|
}
|
|
75
|
+
get appData() {
|
|
76
|
+
return this.config.appData;
|
|
77
|
+
}
|
|
72
78
|
getObservedCall(callId) {
|
|
73
79
|
if (this.closed || !this.observedCalls.has(callId))
|
|
74
80
|
return;
|
|
@@ -86,6 +92,9 @@ class Observer extends events_1.EventEmitter {
|
|
|
86
92
|
const onCallUpdated = () => this._onObservedCallUpdated(observedCall);
|
|
87
93
|
if (this.observedCalls.has(observedCall.callId))
|
|
88
94
|
throw new Error(`Observed Call with id ${observedCall.callId} already exists`);
|
|
95
|
+
if (settings.remoteTrackResolvePolicy === 'mediasoup-sfu') {
|
|
96
|
+
observedCall.remoteTrackResolver = new MediasoupRemoteTrackResolver_1.MediasoupRemoteTrackResolver(observedCall);
|
|
97
|
+
}
|
|
89
98
|
observedCall.once('close', () => {
|
|
90
99
|
this.observedCalls.delete(observedCall.callId);
|
|
91
100
|
observedCall.off('update', onCallUpdated);
|
|
@@ -152,5 +161,8 @@ class Observer extends events_1.EventEmitter {
|
|
|
152
161
|
this.totalRttGtOrEq300Measurements += call.deltaRttGtOrEq300Measurements;
|
|
153
162
|
this.totalClientIssues += call.deltaNumberOfIssues;
|
|
154
163
|
}
|
|
164
|
+
createEventMonitor(ctx) {
|
|
165
|
+
return new ObserverEventMonitor_1.ObserverEventMonitor(this, ctx ?? {});
|
|
166
|
+
}
|
|
155
167
|
}
|
|
156
168
|
exports.Observer = Observer;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { ObservedCall } from './ObservedCall';
|
|
2
|
+
import { ObservedCertificate } from './ObservedCertificate';
|
|
3
|
+
import { ObservedClient } from './ObservedClient';
|
|
4
|
+
import { ObservedCodec } from './ObservedCodec';
|
|
5
|
+
import { ObservedDataChannel } from './ObservedDataChannel';
|
|
6
|
+
import { ObservedIceCandidate } from './ObservedIceCandidate';
|
|
7
|
+
import { ObservedIceCandidatePair } from './ObservedIceCandidatePair';
|
|
8
|
+
import { ObservedIceTransport } from './ObservedIceTransport';
|
|
9
|
+
import { ObservedInboundRtp } from './ObservedInboundRtp';
|
|
10
|
+
import { ObservedInboundTrack } from './ObservedInboundTrack';
|
|
11
|
+
import { ObservedMediaPlayout } from './ObservedMediaPlayout';
|
|
12
|
+
import { ObservedMediaSource } from './ObservedMediaSource';
|
|
13
|
+
import { ObservedOutboundRtp } from './ObservedOutboundRtp';
|
|
14
|
+
import { ObservedOutboundTrack } from './ObservedOutboundTrack';
|
|
15
|
+
import { ObservedPeerConnection } from './ObservedPeerConnection';
|
|
16
|
+
import { Observer } from './Observer';
|
|
17
|
+
import { ClientEvent, ClientIssue, ClientMetaData, ClientSample, ExtensionStat } from './schema/ClientSample';
|
|
18
|
+
export declare class ObserverEventMonitor<Context> {
|
|
19
|
+
readonly observer: Observer;
|
|
20
|
+
readonly context: Context;
|
|
21
|
+
constructor(observer: Observer, context: Context);
|
|
22
|
+
onCallAdded?: (call: ObservedCall, ctx: Context) => void;
|
|
23
|
+
onCallRemoved?: (call: ObservedCall, ctx: Context) => void;
|
|
24
|
+
onCallEmpty?: (call: ObservedCall, ctx: Context) => void;
|
|
25
|
+
onCallNotEmpty?: (call: ObservedCall, ctx: Context) => void;
|
|
26
|
+
onCallUpdated?: (call: ObservedCall, ctx: Context) => void;
|
|
27
|
+
onClientAdded?: (client: ObservedClient, ctx: Context) => void;
|
|
28
|
+
onClientClosed?: (client: ObservedClient, ctx: Context) => void;
|
|
29
|
+
onClientRejoined?: (client: ObservedClient, ctx: Context) => void;
|
|
30
|
+
onClientIssue?: (observedClent: ObservedClient, issue: ClientIssue, ctx: Context) => void;
|
|
31
|
+
onClientMetadata?: (observedClient: ObservedClient, metadata: ClientMetaData, ctx: Context) => void;
|
|
32
|
+
onClientExtensionStats?: (observedClient: ObservedClient, extensionStats: ExtensionStat, ctx: Context) => void;
|
|
33
|
+
onClientJoined?: (client: ObservedClient, ctx: Context) => void;
|
|
34
|
+
onClientLeft?: (client: ObservedClient, ctx: Context) => void;
|
|
35
|
+
onClientUserMediaError?: (observedClient: ObservedClient, error: string, ctx: Context) => void;
|
|
36
|
+
onClientUsingTurn?: (client: ObservedClient, usingTurn: boolean, ctx: Context) => void;
|
|
37
|
+
onClientUpdated?: (client: ObservedClient, sample: ClientSample, ctx: Context) => void;
|
|
38
|
+
onClientEvent?: (client: ObservedClient, event: ClientEvent, ctx: Context) => void;
|
|
39
|
+
onPeerConnectionAdded?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
|
|
40
|
+
onPeerConnectionRemoved?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
|
|
41
|
+
onSelectedCandidatePairChanged?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
|
|
42
|
+
onIceGatheringStateChange?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
|
|
43
|
+
onIceConnectionStateChange?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
|
|
44
|
+
onConnectionStateChange?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
|
|
45
|
+
onCertificateAdded?: (certificate: ObservedCertificate, ctx: Context) => void;
|
|
46
|
+
onCertificateRemoved?: (certificate: ObservedCertificate, ctx: Context) => void;
|
|
47
|
+
onCertificateUpdated?: (certificate: ObservedCertificate, ctx: Context) => void;
|
|
48
|
+
onInboundTrackAdded?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
|
|
49
|
+
onInboundTrackRemoved?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
|
|
50
|
+
onInboundTrackUpdated?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
|
|
51
|
+
onInboundTrackMuted?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
|
|
52
|
+
onInboundTrackUnmuted?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
|
|
53
|
+
onOutboundTrackAdded?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
|
|
54
|
+
onOutboundTrackRemoved?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
|
|
55
|
+
onOutboundTrackUpdated?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
|
|
56
|
+
onOutboundTrackMuted?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
|
|
57
|
+
onOutboundTrackUnmuted?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
|
|
58
|
+
onInboundRtpAdded?: (inboundRtp: ObservedInboundRtp, ctx: Context) => void;
|
|
59
|
+
onInboundRtpRemoved?: (inboundRtp: ObservedInboundRtp, ctx: Context) => void;
|
|
60
|
+
onInboundRtpUpdated?: (inboundRtp: ObservedInboundRtp, ctx: Context) => void;
|
|
61
|
+
onOutboundRtpAdded?: (outboundRtp: ObservedOutboundRtp, ctx: Context) => void;
|
|
62
|
+
onOutboundRtpRemoved?: (outboundRtp: ObservedOutboundRtp, ctx: Context) => void;
|
|
63
|
+
onOutboundRtpUpdated?: (outboundRtp: ObservedOutboundRtp, ctx: Context) => void;
|
|
64
|
+
onDataChannelAdded?: (dataChannel: ObservedDataChannel, ctx: Context) => void;
|
|
65
|
+
onDataChannelRemoved?: (dataChannel: ObservedDataChannel, ctx: Context) => void;
|
|
66
|
+
onDataChannelUpdated?: (dataChannel: ObservedDataChannel, ctx: Context) => void;
|
|
67
|
+
onAddedIceTransport?: (iceTransport: ObservedIceTransport, ctx: Context) => void;
|
|
68
|
+
onRemovedIceTransport?: (iceTransport: ObservedIceTransport, ctx: Context) => void;
|
|
69
|
+
onIceTransportUpdated?: (iceTransport: ObservedIceTransport, ctx: Context) => void;
|
|
70
|
+
onIceCandidateAdded?: (iceCandidate: ObservedIceCandidate, ctx: Context) => void;
|
|
71
|
+
onIceCandidateRemoved?: (iceCandidate: ObservedIceCandidate, ctx: Context) => void;
|
|
72
|
+
onIceCandidateUpdated?: (iceCandidate: ObservedIceCandidate, ctx: Context) => void;
|
|
73
|
+
onAddedIceCandidatePair?: (candidatePair: ObservedIceCandidatePair, ctx: Context) => void;
|
|
74
|
+
onRemovedIceCandidatePair?: (candidatePair: ObservedIceCandidatePair, ctx: Context) => void;
|
|
75
|
+
onIceCandidatePairUpdated?: (candidatePair: ObservedIceCandidatePair, ctx: Context) => void;
|
|
76
|
+
onAddedMediaCodec?: (codec: ObservedCodec, ctx: Context) => void;
|
|
77
|
+
onRemovedMediaCodec?: (codec: ObservedCodec, ctx: Context) => void;
|
|
78
|
+
onMediaCodecUpdated?: (codec: ObservedCodec, ctx: Context) => void;
|
|
79
|
+
onAddedMediaPlayout?: (mediaPlayout: ObservedMediaPlayout, ctx: Context) => void;
|
|
80
|
+
onRemovedMediaPlayout?: (mediaPlayout: ObservedMediaPlayout, ctx: Context) => void;
|
|
81
|
+
onMediaPlayoutUpdated?: (mediaPlayout: ObservedMediaPlayout, ctx: Context) => void;
|
|
82
|
+
onMediaSourceAdded?: (mediaSource: ObservedMediaSource, ctx: Context) => void;
|
|
83
|
+
onMediaSourceRemoved?: (mediaSource: ObservedMediaSource, ctx: Context) => void;
|
|
84
|
+
onMediaSourceUpdated?: (mediaSource: ObservedMediaSource, ctx: Context) => void;
|
|
85
|
+
private _onCallAdded;
|
|
86
|
+
private _onClientAdded;
|
|
87
|
+
private _onClientRejoined;
|
|
88
|
+
private _onPeerConnconnectionAdded;
|
|
89
|
+
private _onPeerConnectionRemoved;
|
|
90
|
+
private _onCertificateAdded;
|
|
91
|
+
private _onCertificateRemoved;
|
|
92
|
+
private _onCertificateUpdated;
|
|
93
|
+
private _onInboundTrackAdded;
|
|
94
|
+
private _onInboundTrackRemoved;
|
|
95
|
+
private _onInboundTrackUpdated;
|
|
96
|
+
private _onOutboundTrackMuted;
|
|
97
|
+
private _onOutboundTrackUnmuted;
|
|
98
|
+
private _onOutboundTrackAdded;
|
|
99
|
+
private _onOutboundTrackRemoved;
|
|
100
|
+
private _onOutboundTrackUpdated;
|
|
101
|
+
private _onInboundTrackMuted;
|
|
102
|
+
private _onInboundTrackUnmuted;
|
|
103
|
+
private _onInboundRtpAdded;
|
|
104
|
+
private _onInboundRtpRemoved;
|
|
105
|
+
private _onInboundRtpUpdated;
|
|
106
|
+
private _onOutboundRtpAdded;
|
|
107
|
+
private _onOutboundRtpRemoved;
|
|
108
|
+
private _onOutboundRtpUpdated;
|
|
109
|
+
private _onDataChannelAdded;
|
|
110
|
+
private _onDataChannelRemoved;
|
|
111
|
+
private _onDataChannelUpdated;
|
|
112
|
+
private _onAddedIceTransport;
|
|
113
|
+
private _onRemovedIceTransport;
|
|
114
|
+
private _onIceTransportUpdated;
|
|
115
|
+
private _onIceCandidateAdded;
|
|
116
|
+
private _onIceCandidateRemoved;
|
|
117
|
+
private _onIceCandidateUpdated;
|
|
118
|
+
private _onAddedIceCandidatePair;
|
|
119
|
+
private _onRemovedIceCandidatePair;
|
|
120
|
+
private _onIceCandidatePairUpdated;
|
|
121
|
+
private _onAddedMediaCodec;
|
|
122
|
+
private _onRemovedMediaCodec;
|
|
123
|
+
private _onMediaCodecUpdated;
|
|
124
|
+
private _onAddedMediaPlayout;
|
|
125
|
+
private _onRemovedMediaPlayout;
|
|
126
|
+
private _onMediaPlayoutUpdated;
|
|
127
|
+
private _onMediaSourceAdded;
|
|
128
|
+
private _onMediaSourceRemoved;
|
|
129
|
+
private _onMediaSourceUpdated;
|
|
130
|
+
private _onClientIssue;
|
|
131
|
+
private _onClientMetadata;
|
|
132
|
+
private _onClientExtensionStats;
|
|
133
|
+
private _onClientJoined;
|
|
134
|
+
private _onClientLeft;
|
|
135
|
+
private _onUserMediaError;
|
|
136
|
+
private _onUsingTurn;
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=ObserverEventMonitor.d.ts.map
|