@observertc/observer-js 0.30.0-e12fcb4.0 → 0.30.2-beta
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 +1 -1
- package/lib/ObservedCall.d.ts.map +1 -1
- package/lib/ObservedCall.js +0 -7
- package/lib/ObservedClient.d.ts +36 -6
- package/lib/ObservedClient.d.ts.map +1 -1
- package/lib/ObservedClient.js +129 -71
- package/lib/ObservedICE.d.ts +47 -0
- package/lib/ObservedICE.d.ts.map +1 -0
- package/lib/ObservedICE.js +105 -0
- package/lib/ObservedInboundTrack.d.ts +16 -0
- package/lib/ObservedInboundTrack.d.ts.map +1 -1
- package/lib/ObservedInboundTrack.js +39 -2
- package/lib/ObservedPeerConnection.d.ts +39 -1
- package/lib/ObservedPeerConnection.d.ts.map +1 -1
- package/lib/ObservedPeerConnection.js +61 -0
- package/lib/Observer.d.ts +1 -4
- package/lib/Observer.d.ts.map +1 -1
- package/lib/Observer.js +1 -0
- package/lib/common/CallEventType.d.ts +22 -0
- package/lib/common/CallEventType.d.ts.map +1 -0
- package/lib/common/CallEventType.js +26 -0
- package/lib/common/callEventReports.d.ts +0 -10
- package/lib/common/callEventReports.d.ts.map +1 -1
- package/lib/common/callEventReports.js +10 -21
- package/lib/models/Models.d.ts +3 -70
- package/lib/models/Models.d.ts.map +1 -1
- package/lib/models/Models.js +2 -72
- package/lib/models/samples_pb.js +1 -1
- package/package.json +1 -1
- package/src/ObservedCall.ts +3 -29
- package/src/ObservedClient.ts +168 -84
- package/src/ObservedICE.ts +176 -0
- package/src/ObservedInboundTrack.ts +50 -1
- package/src/ObservedPeerConnection.ts +79 -2
- package/src/Observer.ts +4 -5
- package/src/common/CallEventType.ts +23 -0
- package/src/common/callEventReports.ts +1 -11
- package/src/models/Models.ts +4 -113
- package/src/models/samples_pb.ts +1 -1
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObservedICE = void 0;
|
|
4
|
+
const events_1 = require("events");
|
|
5
|
+
const callMetaReports_1 = require("./common/callMetaReports");
|
|
6
|
+
class ObservedICE extends events_1.EventEmitter {
|
|
7
|
+
static create(peerConnection) {
|
|
8
|
+
return new ObservedICE(peerConnection);
|
|
9
|
+
}
|
|
10
|
+
constructor(peerConnection) {
|
|
11
|
+
super();
|
|
12
|
+
this.peerConnection = peerConnection;
|
|
13
|
+
this._localCandidates = new Map();
|
|
14
|
+
this._remoteCandidates = new Map();
|
|
15
|
+
this._updated = Date.now();
|
|
16
|
+
this._closed = false;
|
|
17
|
+
}
|
|
18
|
+
get reports() {
|
|
19
|
+
return this.peerConnection.reports;
|
|
20
|
+
}
|
|
21
|
+
get localCandidates() {
|
|
22
|
+
return this._localCandidates;
|
|
23
|
+
}
|
|
24
|
+
get remoteCandidates() {
|
|
25
|
+
return this._remoteCandidates;
|
|
26
|
+
}
|
|
27
|
+
get selectedLocalCandidate() {
|
|
28
|
+
var _a;
|
|
29
|
+
return this._localCandidates.get((_a = this._selectedLocalCandidateId) !== null && _a !== void 0 ? _a : '');
|
|
30
|
+
}
|
|
31
|
+
get selectedRemoteCandidate() {
|
|
32
|
+
var _a;
|
|
33
|
+
return this._remoteCandidates.get((_a = this._selectedRemoteCandidateId) !== null && _a !== void 0 ? _a : '');
|
|
34
|
+
}
|
|
35
|
+
get stats() {
|
|
36
|
+
return this._stats;
|
|
37
|
+
}
|
|
38
|
+
get updated() {
|
|
39
|
+
return this._updated;
|
|
40
|
+
}
|
|
41
|
+
get closed() {
|
|
42
|
+
return this._closed;
|
|
43
|
+
}
|
|
44
|
+
close() {
|
|
45
|
+
if (this._closed)
|
|
46
|
+
return;
|
|
47
|
+
this._closed = true;
|
|
48
|
+
this.emit('close');
|
|
49
|
+
}
|
|
50
|
+
addLocalCandidate(candidate) {
|
|
51
|
+
if (!candidate.id)
|
|
52
|
+
return;
|
|
53
|
+
const newCandidate = !this._localCandidates.has(candidate.id);
|
|
54
|
+
this._localCandidates.set(candidate.id, candidate);
|
|
55
|
+
if (newCandidate) {
|
|
56
|
+
const callMetaReport = (0, callMetaReports_1.createCallMetaReport)(this.peerConnection.client.serviceId, this.peerConnection.client.mediaUnitId, this.peerConnection.client.roomId, this.peerConnection.client.callId, this.peerConnection.client.clientId, {
|
|
57
|
+
type: callMetaReports_1.CallMetaType.ICE_LOCAL_CANDIDATE,
|
|
58
|
+
payload: candidate,
|
|
59
|
+
}, this.peerConnection.client.userId);
|
|
60
|
+
this.reports.addCallMetaReport(callMetaReport);
|
|
61
|
+
this.emit('new-local-candidate', candidate);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
addRemoteCandidate(candidate) {
|
|
65
|
+
if (!candidate.id)
|
|
66
|
+
return;
|
|
67
|
+
const newCandidate = !this._remoteCandidates.has(candidate.id);
|
|
68
|
+
this._remoteCandidates.set(candidate.id, candidate);
|
|
69
|
+
if (newCandidate) {
|
|
70
|
+
const callMetaReport = (0, callMetaReports_1.createCallMetaReport)(this.peerConnection.client.serviceId, this.peerConnection.client.mediaUnitId, this.peerConnection.client.roomId, this.peerConnection.client.callId, this.peerConnection.client.clientId, {
|
|
71
|
+
type: callMetaReports_1.CallMetaType.ICE_REMOTE_CANDIDATE,
|
|
72
|
+
payload: candidate,
|
|
73
|
+
}, this.peerConnection.client.userId);
|
|
74
|
+
this.reports.addCallMetaReport(callMetaReport);
|
|
75
|
+
this.emit('new-remote-candidate', candidate);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
update(candidatePair, timestamp) {
|
|
79
|
+
const report = Object.assign(Object.assign({ serviceId: this.peerConnection.client.serviceId, mediaUnitId: this.peerConnection.client.mediaUnitId, roomId: this.peerConnection.client.roomId, callId: this.peerConnection.client.callId, clientId: this.peerConnection.client.clientId, userId: this.peerConnection.client.userId, timestamp }, candidatePair), { sampleSeq: -1 });
|
|
80
|
+
this.reports.addIceCandidatePairReport(report);
|
|
81
|
+
if (!candidatePair.nominated)
|
|
82
|
+
return;
|
|
83
|
+
this._stats = candidatePair;
|
|
84
|
+
if (candidatePair.localCandidateId &&
|
|
85
|
+
candidatePair.localCandidateId !== this._selectedLocalCandidateId &&
|
|
86
|
+
this._localCandidates.has(candidatePair.localCandidateId) &&
|
|
87
|
+
candidatePair.remoteCandidateId &&
|
|
88
|
+
candidatePair.remoteCandidateId !== this._selectedRemoteCandidateId &&
|
|
89
|
+
this._remoteCandidates.has(candidatePair.remoteCandidateId)) {
|
|
90
|
+
this._selectedLocalCandidateId = candidatePair.localCandidateId;
|
|
91
|
+
this._selectedRemoteCandidateId = candidatePair.remoteCandidateId;
|
|
92
|
+
const localCandidate = this._localCandidates.get(candidatePair.localCandidateId);
|
|
93
|
+
const remoteCandidate = this._remoteCandidates.get(candidatePair.remoteCandidateId);
|
|
94
|
+
if (localCandidate && remoteCandidate) {
|
|
95
|
+
this.emit('new-selected-candidate-pair', {
|
|
96
|
+
localCandidate,
|
|
97
|
+
remoteCandidate,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
this._updated = timestamp;
|
|
102
|
+
this.emit('update');
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.ObservedICE = ObservedICE;
|
|
@@ -22,6 +22,14 @@ export type ObservedInboundTrackStats<K extends MediaKind> = ObservedInboundTrac
|
|
|
22
22
|
bitrate: number;
|
|
23
23
|
fractionLost: number;
|
|
24
24
|
rttInMs?: number;
|
|
25
|
+
lostPackets?: number;
|
|
26
|
+
receivedPackets?: number;
|
|
27
|
+
receivedFrames?: number;
|
|
28
|
+
decodedFrames?: number;
|
|
29
|
+
droppedFrames?: number;
|
|
30
|
+
receivedSamples?: number;
|
|
31
|
+
silentConcealedSamples?: number;
|
|
32
|
+
fractionLoss?: number;
|
|
25
33
|
};
|
|
26
34
|
export declare interface ObservedInboundTrack<Kind extends MediaKind> {
|
|
27
35
|
on<U extends keyof ObservedInboundTrackEvents<Kind>>(event: U, listener: (...args: ObservedInboundTrackEvents<Kind>[U]) => void): this;
|
|
@@ -42,6 +50,14 @@ export declare class ObservedInboundTrack<Kind extends MediaKind> extends EventE
|
|
|
42
50
|
private _remoteOutboundTrack?;
|
|
43
51
|
bitrate: number;
|
|
44
52
|
rttInMs: number;
|
|
53
|
+
lostPackets: number;
|
|
54
|
+
receivedPackets: number;
|
|
55
|
+
receivedFrames: number;
|
|
56
|
+
decodedFrames: number;
|
|
57
|
+
droppedFrames: number;
|
|
58
|
+
receivedSamples: number;
|
|
59
|
+
silentConcealedSamples: number;
|
|
60
|
+
fractionLoss: number;
|
|
45
61
|
private constructor();
|
|
46
62
|
get serviceId(): string;
|
|
47
63
|
get roomId(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservedInboundTrack.d.ts","sourceRoot":"","sources":["../src/ObservedInboundTrack.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,SAAS,IAAI;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,CAAC,CAAC;IACR,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,SAAS,IAAI;IAC7D,MAAM,EAAE,EAAE,CAAC;IACX,KAAK,EAAE,EAAE,CAAC;IACV,mBAAmB,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,+BAA+B,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,OAAO,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAE7H,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,SAAS,IAAI,+BAA+B,CAAC,CAAC,CAAC,GAAG;IACjG,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ObservedInboundTrack.d.ts","sourceRoot":"","sources":["../src/ObservedInboundTrack.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,6 +68,14 @@ class ObservedInboundTrack extends events_1.EventEmitter {
|
|
|
68
68
|
this._updated = Date.now();
|
|
69
69
|
this.bitrate = -1;
|
|
70
70
|
this.rttInMs = -1;
|
|
71
|
+
this.lostPackets = 0;
|
|
72
|
+
this.receivedPackets = 0;
|
|
73
|
+
this.receivedFrames = 0;
|
|
74
|
+
this.decodedFrames = 0;
|
|
75
|
+
this.droppedFrames = 0;
|
|
76
|
+
this.receivedSamples = 0;
|
|
77
|
+
this.silentConcealedSamples = 0;
|
|
78
|
+
this.fractionLoss = 0;
|
|
71
79
|
}
|
|
72
80
|
get serviceId() {
|
|
73
81
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
@@ -144,7 +152,7 @@ class ObservedInboundTrack extends events_1.EventEmitter {
|
|
|
144
152
|
.finally(() => this.emit('close'));
|
|
145
153
|
}
|
|
146
154
|
update(sample, timestamp) {
|
|
147
|
-
var _a, _b, _c, _d, _e, _f;
|
|
155
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
148
156
|
return __awaiter(this, void 0, void 0, function* () {
|
|
149
157
|
if (this._closed)
|
|
150
158
|
return;
|
|
@@ -169,12 +177,41 @@ class ObservedInboundTrack extends events_1.EventEmitter {
|
|
|
169
177
|
const lostPackets = ((_c = sample.packetsLost) !== null && _c !== void 0 ? _c : 0) - ((_d = lastStat === null || lastStat === void 0 ? void 0 : lastStat.packetsLost) !== null && _d !== void 0 ? _d : 0);
|
|
170
178
|
const receivedPackets = ((_e = sample.packetsReceived) !== null && _e !== void 0 ? _e : 0) - ((_f = lastStat === null || lastStat === void 0 ? void 0 : lastStat.packetsReceived) !== null && _f !== void 0 ? _f : 0);
|
|
171
179
|
const fractionLost = 0 < receivedPackets && 0 < lostPackets ? (lostPackets / (receivedPackets + lostPackets)) : 0;
|
|
180
|
+
let decodedFrames;
|
|
181
|
+
let droppedFrames;
|
|
182
|
+
let receivedFrames;
|
|
183
|
+
let silentConcealedSamples;
|
|
184
|
+
if (this.kind === 'video') {
|
|
185
|
+
const videoSample = sample;
|
|
186
|
+
const lastVideoStat = lastStat;
|
|
187
|
+
decodedFrames = ((_g = videoSample.framesDecoded) !== null && _g !== void 0 ? _g : 0) - ((_h = lastVideoStat === null || lastVideoStat === void 0 ? void 0 : lastVideoStat.framesDecoded) !== null && _h !== void 0 ? _h : 0);
|
|
188
|
+
droppedFrames = ((_j = videoSample.framesDropped) !== null && _j !== void 0 ? _j : 0) - ((_k = lastVideoStat === null || lastVideoStat === void 0 ? void 0 : lastVideoStat.framesDropped) !== null && _k !== void 0 ? _k : 0);
|
|
189
|
+
receivedFrames = ((_l = videoSample.framesReceived) !== null && _l !== void 0 ? _l : 0) - ((_m = lastVideoStat === null || lastVideoStat === void 0 ? void 0 : lastVideoStat.framesReceived) !== null && _m !== void 0 ? _m : 0);
|
|
190
|
+
}
|
|
191
|
+
else if (this.kind === 'audio') {
|
|
192
|
+
const audioSample = sample;
|
|
193
|
+
const lastAudioStat = lastStat;
|
|
194
|
+
silentConcealedSamples = ((_o = audioSample.silentConcealedSamples) !== null && _o !== void 0 ? _o : 0) - ((_p = lastAudioStat === null || lastAudioStat === void 0 ? void 0 : lastAudioStat.silentConcealedSamples) !== null && _p !== void 0 ? _p : 0);
|
|
195
|
+
}
|
|
172
196
|
const stats = Object.assign(Object.assign({}, sample), { fractionLost,
|
|
173
197
|
rttInMs,
|
|
174
|
-
bitrate, ssrc: sample.ssrc
|
|
198
|
+
bitrate, ssrc: sample.ssrc, lostPackets,
|
|
199
|
+
receivedPackets,
|
|
200
|
+
receivedFrames,
|
|
201
|
+
decodedFrames,
|
|
202
|
+
droppedFrames,
|
|
203
|
+
silentConcealedSamples });
|
|
175
204
|
this._stats.set(sample.ssrc, stats);
|
|
176
205
|
this.bitrate = [...this._stats.values()].reduce((acc, stat) => acc + stat.bitrate, 0);
|
|
177
206
|
this.rttInMs = [...this._stats.values()].reduce((acc, stat) => { var _a; return acc + ((_a = stat.rttInMs) !== null && _a !== void 0 ? _a : 0); }, 0) / (this._stats.size || 1);
|
|
207
|
+
this.lostPackets = [...this._stats.values()].reduce((acc, stat) => { var _a; return acc + ((_a = stat.lostPackets) !== null && _a !== void 0 ? _a : 0); }, 0);
|
|
208
|
+
this.receivedPackets = [...this._stats.values()].reduce((acc, stat) => { var _a; return acc + ((_a = stat.receivedPackets) !== null && _a !== void 0 ? _a : 0); }, 0);
|
|
209
|
+
this.receivedFrames = [...this._stats.values()].reduce((acc, stat) => { var _a; return acc + ((_a = stat.receivedFrames) !== null && _a !== void 0 ? _a : 0); }, 0);
|
|
210
|
+
this.decodedFrames = [...this._stats.values()].reduce((acc, stat) => { var _a; return acc + ((_a = stat.decodedFrames) !== null && _a !== void 0 ? _a : 0); }, 0);
|
|
211
|
+
this.droppedFrames = [...this._stats.values()].reduce((acc, stat) => { var _a; return acc + ((_a = stat.droppedFrames) !== null && _a !== void 0 ? _a : 0); }, 0);
|
|
212
|
+
this.receivedSamples = [...this._stats.values()].reduce((acc, stat) => { var _a; return acc + ((_a = stat.receivedSamples) !== null && _a !== void 0 ? _a : 0); }, 0);
|
|
213
|
+
this.silentConcealedSamples = [...this._stats.values()].reduce((acc, stat) => { var _a; return acc + ((_a = stat.silentConcealedSamples) !== null && _a !== void 0 ? _a : 0); }, 0);
|
|
214
|
+
this.fractionLoss = 0 < this.receivedPackets && 0 < this.lostPackets ? (this.lostPackets / (this.receivedPackets + this.lostPackets)) : 0;
|
|
178
215
|
if (executeSave)
|
|
179
216
|
yield this._save();
|
|
180
217
|
this._updated = timestamp;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
3
|
import { StorageProvider } from './storages/StorageProvider';
|
|
4
|
-
import { PeerConnectionTransport } from '@observertc/sample-schemas-js';
|
|
4
|
+
import { IceLocalCandidate, IceRemoteCandidate, PeerConnectionTransport } from '@observertc/sample-schemas-js';
|
|
5
5
|
import { ObservedClient } from './ObservedClient';
|
|
6
6
|
import { ObservedInboundTrack, ObservedInboundTrackConfig } from './ObservedInboundTrack';
|
|
7
7
|
import { ObservedOutboundTrack, ObservedOutboundTrackConfig } from './ObservedOutboundTrack';
|
|
8
|
+
import { ObservedICE } from './ObservedICE';
|
|
8
9
|
export type ObservedPeerConnectionEvents = {
|
|
9
10
|
update: [];
|
|
10
11
|
close: [];
|
|
@@ -12,6 +13,9 @@ export type ObservedPeerConnectionEvents = {
|
|
|
12
13
|
newinboudvideotrack: [ObservedInboundTrack<'video'>];
|
|
13
14
|
newoutboundaudiotrack: [ObservedOutboundTrack<'audio'>];
|
|
14
15
|
newoutboundvideotrack: [ObservedOutboundTrack<'video'>];
|
|
16
|
+
iceconnectionstatechange: [string];
|
|
17
|
+
icegatheringstatechange: [string];
|
|
18
|
+
connectionstatechange: [string];
|
|
15
19
|
};
|
|
16
20
|
export type ObservedPeerConnectionConfig = {
|
|
17
21
|
peerConnectionId: string;
|
|
@@ -28,9 +32,39 @@ export declare class ObservedPeerConnection extends EventEmitter {
|
|
|
28
32
|
readonly client: ObservedClient;
|
|
29
33
|
private readonly _storageProvider;
|
|
30
34
|
static create(config: ObservedPeerConnectionConfig, client: ObservedClient, storageProvider: StorageProvider): Promise<ObservedPeerConnection>;
|
|
35
|
+
totalInboundPacketsLost: number;
|
|
36
|
+
totalInboundPacketsReceived: number;
|
|
37
|
+
totalOutboundPacketsLost: number;
|
|
38
|
+
totalOutboundPacketsReceived: number;
|
|
39
|
+
totalOutboundPacketsSent: number;
|
|
40
|
+
totalDataChannelBytesSent: number;
|
|
41
|
+
totalDataChannelBytesReceived: number;
|
|
42
|
+
totalSentAudioBytes: number;
|
|
43
|
+
totalSentVideoBytes: number;
|
|
44
|
+
totalReceivedAudioBytes: number;
|
|
45
|
+
totalReceivedVideoBytes: number;
|
|
46
|
+
deltaInboundPacketsLost: number;
|
|
47
|
+
deltaInboundPacketsReceived: number;
|
|
48
|
+
deltaOutboundPacketsLost: number;
|
|
49
|
+
deltaOutboundPacketsReceived: number;
|
|
50
|
+
deltaOutboundPacketsSent: number;
|
|
51
|
+
deltaDataChannelBytesSent: number;
|
|
52
|
+
deltaDataChannelBytesReceived: number;
|
|
53
|
+
deltaReceivedAudioBytes: number;
|
|
54
|
+
deltaReceivedVideoBytes: number;
|
|
55
|
+
deltaSentAudioBytes: number;
|
|
56
|
+
deltaSentVideoBytes: number;
|
|
57
|
+
sendingAudioBitrate: number;
|
|
58
|
+
sendingVideoBitrate: number;
|
|
59
|
+
receivingAudioBitrate: number;
|
|
60
|
+
receivingVideoBitrate: number;
|
|
61
|
+
avgRttInS?: number;
|
|
31
62
|
private _closed;
|
|
32
63
|
private _updated;
|
|
33
64
|
private _sample?;
|
|
65
|
+
private _selectedLocalIceCandidate?;
|
|
66
|
+
private _selectedRemoteIceCandidate?;
|
|
67
|
+
readonly ICE: ObservedICE;
|
|
34
68
|
private readonly _inboundAudioTracks;
|
|
35
69
|
private readonly _inboundVideoTracks;
|
|
36
70
|
private readonly _outboundAudioTracks;
|
|
@@ -41,13 +75,17 @@ export declare class ObservedPeerConnection extends EventEmitter {
|
|
|
41
75
|
get reports(): import("./ReportsCollector").ReportsCollector;
|
|
42
76
|
get stats(): ObservedPeerConnectionStats | undefined;
|
|
43
77
|
get updated(): number;
|
|
78
|
+
get selectedLocalIceCandidate(): IceLocalCandidate | undefined;
|
|
79
|
+
get selectedRemoteIceCandidate(): IceRemoteCandidate | undefined;
|
|
44
80
|
get inboundAudioTracks(): ReadonlyMap<string, ObservedInboundTrack<'audio'>>;
|
|
45
81
|
get inboundVideoTracks(): ReadonlyMap<string, ObservedInboundTrack<'video'>>;
|
|
46
82
|
get outboundAudioTracks(): ReadonlyMap<string, ObservedOutboundTrack<'audio'>>;
|
|
47
83
|
get outboundVideoTracks(): ReadonlyMap<string, ObservedOutboundTrack<'video'>>;
|
|
48
84
|
get closed(): boolean;
|
|
49
85
|
close(): void;
|
|
86
|
+
updateMetrics(): void;
|
|
50
87
|
update(sample: PeerConnectionTransport, timestamp: number): void;
|
|
88
|
+
updateSelectedCandidate(localCandidate: IceLocalCandidate, remoteCandidate: IceRemoteCandidate): void;
|
|
51
89
|
createInboundAudioTrack(config: Omit<ObservedInboundTrackConfig<'audio'>, 'kind'>): Promise<ObservedInboundTrack<'audio'>>;
|
|
52
90
|
createInboundVideoTrack(config: Omit<ObservedInboundTrackConfig<'video'>, 'kind'>): Promise<ObservedInboundTrack<'video'>>;
|
|
53
91
|
createOutboundAudioTrack(config: Omit<ObservedOutboundTrackConfig<'audio'>, 'kind'>): Promise<ObservedOutboundTrack<'audio'>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservedPeerConnection.d.ts","sourceRoot":"","sources":["../src/ObservedPeerConnection.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"ObservedPeerConnection.d.ts","sourceRoot":"","sources":["../src/ObservedPeerConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ const Models = __importStar(require("./models/Models"));
|
|
|
38
38
|
const ObservedInboundTrack_1 = require("./ObservedInboundTrack");
|
|
39
39
|
const ObservedOutboundTrack_1 = require("./ObservedOutboundTrack");
|
|
40
40
|
const SingleExecutor_1 = require("./common/SingleExecutor");
|
|
41
|
+
const ObservedICE_1 = require("./ObservedICE");
|
|
41
42
|
class ObservedPeerConnection extends events_1.EventEmitter {
|
|
42
43
|
static create(config, client, storageProvider) {
|
|
43
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -59,8 +60,35 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
59
60
|
this._model = _model;
|
|
60
61
|
this.client = client;
|
|
61
62
|
this._storageProvider = _storageProvider;
|
|
63
|
+
this.totalInboundPacketsLost = 0;
|
|
64
|
+
this.totalInboundPacketsReceived = 0;
|
|
65
|
+
this.totalOutboundPacketsLost = 0;
|
|
66
|
+
this.totalOutboundPacketsReceived = 0;
|
|
67
|
+
this.totalOutboundPacketsSent = 0;
|
|
68
|
+
this.totalDataChannelBytesSent = 0;
|
|
69
|
+
this.totalDataChannelBytesReceived = 0;
|
|
70
|
+
this.totalSentAudioBytes = 0;
|
|
71
|
+
this.totalSentVideoBytes = 0;
|
|
72
|
+
this.totalReceivedAudioBytes = 0;
|
|
73
|
+
this.totalReceivedVideoBytes = 0;
|
|
74
|
+
this.deltaInboundPacketsLost = 0;
|
|
75
|
+
this.deltaInboundPacketsReceived = 0;
|
|
76
|
+
this.deltaOutboundPacketsLost = 0;
|
|
77
|
+
this.deltaOutboundPacketsReceived = 0;
|
|
78
|
+
this.deltaOutboundPacketsSent = 0;
|
|
79
|
+
this.deltaDataChannelBytesSent = 0;
|
|
80
|
+
this.deltaDataChannelBytesReceived = 0;
|
|
81
|
+
this.deltaReceivedAudioBytes = 0;
|
|
82
|
+
this.deltaReceivedVideoBytes = 0;
|
|
83
|
+
this.deltaSentAudioBytes = 0;
|
|
84
|
+
this.deltaSentVideoBytes = 0;
|
|
85
|
+
this.sendingAudioBitrate = 0;
|
|
86
|
+
this.sendingVideoBitrate = 0;
|
|
87
|
+
this.receivingAudioBitrate = 0;
|
|
88
|
+
this.receivingVideoBitrate = 0;
|
|
62
89
|
this._closed = false;
|
|
63
90
|
this._updated = Date.now();
|
|
91
|
+
this.ICE = ObservedICE_1.ObservedICE.create(this);
|
|
64
92
|
this._inboundAudioTracks = new Map();
|
|
65
93
|
this._inboundVideoTracks = new Map();
|
|
66
94
|
this._outboundAudioTracks = new Map();
|
|
@@ -80,6 +108,12 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
80
108
|
get updated() {
|
|
81
109
|
return this._updated;
|
|
82
110
|
}
|
|
111
|
+
get selectedLocalIceCandidate() {
|
|
112
|
+
return this._selectedLocalIceCandidate;
|
|
113
|
+
}
|
|
114
|
+
get selectedRemoteIceCandidate() {
|
|
115
|
+
return this._selectedRemoteIceCandidate;
|
|
116
|
+
}
|
|
83
117
|
get inboundAudioTracks() {
|
|
84
118
|
return this._inboundAudioTracks;
|
|
85
119
|
}
|
|
@@ -107,6 +141,29 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
107
141
|
.catch(() => void 0)
|
|
108
142
|
.finally(() => this.emit('close'));
|
|
109
143
|
}
|
|
144
|
+
updateMetrics() {
|
|
145
|
+
this.deltaInboundPacketsLost = 0;
|
|
146
|
+
this.deltaInboundPacketsReceived = 0;
|
|
147
|
+
this.deltaOutboundPacketsLost = 0;
|
|
148
|
+
this.deltaOutboundPacketsReceived = 0;
|
|
149
|
+
this.deltaOutboundPacketsSent = 0;
|
|
150
|
+
this.sendingAudioBitrate = 0;
|
|
151
|
+
this.sendingVideoBitrate = 0;
|
|
152
|
+
this.receivingAudioBitrate = 0;
|
|
153
|
+
this.receivingVideoBitrate = 0;
|
|
154
|
+
this.deltaDataChannelBytesSent = 0;
|
|
155
|
+
this.deltaDataChannelBytesReceived = 0;
|
|
156
|
+
this.deltaReceivedAudioBytes = 0;
|
|
157
|
+
this.deltaReceivedVideoBytes = 0;
|
|
158
|
+
this.deltaSentAudioBytes = 0;
|
|
159
|
+
this.deltaSentVideoBytes = 0;
|
|
160
|
+
this._inboundAudioTracks.forEach((track) => {
|
|
161
|
+
this.deltaReceivedAudioBytes += track.receivedPackets;
|
|
162
|
+
});
|
|
163
|
+
this._inboundVideoTracks.forEach((track) => {
|
|
164
|
+
this.deltaReceivedVideoBytes += track.receivedPackets;
|
|
165
|
+
});
|
|
166
|
+
}
|
|
110
167
|
update(sample, timestamp) {
|
|
111
168
|
if (this._closed)
|
|
112
169
|
return;
|
|
@@ -118,6 +175,10 @@ class ObservedPeerConnection extends events_1.EventEmitter {
|
|
|
118
175
|
this._updated = timestamp;
|
|
119
176
|
this.emit('update');
|
|
120
177
|
}
|
|
178
|
+
updateSelectedCandidate(localCandidate, remoteCandidate) {
|
|
179
|
+
this._selectedLocalIceCandidate = localCandidate;
|
|
180
|
+
this._selectedRemoteIceCandidate = remoteCandidate;
|
|
181
|
+
}
|
|
121
182
|
createInboundAudioTrack(config) {
|
|
122
183
|
return __awaiter(this, void 0, void 0, function* () {
|
|
123
184
|
if (this._closed)
|
package/lib/Observer.d.ts
CHANGED
|
@@ -25,11 +25,8 @@ export type ObserverConfig = {
|
|
|
25
25
|
defaultMediaUnitId: string;
|
|
26
26
|
maxReports?: number | undefined;
|
|
27
27
|
maxCollectingTimeInMs?: number | undefined;
|
|
28
|
+
maxEntryIdleTimeInMs?: number | undefined;
|
|
28
29
|
storages?: StorageProvider;
|
|
29
|
-
/**
|
|
30
|
-
* before client-monitor-js 3.4.0 the client joined event was generated by the observer, this flag is to keep the compatibility with the old behavior
|
|
31
|
-
*/
|
|
32
|
-
addJoinAndDetachClientEvent?: boolean;
|
|
33
30
|
};
|
|
34
31
|
export declare interface Observer {
|
|
35
32
|
on<U extends keyof ObserverEvents>(event: U, listener: (...args: ObserverEvents[U]) => void): this;
|
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,eAAe,EAA+B,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C,MAAM,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC;IAE1B,OAAO,EAAE,EAAE,CAAC;CACZ,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAE5B;;;;;;OAMG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3C,
|
|
1
|
+
{"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../src/Observer.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAA+B,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C,MAAM,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC;IAE1B,OAAO,EAAE,EAAE,CAAC;CACZ,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAE5B;;;;;;OAMG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3C,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,CAAC,OAAO,WAAW,QAAQ;IAChC,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACnG,GAAG,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACpG,IAAI,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACrG,IAAI,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACpF;AAED,qBAAa,QAAS,SAAQ,YAAY;aA0BxB,MAAM,EAAE,cAAc;aACtB,OAAO,EAAE,eAAe;WA1B3B,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,QAAQ;IAoBvE,SAAgB,OAAO,mBAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmC;IAClE,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,OAAO,CAAS;gBAEP,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,eAAe;IAiB5B,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1F,MAAM,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC,GAC/D,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAqC3B,IAAW,aAAa,IAAI,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAE5D;IAED,IAAW,MAAM,YAEhB;IAEM,KAAK;IASZ,OAAO,CAAC,YAAY;CAepB"}
|
package/lib/Observer.js
CHANGED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare enum CallEventType {
|
|
2
|
+
CALL_STARTED = "CALL_STARTED",
|
|
3
|
+
CALL_ENDED = "CALL_ENDED",
|
|
4
|
+
CLIENT_JOINED = "CLIENT_JOINED",
|
|
5
|
+
CLIENT_LEFT = "CLIENT_LEFT",
|
|
6
|
+
PEER_CONNECTION_OPENED = "PEER_CONNECTION_OPENED",
|
|
7
|
+
PEER_CONNECTION_CLOSED = "PEER_CONNECTION_CLOSED",
|
|
8
|
+
MEDIA_TRACK_ADDED = "MEDIA_TRACK_ADDED",
|
|
9
|
+
MEDIA_TRACK_REMOVED = "MEDIA_TRACK_REMOVED",
|
|
10
|
+
MEDIA_TRACK_RESUMED = "MEDIA_TRACK_RESUMED",
|
|
11
|
+
MEDIA_TRACK_MUTED = "MEDIA_TRACK_MUTED",
|
|
12
|
+
MEDIA_TRACK_UNMUTED = "MEDIA_TRACK_UNMUTED",
|
|
13
|
+
ICE_GATHERING_STATE_CHANGED = "ICE_GATHERING_STATE_CHANGED",
|
|
14
|
+
PEER_CONNECTION_STATE_CHANGED = "PEER_CONNECTION_STATE_CHANGED",
|
|
15
|
+
ICE_CONNECTION_STATE_CHANGED = "ICE_CONNECTION_STATE_CHANGED",
|
|
16
|
+
DATA_CHANNEL_OPEN = "DATA_CHANNEL_OPEN",
|
|
17
|
+
DATA_CHANNEL_CLOSED = "DATA_CHANNEL_CLOSED",
|
|
18
|
+
DATA_CHANNEL_ERROR = "DATA_CHANNEL_ERROR",
|
|
19
|
+
NEGOTIATION_NEEDED = "NEGOTIATION_NEEDED",
|
|
20
|
+
SIGNALING_STATE_CHANGE = "SIGNALING_STATE_CHANGE"
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=CallEventType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CallEventType.d.ts","sourceRoot":"","sources":["../../src/common/CallEventType.ts"],"names":[],"mappings":"AAEA,oBAAY,aAAa;IACxB,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;CACjD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// eslint-disable-next-line no-shadow
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.CallEventType = void 0;
|
|
5
|
+
var CallEventType;
|
|
6
|
+
(function (CallEventType) {
|
|
7
|
+
CallEventType["CALL_STARTED"] = "CALL_STARTED";
|
|
8
|
+
CallEventType["CALL_ENDED"] = "CALL_ENDED";
|
|
9
|
+
CallEventType["CLIENT_JOINED"] = "CLIENT_JOINED";
|
|
10
|
+
CallEventType["CLIENT_LEFT"] = "CLIENT_LEFT";
|
|
11
|
+
CallEventType["PEER_CONNECTION_OPENED"] = "PEER_CONNECTION_OPENED";
|
|
12
|
+
CallEventType["PEER_CONNECTION_CLOSED"] = "PEER_CONNECTION_CLOSED";
|
|
13
|
+
CallEventType["MEDIA_TRACK_ADDED"] = "MEDIA_TRACK_ADDED";
|
|
14
|
+
CallEventType["MEDIA_TRACK_REMOVED"] = "MEDIA_TRACK_REMOVED";
|
|
15
|
+
CallEventType["MEDIA_TRACK_RESUMED"] = "MEDIA_TRACK_RESUMED";
|
|
16
|
+
CallEventType["MEDIA_TRACK_MUTED"] = "MEDIA_TRACK_MUTED";
|
|
17
|
+
CallEventType["MEDIA_TRACK_UNMUTED"] = "MEDIA_TRACK_UNMUTED";
|
|
18
|
+
CallEventType["ICE_GATHERING_STATE_CHANGED"] = "ICE_GATHERING_STATE_CHANGED";
|
|
19
|
+
CallEventType["PEER_CONNECTION_STATE_CHANGED"] = "PEER_CONNECTION_STATE_CHANGED";
|
|
20
|
+
CallEventType["ICE_CONNECTION_STATE_CHANGED"] = "ICE_CONNECTION_STATE_CHANGED";
|
|
21
|
+
CallEventType["DATA_CHANNEL_OPEN"] = "DATA_CHANNEL_OPEN";
|
|
22
|
+
CallEventType["DATA_CHANNEL_CLOSED"] = "DATA_CHANNEL_CLOSED";
|
|
23
|
+
CallEventType["DATA_CHANNEL_ERROR"] = "DATA_CHANNEL_ERROR";
|
|
24
|
+
CallEventType["NEGOTIATION_NEEDED"] = "NEGOTIATION_NEEDED";
|
|
25
|
+
CallEventType["SIGNALING_STATE_CHANGE"] = "SIGNALING_STATE_CHANGE";
|
|
26
|
+
})(CallEventType = exports.CallEventType || (exports.CallEventType = {}));
|
|
@@ -1,14 +1,4 @@
|
|
|
1
1
|
import { CallEventReport } from '@observertc/report-schemas-js';
|
|
2
|
-
export declare enum CallEventType {
|
|
3
|
-
CALL_STARTED = "CALL_STARTED",
|
|
4
|
-
CALL_ENDED = "CALL_ENDED",
|
|
5
|
-
CLIENT_JOINED = "CLIENT_JOINED",
|
|
6
|
-
CLIENT_LEFT = "CLIENT_LEFT",
|
|
7
|
-
PEER_CONNECTION_OPENED = "PEER_CONNECTION_OPENED",
|
|
8
|
-
PEER_CONNECTION_CLOSED = "PEER_CONNECTION_CLOSED",
|
|
9
|
-
MEDIA_TRACK_ADDED = "MEDIA_TRACK_ADDED",
|
|
10
|
-
MEDIA_TRACK_REMOVED = "MEDIA_TRACK_REMOVED"
|
|
11
|
-
}
|
|
12
2
|
export declare function createCallStartedEventReport(serviceId: string, roomId: string, callId: string, timestamp: number, marker?: string): CallEventReport;
|
|
13
3
|
export declare function createCallEndedEventReport(serviceId: string, roomId: string, callId: string, timestamp: number, marker?: string): CallEventReport;
|
|
14
4
|
export declare function createClientJoinedEventReport(serviceId: string, mediaUnitId: string, roomId: string, callId: string, clientId: string, timestamp: number, userId?: string, marker?: string): CallEventReport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callEventReports.d.ts","sourceRoot":"","sources":["../../src/common/callEventReports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,
|
|
1
|
+
{"version":3,"file":"callEventReports.d.ts","sourceRoot":"","sources":["../../src/common/callEventReports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,wBAAgB,4BAA4B,CAC3C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CASjB;AAED,wBAAgB,0BAA0B,CACzC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CASjB;AAED,wBAAgB,6BAA6B,CAC5C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAYjB;AAED,wBAAgB,2BAA2B,CAC1C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAYjB;AAED,wBAAgB,qCAAqC,CACpD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAYjB;AAED,wBAAgB,qCAAqC,CACpD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAYjB;AAED,wBAAgB,gCAAgC,CAC/C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAajB;AAED,wBAAgB,kCAAkC,CACjD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAajB"}
|
|
@@ -1,21 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createMediaTrackRemovedEventReport = exports.createMediaTrackAddedEventReport = exports.createPeerConnectionClosedEventReport = exports.createPeerConnectionOpenedEventReport = exports.createClientLeftEventReport = exports.createClientJoinedEventReport = exports.createCallEndedEventReport = exports.createCallStartedEventReport =
|
|
4
|
-
|
|
5
|
-
var CallEventType;
|
|
6
|
-
(function (CallEventType) {
|
|
7
|
-
CallEventType["CALL_STARTED"] = "CALL_STARTED";
|
|
8
|
-
CallEventType["CALL_ENDED"] = "CALL_ENDED";
|
|
9
|
-
CallEventType["CLIENT_JOINED"] = "CLIENT_JOINED";
|
|
10
|
-
CallEventType["CLIENT_LEFT"] = "CLIENT_LEFT";
|
|
11
|
-
CallEventType["PEER_CONNECTION_OPENED"] = "PEER_CONNECTION_OPENED";
|
|
12
|
-
CallEventType["PEER_CONNECTION_CLOSED"] = "PEER_CONNECTION_CLOSED";
|
|
13
|
-
CallEventType["MEDIA_TRACK_ADDED"] = "MEDIA_TRACK_ADDED";
|
|
14
|
-
CallEventType["MEDIA_TRACK_REMOVED"] = "MEDIA_TRACK_REMOVED";
|
|
15
|
-
})(CallEventType = exports.CallEventType || (exports.CallEventType = {}));
|
|
3
|
+
exports.createMediaTrackRemovedEventReport = exports.createMediaTrackAddedEventReport = exports.createPeerConnectionClosedEventReport = exports.createPeerConnectionOpenedEventReport = exports.createClientLeftEventReport = exports.createClientJoinedEventReport = exports.createCallEndedEventReport = exports.createCallStartedEventReport = void 0;
|
|
4
|
+
const CallEventType_1 = require("./CallEventType");
|
|
16
5
|
function createCallStartedEventReport(serviceId, roomId, callId, timestamp, marker) {
|
|
17
6
|
return {
|
|
18
|
-
name: CallEventType.CALL_STARTED,
|
|
7
|
+
name: CallEventType_1.CallEventType.CALL_STARTED,
|
|
19
8
|
serviceId,
|
|
20
9
|
roomId,
|
|
21
10
|
callId,
|
|
@@ -26,7 +15,7 @@ function createCallStartedEventReport(serviceId, roomId, callId, timestamp, mark
|
|
|
26
15
|
exports.createCallStartedEventReport = createCallStartedEventReport;
|
|
27
16
|
function createCallEndedEventReport(serviceId, roomId, callId, timestamp, marker) {
|
|
28
17
|
return {
|
|
29
|
-
name: CallEventType.CALL_ENDED,
|
|
18
|
+
name: CallEventType_1.CallEventType.CALL_ENDED,
|
|
30
19
|
serviceId,
|
|
31
20
|
roomId,
|
|
32
21
|
callId,
|
|
@@ -37,7 +26,7 @@ function createCallEndedEventReport(serviceId, roomId, callId, timestamp, marker
|
|
|
37
26
|
exports.createCallEndedEventReport = createCallEndedEventReport;
|
|
38
27
|
function createClientJoinedEventReport(serviceId, mediaUnitId, roomId, callId, clientId, timestamp, userId, marker) {
|
|
39
28
|
return {
|
|
40
|
-
name: CallEventType.CLIENT_JOINED,
|
|
29
|
+
name: CallEventType_1.CallEventType.CLIENT_JOINED,
|
|
41
30
|
serviceId,
|
|
42
31
|
mediaUnitId,
|
|
43
32
|
roomId,
|
|
@@ -51,7 +40,7 @@ function createClientJoinedEventReport(serviceId, mediaUnitId, roomId, callId, c
|
|
|
51
40
|
exports.createClientJoinedEventReport = createClientJoinedEventReport;
|
|
52
41
|
function createClientLeftEventReport(serviceId, mediaUnitId, roomId, callId, clientId, timestamp, userId, marker) {
|
|
53
42
|
return {
|
|
54
|
-
name: CallEventType.CLIENT_LEFT,
|
|
43
|
+
name: CallEventType_1.CallEventType.CLIENT_LEFT,
|
|
55
44
|
serviceId,
|
|
56
45
|
mediaUnitId,
|
|
57
46
|
roomId,
|
|
@@ -65,7 +54,7 @@ function createClientLeftEventReport(serviceId, mediaUnitId, roomId, callId, cli
|
|
|
65
54
|
exports.createClientLeftEventReport = createClientLeftEventReport;
|
|
66
55
|
function createPeerConnectionOpenedEventReport(serviceId, mediaUnitId, roomId, callId, clientId, peerConnectionId, timestamp, marker) {
|
|
67
56
|
return {
|
|
68
|
-
name: CallEventType.PEER_CONNECTION_OPENED,
|
|
57
|
+
name: CallEventType_1.CallEventType.PEER_CONNECTION_OPENED,
|
|
69
58
|
serviceId,
|
|
70
59
|
mediaUnitId,
|
|
71
60
|
roomId,
|
|
@@ -79,7 +68,7 @@ function createPeerConnectionOpenedEventReport(serviceId, mediaUnitId, roomId, c
|
|
|
79
68
|
exports.createPeerConnectionOpenedEventReport = createPeerConnectionOpenedEventReport;
|
|
80
69
|
function createPeerConnectionClosedEventReport(serviceId, mediaUnitId, roomId, callId, clientId, peerConnectionId, timestamp, marker) {
|
|
81
70
|
return {
|
|
82
|
-
name: CallEventType.PEER_CONNECTION_CLOSED,
|
|
71
|
+
name: CallEventType_1.CallEventType.PEER_CONNECTION_CLOSED,
|
|
83
72
|
serviceId,
|
|
84
73
|
mediaUnitId,
|
|
85
74
|
roomId,
|
|
@@ -93,7 +82,7 @@ function createPeerConnectionClosedEventReport(serviceId, mediaUnitId, roomId, c
|
|
|
93
82
|
exports.createPeerConnectionClosedEventReport = createPeerConnectionClosedEventReport;
|
|
94
83
|
function createMediaTrackAddedEventReport(serviceId, mediaUnitId, roomId, callId, clientId, peerConnectionId, mediaTrackId, timestamp, marker) {
|
|
95
84
|
return {
|
|
96
|
-
name: CallEventType.MEDIA_TRACK_ADDED,
|
|
85
|
+
name: CallEventType_1.CallEventType.MEDIA_TRACK_ADDED,
|
|
97
86
|
serviceId,
|
|
98
87
|
mediaUnitId,
|
|
99
88
|
roomId,
|
|
@@ -108,7 +97,7 @@ function createMediaTrackAddedEventReport(serviceId, mediaUnitId, roomId, callId
|
|
|
108
97
|
exports.createMediaTrackAddedEventReport = createMediaTrackAddedEventReport;
|
|
109
98
|
function createMediaTrackRemovedEventReport(serviceId, mediaUnitId, roomId, callId, clientId, peerConnectionId, mediaTrackId, timestamp, marker) {
|
|
110
99
|
return {
|
|
111
|
-
name: CallEventType.MEDIA_TRACK_REMOVED,
|
|
100
|
+
name: CallEventType_1.CallEventType.MEDIA_TRACK_REMOVED,
|
|
112
101
|
serviceId,
|
|
113
102
|
mediaUnitId,
|
|
114
103
|
roomId,
|