@observertc/observer-js 1.0.1-f31d7a4.0 → 1.1.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.
Files changed (174) hide show
  1. package/README.md +2184 -1
  2. package/dist/index.d.mts +6842 -0
  3. package/dist/index.d.ts +6842 -0
  4. package/dist/index.js +7736 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.mjs +7608 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +44 -18
  9. package/.eslintrc.json +0 -143
  10. package/.prettierignore +0 -5
  11. package/.prettierrc +0 -7
  12. package/jest.config.js +0 -9
  13. package/lib/ObservedCall.d.ts +0 -62
  14. package/lib/ObservedCall.d.ts.map +0 -1
  15. package/lib/ObservedCall.js +0 -127
  16. package/lib/ObservedCertificate.d.ts +0 -19
  17. package/lib/ObservedCertificate.d.ts.map +0 -1
  18. package/lib/ObservedCertificate.js +0 -38
  19. package/lib/ObservedClient.d.ts +0 -104
  20. package/lib/ObservedClient.d.ts.map +0 -1
  21. package/lib/ObservedClient.js +0 -250
  22. package/lib/ObservedCodec.d.ts +0 -22
  23. package/lib/ObservedCodec.d.ts.map +0 -1
  24. package/lib/ObservedCodec.js +0 -45
  25. package/lib/ObservedDataChannel.d.ts +0 -28
  26. package/lib/ObservedDataChannel.d.ts.map +0 -1
  27. package/lib/ObservedDataChannel.js +0 -73
  28. package/lib/ObservedIceCandidate.d.ts +0 -29
  29. package/lib/ObservedIceCandidate.d.ts.map +0 -1
  30. package/lib/ObservedIceCandidate.js +0 -59
  31. package/lib/ObservedIceCandidatePair.d.ts +0 -44
  32. package/lib/ObservedIceCandidatePair.d.ts.map +0 -1
  33. package/lib/ObservedIceCandidatePair.js +0 -111
  34. package/lib/ObservedIceTransport.d.ts +0 -32
  35. package/lib/ObservedIceTransport.d.ts.map +0 -1
  36. package/lib/ObservedIceTransport.js +0 -65
  37. package/lib/ObservedInboundRtp.d.ts +0 -92
  38. package/lib/ObservedInboundRtp.d.ts.map +0 -1
  39. package/lib/ObservedInboundRtp.js +0 -193
  40. package/lib/ObservedInboundTrack.d.ts +0 -29
  41. package/lib/ObservedInboundTrack.d.ts.map +0 -1
  42. package/lib/ObservedInboundTrack.js +0 -57
  43. package/lib/ObservedMediaPlayout.d.ts +0 -22
  44. package/lib/ObservedMediaPlayout.d.ts.map +0 -1
  45. package/lib/ObservedMediaPlayout.js +0 -42
  46. package/lib/ObservedMediaSource.d.ts +0 -28
  47. package/lib/ObservedMediaSource.d.ts.map +0 -1
  48. package/lib/ObservedMediaSource.js +0 -55
  49. package/lib/ObservedOutboundRtp.d.ts +0 -62
  50. package/lib/ObservedOutboundRtp.d.ts.map +0 -1
  51. package/lib/ObservedOutboundRtp.js +0 -144
  52. package/lib/ObservedOutboundTrack.d.ts +0 -29
  53. package/lib/ObservedOutboundTrack.d.ts.map +0 -1
  54. package/lib/ObservedOutboundTrack.js +0 -57
  55. package/lib/ObservedPeerConnection.d.ts +0 -183
  56. package/lib/ObservedPeerConnection.d.ts.map +0 -1
  57. package/lib/ObservedPeerConnection.js +0 -688
  58. package/lib/ObservedPeerConnectionTransport.d.ts +0 -17
  59. package/lib/ObservedPeerConnectionTransport.d.ts.map +0 -1
  60. package/lib/ObservedPeerConnectionTransport.js +0 -34
  61. package/lib/ObservedRemoteInboundRtp.d.ts +0 -30
  62. package/lib/ObservedRemoteInboundRtp.d.ts.map +0 -1
  63. package/lib/ObservedRemoteInboundRtp.js +0 -60
  64. package/lib/ObservedRemoteOutboundRtp.d.ts +0 -30
  65. package/lib/ObservedRemoteOutboundRtp.d.ts.map +0 -1
  66. package/lib/ObservedRemoteOutboundRtp.js +0 -60
  67. package/lib/ObservedTURN.d.ts +0 -30
  68. package/lib/ObservedTURN.d.ts.map +0 -1
  69. package/lib/ObservedTURN.js +0 -54
  70. package/lib/ObservedTurnServer.d.ts +0 -25
  71. package/lib/ObservedTurnServer.d.ts.map +0 -1
  72. package/lib/ObservedTurnServer.js +0 -59
  73. package/lib/Observer.d.ts +0 -50
  74. package/lib/Observer.d.ts.map +0 -1
  75. package/lib/Observer.js +0 -101
  76. package/lib/common/Middleware.d.ts +0 -17
  77. package/lib/common/Middleware.d.ts.map +0 -1
  78. package/lib/common/Middleware.js +0 -60
  79. package/lib/common/SingleExecutor.d.ts +0 -3
  80. package/lib/common/SingleExecutor.d.ts.map +0 -1
  81. package/lib/common/SingleExecutor.js +0 -31
  82. package/lib/common/logger.d.ts +0 -17
  83. package/lib/common/logger.d.ts.map +0 -1
  84. package/lib/common/logger.js +0 -50
  85. package/lib/common/types.d.ts +0 -3
  86. package/lib/common/types.d.ts.map +0 -1
  87. package/lib/common/types.js +0 -3
  88. package/lib/common/utils.d.ts +0 -10
  89. package/lib/common/utils.d.ts.map +0 -1
  90. package/lib/common/utils.js +0 -55
  91. package/lib/detectors/Detector.d.ts +0 -5
  92. package/lib/detectors/Detector.d.ts.map +0 -1
  93. package/lib/detectors/Detector.js +0 -3
  94. package/lib/detectors/Detectors.d.ts +0 -11
  95. package/lib/detectors/Detectors.d.ts.map +0 -1
  96. package/lib/detectors/Detectors.js +0 -34
  97. package/lib/index.d.ts +0 -26
  98. package/lib/index.d.ts.map +0 -1
  99. package/lib/index.js +0 -41
  100. package/lib/monitors/TurnUsageMonitor.d.ts +0 -1
  101. package/lib/monitors/TurnUsageMonitor.d.ts.map +0 -1
  102. package/lib/monitors/TurnUsageMonitor.js +0 -146
  103. package/lib/schema/ClientEventTypes.d.ts +0 -33
  104. package/lib/schema/ClientEventTypes.d.ts.map +0 -1
  105. package/lib/schema/ClientEventTypes.js +0 -38
  106. package/lib/schema/ClientMetaTypes.d.ts +0 -34
  107. package/lib/schema/ClientMetaTypes.d.ts.map +0 -1
  108. package/lib/schema/ClientMetaTypes.js +0 -16
  109. package/lib/schema/ClientSample.d.ts +0 -1333
  110. package/lib/schema/ClientSample.d.ts.map +0 -1
  111. package/lib/schema/ClientSample.js +0 -4
  112. package/lib/scores/CalculatedScore.d.ts +0 -6
  113. package/lib/scores/CalculatedScore.d.ts.map +0 -1
  114. package/lib/scores/CalculatedScore.js +0 -2
  115. package/lib/scores/DefaultCallScoreCalculator.d.ts +0 -7
  116. package/lib/scores/DefaultCallScoreCalculator.d.ts.map +0 -1
  117. package/lib/scores/DefaultCallScoreCalculator.js +0 -21
  118. package/lib/scores/ScoreCalculator.d.ts +0 -4
  119. package/lib/scores/ScoreCalculator.d.ts.map +0 -1
  120. package/lib/scores/ScoreCalculator.js +0 -2
  121. package/lib/utils/CallUpdater.d.ts +0 -5
  122. package/lib/utils/CallUpdater.d.ts.map +0 -1
  123. package/lib/utils/CallUpdater.js +0 -2
  124. package/lib/utils/OnAllClientCallUpdater.d.ts +0 -16
  125. package/lib/utils/OnAllClientCallUpdater.d.ts.map +0 -1
  126. package/lib/utils/OnAllClientCallUpdater.js +0 -58
  127. package/lib/utils/RemoteTrackResolver.d.ts +0 -7
  128. package/lib/utils/RemoteTrackResolver.d.ts.map +0 -1
  129. package/lib/utils/RemoteTrackResolver.js +0 -2
  130. package/lib/utils/onAnyClientCallUpdater.d.ts +0 -14
  131. package/lib/utils/onAnyClientCallUpdater.d.ts.map +0 -1
  132. package/lib/utils/onAnyClientCallUpdater.js +0 -51
  133. package/src/ObservedCall.ts +0 -176
  134. package/src/ObservedCertificate.ts +0 -43
  135. package/src/ObservedClient.ts +0 -324
  136. package/src/ObservedCodec.ts +0 -49
  137. package/src/ObservedDataChannel.ts +0 -82
  138. package/src/ObservedIceCandidate.ts +0 -64
  139. package/src/ObservedIceCandidatePair.ts +0 -118
  140. package/src/ObservedIceTransport.ts +0 -70
  141. package/src/ObservedInboundRtp.ts +0 -205
  142. package/src/ObservedInboundTrack.ts +0 -70
  143. package/src/ObservedMediaPlayout.ts +0 -49
  144. package/src/ObservedMediaSource.ts +0 -60
  145. package/src/ObservedOutboundRtp.ts +0 -156
  146. package/src/ObservedOutboundTrack.ts +0 -69
  147. package/src/ObservedPeerConnection.ts +0 -995
  148. package/src/ObservedPeerConnectionTransport.ts +0 -38
  149. package/src/ObservedRemoteInboundRtp.ts +0 -64
  150. package/src/ObservedRemoteOutboundRtp.ts +0 -65
  151. package/src/ObservedTURN.ts +0 -80
  152. package/src/ObservedTurnServer.ts +0 -72
  153. package/src/Observer.ts +0 -152
  154. package/src/common/Middleware.ts +0 -84
  155. package/src/common/SingleExecutor.ts +0 -36
  156. package/src/common/logger.ts +0 -82
  157. package/src/common/types.ts +0 -4
  158. package/src/common/utils.ts +0 -59
  159. package/src/detectors/Detector.ts +0 -6
  160. package/src/detectors/Detectors.ts +0 -38
  161. package/src/index.ts +0 -27
  162. package/src/monitors/TurnUsageMonitor.ts +0 -187
  163. package/src/schema/ClientEventTypes.ts +0 -36
  164. package/src/schema/ClientMetaTypes.ts +0 -41
  165. package/src/schema/ClientSample.ts +0 -1682
  166. package/src/scores/CalculatedScore.ts +0 -6
  167. package/src/scores/DefaultCallScoreCalculator.ts +0 -23
  168. package/src/scores/ScoreCalculator.ts +0 -3
  169. package/src/utils/CallUpdater.ts +0 -5
  170. package/src/utils/OnAllClientCallUpdater.ts +0 -68
  171. package/src/utils/RemoteTrackResolver.ts +0 -12
  172. package/src/utils/onAnyClientCallUpdater.ts +0 -59
  173. package/tsconfig.json +0 -19
  174. package/tslint.json +0 -6
@@ -1,250 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObservedClient = void 0;
4
- const events_1 = require("events");
5
- const ObservedPeerConnection_1 = require("./ObservedPeerConnection");
6
- const logger_1 = require("./common/logger");
7
- const ClientEventTypes_1 = require("./schema/ClientEventTypes");
8
- const ClientMetaTypes_1 = require("./schema/ClientMetaTypes");
9
- const utils_1 = require("./common/utils");
10
- const Detectors_1 = require("./detectors/Detectors");
11
- const logger = (0, logger_1.createLogger)('ObservedClient');
12
- class ObservedClient extends events_1.EventEmitter {
13
- call;
14
- detectors;
15
- clientId;
16
- observedPeerConnections = new Map();
17
- calculatedScore = {
18
- weight: 1,
19
- value: undefined,
20
- };
21
- appData;
22
- attachments;
23
- updated = Date.now();
24
- acceptedSamples = 0;
25
- closed = false;
26
- joinedAt;
27
- leftAt;
28
- // the timestamp of the CLIENT_JOINED event
29
- operationSystem;
30
- engine;
31
- platform;
32
- browser;
33
- mediaConstraints = [];
34
- usingTURN = false;
35
- availableOutgoingBitrate = 0;
36
- availableIncomingBitrate = 0;
37
- totalInboundPacketsLost = 0;
38
- totalInboundPacketsReceived = 0;
39
- totalOutboundPacketsSent = 0;
40
- totalDataChannelBytesSent = 0;
41
- totalDataChannelBytesReceived = 0;
42
- totalDataChannelMessagesSent = 0;
43
- totalDataChannelMessagesReceived = 0;
44
- totalSentBytes = 0;
45
- totalReceivedBytes = 0;
46
- totalReceivedAudioBytes = 0;
47
- totalReceivedVideoBytes = 0;
48
- totalSentAudioBytes = 0;
49
- totalSentVideoBytes = 0;
50
- deltaReceivedAudioBytes = 0;
51
- deltaReceivedVideoBytes = 0;
52
- deltaSentAudioBytes = 0;
53
- deltaSentVideoBytes = 0;
54
- deltaDataChannelBytesSent = 0;
55
- deltaDataChannelBytesReceived = 0;
56
- deltaDataChannelMessagesSent = 0;
57
- deltaDataChannelMessagesReceived = 0;
58
- deltaInboundPacketsLost = 0;
59
- deltaInboundPacketsReceived = 0;
60
- deltaOutboundPacketsSent = 0;
61
- avgRttInMs;
62
- sendingAudioBitrate = 0;
63
- sendingVideoBitrate = 0;
64
- receivingAudioBitrate = 0;
65
- receivingVideoBitrate = 0;
66
- numberOfInboundRtpStreams = 0;
67
- numberOfInbundTracks = 0;
68
- numberOfOutboundRtpStreams = 0;
69
- numberOfOutboundTracks = 0;
70
- numberOfDataChannels = 0;
71
- mediaDevices = [];
72
- issues = [];
73
- constructor(settings, call) {
74
- super();
75
- this.call = call;
76
- this.setMaxListeners(Infinity);
77
- this.clientId = settings.clientId;
78
- this.appData = settings.appData;
79
- this.detectors = new Detectors_1.Detectors();
80
- }
81
- get numberOfPeerConnections() {
82
- return this.observedPeerConnections.size;
83
- }
84
- get score() {
85
- return this.calculatedScore.value;
86
- }
87
- close() {
88
- if (this.closed)
89
- return;
90
- this.closed = true;
91
- Array.from(this.observedPeerConnections.values()).forEach((peerConnection) => peerConnection.close());
92
- this.emit('close');
93
- }
94
- accept(sample) {
95
- if (this.closed)
96
- throw new Error(`Client ${this.clientId} is closed`);
97
- const now = Date.now();
98
- const elapsedInMs = now - this.updated;
99
- const elapsedInSeconds = elapsedInMs / 1000;
100
- ++this.acceptedSamples;
101
- this.availableIncomingBitrate = 0;
102
- this.availableOutgoingBitrate = 0;
103
- this.deltaDataChannelBytesReceived = 0;
104
- this.deltaDataChannelBytesSent = 0;
105
- this.deltaDataChannelMessagesReceived = 0;
106
- this.deltaDataChannelMessagesSent = 0;
107
- this.deltaInboundPacketsLost = 0;
108
- this.deltaInboundPacketsReceived = 0;
109
- this.deltaOutboundPacketsSent = 0;
110
- this.deltaReceivedAudioBytes = 0;
111
- this.deltaReceivedVideoBytes = 0;
112
- this.deltaSentAudioBytes = 0;
113
- this.deltaSentVideoBytes = 0;
114
- this.numberOfDataChannels = 0;
115
- this.numberOfInboundRtpStreams = 0;
116
- this.numberOfInbundTracks = 0;
117
- this.numberOfOutboundRtpStreams = 0;
118
- this.numberOfOutboundTracks = 0;
119
- sample.clientEvents?.forEach(this._processClientEvent.bind(this));
120
- sample.clientMetaItems?.forEach(this.processMetadata.bind(this));
121
- sample.clientIssues?.forEach(this.addIssue.bind(this));
122
- sample.peerConnections?.forEach(this._updatePeerConnection.bind(this));
123
- sample.extensionStats?.forEach(this.addExtensionStats.bind(this));
124
- // emit new attachments?
125
- this.attachments = sample.attachments;
126
- this.totalDataChannelBytesReceived += this.deltaDataChannelBytesReceived;
127
- this.totalDataChannelBytesSent += this.deltaDataChannelBytesSent;
128
- this.totalDataChannelMessagesReceived += this.deltaDataChannelMessagesReceived;
129
- this.totalDataChannelMessagesSent += this.deltaDataChannelMessagesSent;
130
- this.totalInboundPacketsLost += this.deltaInboundPacketsLost;
131
- this.totalInboundPacketsReceived += this.deltaInboundPacketsReceived;
132
- this.totalOutboundPacketsSent += this.deltaOutboundPacketsSent;
133
- this.totalReceivedAudioBytes += this.deltaReceivedAudioBytes;
134
- this.totalReceivedVideoBytes += this.deltaReceivedVideoBytes;
135
- this.totalSentAudioBytes += this.deltaSentAudioBytes;
136
- this.totalSentVideoBytes += this.deltaSentVideoBytes;
137
- this.receivingAudioBitrate = (this.deltaReceivedAudioBytes * 8) / (elapsedInSeconds);
138
- this.receivingVideoBitrate = (this.totalReceivedVideoBytes * 8) / (elapsedInSeconds);
139
- this.sendingAudioBitrate = (this.deltaSentAudioBytes * 8) / (elapsedInSeconds);
140
- this.sendingVideoBitrate = (this.deltaSentVideoBytes * 8) / (elapsedInSeconds);
141
- this.calculatedScore.value = sample.score;
142
- this.detectors.update();
143
- // emit update
144
- this.emit('update', {
145
- sample,
146
- elapsedTimeInMs: now - this.updated,
147
- });
148
- this.updated = now;
149
- }
150
- _processClientEvent(event) {
151
- switch (event.type) {
152
- case ClientEventTypes_1.ClientEventTypes.CALL_STARTED: {
153
- // update call timestamp if it's the first time
154
- break;
155
- }
156
- case ClientEventTypes_1.ClientEventTypes.CALL_ENDED: {
157
- // update call timestamp if it's the first time
158
- break;
159
- }
160
- case ClientEventTypes_1.ClientEventTypes.CLIENT_JOINED: {
161
- if (event.timestamp) {
162
- if (!this.joinedAt) {
163
- this.joinedAt = event.timestamp;
164
- this.emit('joined');
165
- }
166
- else if (this.joinedAt < event.timestamp) {
167
- this.emit('rejoined', event.timestamp);
168
- }
169
- else {
170
- this.joinedAt = event.timestamp;
171
- logger.warn(`Client ${this.clientId} joinedAt timestamp was updated to ${event.timestamp}. the joined event will not be emitted.`);
172
- }
173
- }
174
- break;
175
- }
176
- case ClientEventTypes_1.ClientEventTypes.CLIENT_LEFT: {
177
- if (event.timestamp) {
178
- if (!this.leftAt) {
179
- this.leftAt = event.timestamp;
180
- this.emit('left');
181
- }
182
- }
183
- break;
184
- }
185
- }
186
- this.call.observer.emit('client-event', this, event);
187
- }
188
- processMetadata(metadata) {
189
- switch (metadata.type) {
190
- case ClientMetaTypes_1.ClientMetaTypes.BROWSER: {
191
- this.browser = (0, utils_1.parseJsonAs)(metadata.payload);
192
- break;
193
- }
194
- case ClientMetaTypes_1.ClientMetaTypes.ENGINE: {
195
- this.engine = (0, utils_1.parseJsonAs)(metadata.payload);
196
- break;
197
- }
198
- case ClientMetaTypes_1.ClientMetaTypes.PLATFORM: {
199
- this.platform = (0, utils_1.parseJsonAs)(metadata.payload);
200
- break;
201
- }
202
- case ClientMetaTypes_1.ClientMetaTypes.OPERATION_SYSTEM: {
203
- this.operationSystem = (0, utils_1.parseJsonAs)(metadata.payload);
204
- break;
205
- }
206
- }
207
- this.call.observer.emit('client-metadata', this, metadata);
208
- }
209
- addIssue(issue) {
210
- this.emit('issue', issue);
211
- this.call.observer.emit('client-issue', this, issue);
212
- }
213
- addExtensionStats(stats) {
214
- this.call.observer.emit('client-extension-stats', this, stats);
215
- }
216
- _updatePeerConnection(sample) {
217
- let observedPeerConnection = this.observedPeerConnections.get(sample.peerConnectionId);
218
- if (!observedPeerConnection) {
219
- if (!sample.peerConnectionId) {
220
- return logger.warn(`ObservedClient received an invalid PeerConnectionSample (missing peerConnectionId field). ClientId: ${this.clientId}, CallId: ${this.call.callId}`, sample);
221
- }
222
- observedPeerConnection = new ObservedPeerConnection_1.ObservedPeerConnection(sample.peerConnectionId, this);
223
- observedPeerConnection.once('close', () => {
224
- this.observedPeerConnections.delete(sample.peerConnectionId);
225
- });
226
- this.observedPeerConnections.set(sample.peerConnectionId, observedPeerConnection);
227
- this.emit('newpeerconnection', observedPeerConnection);
228
- }
229
- observedPeerConnection.accept(sample);
230
- this.deltaDataChannelBytesReceived += observedPeerConnection.deltaDataChannelBytesReceived;
231
- this.deltaDataChannelBytesSent += observedPeerConnection.deltaDataChannelBytesSent;
232
- this.deltaDataChannelMessagesReceived += observedPeerConnection.deltaDataChannelMessagesReceived;
233
- this.deltaDataChannelMessagesSent += observedPeerConnection.deltaDataChannelMessagesSent;
234
- this.deltaInboundPacketsLost += observedPeerConnection.deltaInboundPacketsLost;
235
- this.deltaInboundPacketsReceived += observedPeerConnection.deltaInboundPacketsReceived;
236
- this.deltaOutboundPacketsSent += observedPeerConnection.deltaOutboundPacketsSent;
237
- this.deltaReceivedAudioBytes += observedPeerConnection.deltaReceivedAudioBytes;
238
- this.deltaReceivedVideoBytes += observedPeerConnection.deltaReceivedVideoBytes;
239
- this.deltaSentAudioBytes += observedPeerConnection.deltaSentAudioBytes;
240
- this.deltaSentVideoBytes += observedPeerConnection.deltaSentVideoBytes;
241
- this.availableIncomingBitrate += observedPeerConnection.availableIncomingBitrate;
242
- this.availableOutgoingBitrate += observedPeerConnection.availableOutgoingBitrate;
243
- this.numberOfDataChannels += observedPeerConnection.observedDataChannels.size;
244
- this.numberOfInbundTracks += observedPeerConnection.observedInboundTracks.size;
245
- this.numberOfOutboundRtpStreams += observedPeerConnection.observedOutboundRtps.size;
246
- this.numberOfOutboundTracks += observedPeerConnection.observedOutboundTracks.size;
247
- this.numberOfInboundRtpStreams += observedPeerConnection.observedInboundRtps.size;
248
- }
249
- }
250
- exports.ObservedClient = ObservedClient;
@@ -1,22 +0,0 @@
1
- import { ObservedPeerConnection } from './ObservedPeerConnection';
2
- import { CodecStats } from './schema/ClientSample';
3
- export declare class ObservedCodec implements CodecStats {
4
- timestamp: number;
5
- id: string;
6
- mimeType: string;
7
- private readonly _peerConnection;
8
- private _visited;
9
- appData?: Record<string, unknown>;
10
- payloadType?: number | undefined;
11
- transportId?: string | undefined;
12
- clockRate?: number | undefined;
13
- channels?: number | undefined;
14
- sdpFmtpLine?: string | undefined;
15
- attachments?: Record<string, unknown> | undefined;
16
- constructor(timestamp: number, id: string, mimeType: string, _peerConnection: ObservedPeerConnection);
17
- get visited(): boolean;
18
- getPeerConnection(): ObservedPeerConnection;
19
- getIceTransport(): import("./ObservedIceTransport").ObservedIceTransport | undefined;
20
- update(stats: CodecStats): void;
21
- }
22
- //# sourceMappingURL=ObservedCodec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObservedCodec.d.ts","sourceRoot":"","sources":["../src/ObservedCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,qBAAa,aAAc,YAAW,UAAU;IAYvC,SAAS,EAAE,MAAM;IACjB,EAAE,EAAE,MAAM;IACV,QAAQ,EAAE,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAdjC,OAAO,CAAC,QAAQ,CAAS;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;gBAG1C,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EACN,eAAe,EAAE,sBAAsB;IAGzD,IAAW,OAAO,YAMjB;IAEM,iBAAiB;IAIjB,eAAe;IAIf,MAAM,CAAC,KAAK,EAAE,UAAU;CAW/B"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObservedCodec = void 0;
4
- class ObservedCodec {
5
- timestamp;
6
- id;
7
- mimeType;
8
- _peerConnection;
9
- _visited = false;
10
- appData;
11
- payloadType;
12
- transportId;
13
- clockRate;
14
- channels;
15
- sdpFmtpLine;
16
- attachments;
17
- constructor(timestamp, id, mimeType, _peerConnection) {
18
- this.timestamp = timestamp;
19
- this.id = id;
20
- this.mimeType = mimeType;
21
- this._peerConnection = _peerConnection;
22
- }
23
- get visited() {
24
- const visited = this._visited;
25
- this._visited = false;
26
- return visited;
27
- }
28
- getPeerConnection() {
29
- return this._peerConnection;
30
- }
31
- getIceTransport() {
32
- return this._peerConnection.observedIceTransports.get(this.transportId ?? '');
33
- }
34
- update(stats) {
35
- this._visited = true;
36
- this.timestamp = stats.timestamp;
37
- this.payloadType = stats.payloadType;
38
- this.transportId = stats.transportId;
39
- this.clockRate = stats.clockRate;
40
- this.channels = stats.channels;
41
- this.sdpFmtpLine = stats.sdpFmtpLine;
42
- this.attachments = stats.attachments;
43
- }
44
- }
45
- exports.ObservedCodec = ObservedCodec;
@@ -1,28 +0,0 @@
1
- import { ObservedPeerConnection } from './ObservedPeerConnection';
2
- import { DataChannelStats } from './schema/ClientSample';
3
- export type ObservedDataChannelState = 'connecting' | 'open' | 'closing' | 'closed';
4
- export declare class ObservedDataChannel implements DataChannelStats {
5
- timestamp: number;
6
- id: string;
7
- private readonly _peerConnection;
8
- private _visited;
9
- label?: string | undefined;
10
- protocol?: string | undefined;
11
- dataChannelIdentifier?: number | undefined;
12
- state?: string | undefined;
13
- messagesSent?: number | undefined;
14
- bytesSent?: number | undefined;
15
- messagesReceived?: number | undefined;
16
- bytesReceived?: number | undefined;
17
- attachments?: Record<string, unknown> | undefined;
18
- deltaBytesSent: number;
19
- deltaBytesReceived: number;
20
- deltaMessagesSent: number;
21
- deltaMessagesReceived: number;
22
- appData?: Record<string, unknown>;
23
- constructor(timestamp: number, id: string, _peerConnection: ObservedPeerConnection);
24
- get visited(): boolean;
25
- getPeerConnection(): ObservedPeerConnection;
26
- update(stats: DataChannelStats): void;
27
- }
28
- //# sourceMappingURL=ObservedDataChannel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObservedDataChannel.d.ts","sourceRoot":"","sources":["../src/ObservedDataChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEpF,qBAAa,mBAAoB,YAAW,gBAAgB;IAqBnD,SAAS,EAAE,MAAM;IACjB,EAAE,EAAE,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAtBjC,OAAO,CAAC,QAAQ,CAAS;IAEzB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAE3C,cAAc,SAAK;IACnB,kBAAkB,SAAK;IACvB,iBAAiB,SAAK;IACtB,qBAAqB,SAAK;IAE1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGjC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACA,eAAe,EAAE,sBAAsB;IAIzD,IAAW,OAAO,YAMjB;IAEM,iBAAiB;IAIjB,MAAM,CAAC,KAAK,EAAE,gBAAgB;CAqCrC"}
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObservedDataChannel = void 0;
4
- class ObservedDataChannel {
5
- timestamp;
6
- id;
7
- _peerConnection;
8
- _visited = false;
9
- label;
10
- protocol;
11
- dataChannelIdentifier;
12
- state;
13
- messagesSent;
14
- bytesSent;
15
- messagesReceived;
16
- bytesReceived;
17
- attachments;
18
- deltaBytesSent = 0;
19
- deltaBytesReceived = 0;
20
- deltaMessagesSent = 0;
21
- deltaMessagesReceived = 0;
22
- appData;
23
- constructor(timestamp, id, _peerConnection) {
24
- this.timestamp = timestamp;
25
- this.id = id;
26
- this._peerConnection = _peerConnection;
27
- }
28
- get visited() {
29
- const visited = this._visited;
30
- this._visited = false;
31
- return visited;
32
- }
33
- getPeerConnection() {
34
- return this._peerConnection;
35
- }
36
- update(stats) {
37
- this._visited = true;
38
- if (this.messagesSent && stats.messagesSent && stats.messagesSent >= this.messagesSent) {
39
- this.deltaMessagesSent = stats.messagesSent - this.messagesSent;
40
- }
41
- else {
42
- this.deltaMessagesSent = 0;
43
- }
44
- if (this.messagesReceived && stats.messagesReceived && stats.messagesReceived >= this.messagesReceived) {
45
- this.deltaMessagesReceived = stats.messagesReceived - this.messagesReceived;
46
- }
47
- else {
48
- this.deltaMessagesReceived = 0;
49
- }
50
- if (this.bytesSent && stats.bytesSent && stats.bytesSent >= this.bytesSent) {
51
- this.deltaBytesSent = stats.bytesSent - this.bytesSent;
52
- }
53
- else {
54
- this.deltaBytesSent = 0;
55
- }
56
- if (this.bytesReceived && stats.bytesReceived && stats.bytesReceived >= this.bytesReceived) {
57
- this.deltaBytesReceived = stats.bytesReceived - this.bytesReceived;
58
- }
59
- else {
60
- this.deltaBytesReceived = 0;
61
- }
62
- this.label = stats.label;
63
- this.protocol = stats.protocol;
64
- this.dataChannelIdentifier = stats.dataChannelIdentifier;
65
- this.state = stats.state;
66
- this.messagesSent = stats.messagesSent;
67
- this.bytesSent = stats.bytesSent;
68
- this.messagesReceived = stats.messagesReceived;
69
- this.bytesReceived = stats.bytesReceived;
70
- this.attachments = stats.attachments;
71
- }
72
- }
73
- exports.ObservedDataChannel = ObservedDataChannel;
@@ -1,29 +0,0 @@
1
- import { ObservedPeerConnection } from './ObservedPeerConnection';
2
- import { IceCandidateStats } from './schema/ClientSample';
3
- export declare class ObservedIceCandidate implements IceCandidateStats {
4
- timestamp: number;
5
- id: string;
6
- private readonly _peerConnection;
7
- private _visited;
8
- appData?: Record<string, unknown>;
9
- transportId?: string | undefined;
10
- address?: string | undefined;
11
- port?: number | undefined;
12
- protocol?: string | undefined;
13
- candidateType?: string | undefined;
14
- priority?: number | undefined;
15
- url?: string | undefined;
16
- relayProtocol?: string | undefined;
17
- foundation?: string | undefined;
18
- relatedAddress?: string | undefined;
19
- relatedPort?: number | undefined;
20
- usernameFragment?: string | undefined;
21
- tcpType?: string | undefined;
22
- attachments?: Record<string, unknown> | undefined;
23
- constructor(timestamp: number, id: string, _peerConnection: ObservedPeerConnection);
24
- get visited(): boolean;
25
- getPeerConnection(): ObservedPeerConnection;
26
- getIceTransport(): import("./ObservedIceTransport").ObservedIceTransport | undefined;
27
- update(stats: IceCandidateStats): void;
28
- }
29
- //# sourceMappingURL=ObservedIceCandidate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObservedIceCandidate.d.ts","sourceRoot":"","sources":["../src/ObservedIceCandidate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,qBAAa,oBAAqB,YAAW,iBAAiB;IAoBrD,SAAS,EAAE,MAAM;IACjB,EAAE,EAAE,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,eAAe;IArBjC,OAAO,CAAC,QAAQ,CAAS;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;gBAG1C,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACA,eAAe,EAAE,sBAAsB;IAGzD,IAAW,OAAO,YAMjB;IAEM,iBAAiB;IAIjB,eAAe;IAIf,MAAM,CAAC,KAAK,EAAE,iBAAiB;CAmBtC"}
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObservedIceCandidate = void 0;
4
- class ObservedIceCandidate {
5
- timestamp;
6
- id;
7
- _peerConnection;
8
- _visited = false;
9
- appData;
10
- transportId;
11
- address;
12
- port;
13
- protocol;
14
- candidateType;
15
- priority;
16
- url;
17
- relayProtocol;
18
- foundation;
19
- relatedAddress;
20
- relatedPort;
21
- usernameFragment;
22
- tcpType;
23
- attachments;
24
- constructor(timestamp, id, _peerConnection) {
25
- this.timestamp = timestamp;
26
- this.id = id;
27
- this._peerConnection = _peerConnection;
28
- }
29
- get visited() {
30
- const visited = this._visited;
31
- this._visited = false;
32
- return visited;
33
- }
34
- getPeerConnection() {
35
- return this._peerConnection;
36
- }
37
- getIceTransport() {
38
- return this._peerConnection.observedIceTransports.get(this.transportId ?? '');
39
- }
40
- update(stats) {
41
- this._visited = true;
42
- this.timestamp = stats.timestamp;
43
- this.transportId = stats.transportId;
44
- this.address = stats.address;
45
- this.port = stats.port;
46
- this.protocol = stats.protocol;
47
- this.candidateType = stats.candidateType;
48
- this.priority = stats.priority;
49
- this.url = stats.url;
50
- this.relayProtocol = stats.relayProtocol;
51
- this.foundation = stats.foundation;
52
- this.relatedAddress = stats.relatedAddress;
53
- this.relatedPort = stats.relatedPort;
54
- this.usernameFragment = stats.usernameFragment;
55
- this.tcpType = stats.tcpType;
56
- this.attachments = stats.attachments;
57
- }
58
- }
59
- exports.ObservedIceCandidate = ObservedIceCandidate;
@@ -1,44 +0,0 @@
1
- import { ObservedPeerConnection } from './ObservedPeerConnection';
2
- import { IceCandidatePairStats } from './schema/ClientSample';
3
- export declare class ObservedIceCandidatePair implements IceCandidatePairStats {
4
- timestamp: number;
5
- id: string;
6
- private readonly _peerConnection;
7
- private _visited;
8
- appData?: Record<string, unknown>;
9
- transportId?: string | undefined;
10
- localCandidateId?: string | undefined;
11
- remoteCandidateId?: string | undefined;
12
- state?: 'new' | 'inProgress' | 'failed' | 'succeeded' | undefined;
13
- nominated?: boolean | undefined;
14
- packetsSent?: number | undefined;
15
- packetsReceived?: number | undefined;
16
- bytesSent?: number | undefined;
17
- bytesReceived?: number | undefined;
18
- lastPacketSentTimestamp?: number | undefined;
19
- lastPacketReceivedTimestamp?: number | undefined;
20
- totalRoundTripTime?: number | undefined;
21
- currentRoundTripTime?: number | undefined;
22
- availableOutgoingBitrate?: number | undefined;
23
- availableIncomingBitrate?: number | undefined;
24
- requestsReceived?: number | undefined;
25
- requestsSent?: number | undefined;
26
- responsesReceived?: number | undefined;
27
- responsesSent?: number | undefined;
28
- consentRequestsSent?: number | undefined;
29
- packetsDiscardedOnSend?: number | undefined;
30
- bytesDiscardedOnSend?: number | undefined;
31
- attachments?: Record<string, unknown> | undefined;
32
- deltaBytesSent: number;
33
- deltaBytesReceived: number;
34
- deltaPacketsSent: number;
35
- deltaPacketsReceived: number;
36
- constructor(timestamp: number, id: string, _peerConnection: ObservedPeerConnection);
37
- get visited(): boolean;
38
- getPeerConnection(): ObservedPeerConnection;
39
- getIceTransport(): import("./ObservedIceTransport").ObservedIceTransport | undefined;
40
- getLocalCandidate(): import("./ObservedIceCandidate").ObservedIceCandidate | undefined;
41
- getRemoteCandidate(): import("./ObservedIceCandidate").ObservedIceCandidate | undefined;
42
- update(stats: IceCandidatePairStats): void;
43
- }
44
- //# sourceMappingURL=ObservedIceCandidatePair.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObservedIceCandidatePair.d.ts","sourceRoot":"","sources":["../src/ObservedIceCandidatePair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,qBAAa,wBAAyB,YAAW,qBAAqB;IAkC7D,SAAS,EAAE,MAAM;IACjB,EAAE,EAAE,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAnCjC,OAAO,CAAC,QAAQ,CAAS;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,KAAK,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;IAClE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAE3C,cAAc,SAAK;IACnB,kBAAkB,SAAK;IACvB,gBAAgB,SAAK;IACrB,oBAAoB,SAAK;gBAGxB,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACA,eAAe,EAAE,sBAAsB;IAIzD,IAAW,OAAO,YAMjB;IAEM,iBAAiB;IAIjB,eAAe;IAIf,iBAAiB;IAIjB,kBAAkB;IAIlB,MAAM,CAAC,KAAK,EAAE,qBAAqB;CAkD1C"}