@observertc/observer-js 0.42.9 → 1.0.1-28c6425.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 (279) hide show
  1. package/.prettierrc +6 -6
  2. package/README.md +0 -104
  3. package/lib/ObservedCall.d.ts +66 -42
  4. package/lib/ObservedCall.d.ts.map +1 -1
  5. package/lib/ObservedCall.js +232 -108
  6. package/lib/ObservedCallSummary.d.ts +18 -0
  7. package/lib/ObservedCallSummary.d.ts.map +1 -0
  8. package/lib/ObservedCertificate.d.ts +19 -0
  9. package/lib/ObservedCertificate.d.ts.map +1 -0
  10. package/lib/ObservedCertificate.js +38 -0
  11. package/lib/ObservedClient.d.ts +71 -130
  12. package/lib/ObservedClient.d.ts.map +1 -1
  13. package/lib/ObservedClient.js +311 -750
  14. package/lib/ObservedClientSummary.d.ts +23 -0
  15. package/lib/ObservedClientSummary.d.ts.map +1 -0
  16. package/lib/ObservedClientSummary.js +2 -0
  17. package/lib/ObservedCodec.d.ts +22 -0
  18. package/lib/ObservedCodec.d.ts.map +1 -0
  19. package/lib/ObservedCodec.js +45 -0
  20. package/lib/ObservedDataChannel.d.ts +23 -69
  21. package/lib/ObservedDataChannel.d.ts.map +1 -1
  22. package/lib/ObservedDataChannel.js +67 -109
  23. package/lib/ObservedIceCandidate.d.ts +29 -0
  24. package/lib/ObservedIceCandidate.d.ts.map +1 -0
  25. package/lib/ObservedIceCandidate.js +59 -0
  26. package/lib/ObservedIceCandidatePair.d.ts +44 -0
  27. package/lib/ObservedIceCandidatePair.d.ts.map +1 -0
  28. package/lib/ObservedIceCandidatePair.js +111 -0
  29. package/lib/ObservedIceTransport.d.ts +36 -0
  30. package/lib/ObservedIceTransport.d.ts.map +1 -0
  31. package/lib/ObservedIceTransport.js +93 -0
  32. package/lib/ObservedInboundRtp.d.ts +92 -0
  33. package/lib/ObservedInboundRtp.d.ts.map +1 -0
  34. package/lib/ObservedInboundRtp.js +193 -0
  35. package/lib/ObservedInboundTrack.d.ts +29 -0
  36. package/lib/ObservedInboundTrack.d.ts.map +1 -0
  37. package/lib/ObservedInboundTrack.js +57 -0
  38. package/lib/ObservedMediaPlayout.d.ts +22 -0
  39. package/lib/ObservedMediaPlayout.d.ts.map +1 -0
  40. package/lib/ObservedMediaPlayout.js +42 -0
  41. package/lib/ObservedMediaSource.d.ts +28 -0
  42. package/lib/ObservedMediaSource.d.ts.map +1 -0
  43. package/lib/ObservedMediaSource.js +55 -0
  44. package/lib/ObservedOutboundRtp.d.ts +62 -0
  45. package/lib/ObservedOutboundRtp.d.ts.map +1 -0
  46. package/lib/ObservedOutboundRtp.js +144 -0
  47. package/lib/ObservedOutboundTrack.d.ts +29 -0
  48. package/lib/ObservedOutboundTrack.d.ts.map +1 -0
  49. package/lib/ObservedOutboundTrack.js +57 -0
  50. package/lib/ObservedPeerConnection.d.ts +132 -80
  51. package/lib/ObservedPeerConnection.d.ts.map +1 -1
  52. package/lib/ObservedPeerConnection.js +630 -357
  53. package/lib/ObservedPeerConnectionTransport.d.ts +17 -0
  54. package/lib/ObservedPeerConnectionTransport.d.ts.map +1 -0
  55. package/lib/ObservedPeerConnectionTransport.js +34 -0
  56. package/lib/ObservedRemoteInboundRtp.d.ts +30 -0
  57. package/lib/ObservedRemoteInboundRtp.d.ts.map +1 -0
  58. package/lib/ObservedRemoteInboundRtp.js +60 -0
  59. package/lib/ObservedRemoteOutboundRtp.d.ts +30 -0
  60. package/lib/ObservedRemoteOutboundRtp.d.ts.map +1 -0
  61. package/lib/ObservedRemoteOutboundRtp.js +60 -0
  62. package/lib/ObservedTURN.d.ts +31 -0
  63. package/lib/ObservedTURN.d.ts.map +1 -0
  64. package/lib/ObservedTURN.js +58 -0
  65. package/lib/ObservedTurnServer.d.ts +25 -0
  66. package/lib/ObservedTurnServer.d.ts.map +1 -0
  67. package/lib/ObservedTurnServer.js +59 -0
  68. package/lib/Observer.d.ts +45 -51
  69. package/lib/Observer.d.ts.map +1 -1
  70. package/lib/Observer.js +150 -226
  71. package/lib/ObserverSummary.d.ts +13 -0
  72. package/lib/ObserverSummary.d.ts.map +1 -0
  73. package/lib/ObserverSummary.js +2 -0
  74. package/lib/common/Middleware.d.ts +10 -1
  75. package/lib/common/Middleware.d.ts.map +1 -1
  76. package/lib/common/Middleware.js +55 -36
  77. package/lib/common/logger.d.ts +8 -4
  78. package/lib/common/logger.d.ts.map +1 -1
  79. package/lib/common/logger.js +44 -68
  80. package/lib/common/types.d.ts +0 -21
  81. package/lib/common/types.d.ts.map +1 -1
  82. package/lib/common/types.js +1 -0
  83. package/lib/common/utils.d.ts +2 -1
  84. package/lib/common/utils.d.ts.map +1 -1
  85. package/lib/common/utils.js +17 -3
  86. package/lib/detectors/Detector.d.ts +5 -0
  87. package/lib/detectors/Detector.d.ts.map +1 -0
  88. package/lib/detectors/Detector.js +3 -0
  89. package/lib/detectors/Detectors.d.ts +11 -0
  90. package/lib/detectors/Detectors.d.ts.map +1 -0
  91. package/lib/detectors/Detectors.js +34 -0
  92. package/lib/index.d.ts +24 -25
  93. package/lib/index.d.ts.map +1 -1
  94. package/lib/index.js +41 -41
  95. package/lib/monitors/TurnUsageMonitor.d.ts +0 -52
  96. package/lib/monitors/TurnUsageMonitor.d.ts.map +1 -1
  97. package/lib/monitors/TurnUsageMonitor.js +145 -120
  98. package/lib/schema/ClientEventTypes.d.ts +100 -0
  99. package/lib/schema/ClientEventTypes.d.ts.map +1 -0
  100. package/lib/schema/ClientEventTypes.js +38 -0
  101. package/lib/schema/ClientMetaTypes.d.ts +34 -0
  102. package/lib/schema/ClientMetaTypes.d.ts.map +1 -0
  103. package/lib/schema/ClientMetaTypes.js +16 -0
  104. package/lib/schema/ClientSample.d.ts +1333 -0
  105. package/lib/schema/ClientSample.d.ts.map +1 -0
  106. package/lib/schema/ClientSample.js +4 -0
  107. package/lib/scores/CalculatedScore.d.ts +6 -0
  108. package/lib/scores/CalculatedScore.d.ts.map +1 -0
  109. package/lib/scores/CalculatedScore.js +2 -0
  110. package/lib/scores/DefaultCallScoreCalculator.d.ts +7 -0
  111. package/lib/scores/DefaultCallScoreCalculator.d.ts.map +1 -0
  112. package/lib/scores/DefaultCallScoreCalculator.js +21 -0
  113. package/lib/scores/ScoreCalculator.d.ts +4 -0
  114. package/lib/scores/ScoreCalculator.d.ts.map +1 -0
  115. package/lib/scores/ScoreCalculator.js +2 -0
  116. package/lib/updaters/CallUpdater.d.ts +5 -0
  117. package/lib/updaters/CallUpdater.d.ts.map +1 -0
  118. package/lib/updaters/CallUpdater.js +2 -0
  119. package/lib/updaters/ObserverUpdater.d.ts +5 -0
  120. package/lib/updaters/ObserverUpdater.d.ts.map +1 -0
  121. package/lib/updaters/ObserverUpdater.js +2 -0
  122. package/lib/updaters/OnAllCallObserverUpdater_.d.ts +13 -0
  123. package/lib/updaters/OnAllCallObserverUpdater_.d.ts.map +1 -0
  124. package/lib/updaters/OnAllCallObserverUpdater_.js +38 -0
  125. package/lib/updaters/OnAllClientCallUpdater.d.ts +13 -0
  126. package/lib/updaters/OnAllClientCallUpdater.d.ts.map +1 -0
  127. package/lib/updaters/OnAllClientCallUpdater.js +37 -0
  128. package/lib/updaters/OnAnyCallObserverUpdater_.d.ts +11 -0
  129. package/lib/updaters/OnAnyCallObserverUpdater_.d.ts.map +1 -0
  130. package/lib/updaters/OnAnyCallObserverUpdater_.js +27 -0
  131. package/lib/updaters/OnAnyClientCallUpdater.d.ts +11 -0
  132. package/lib/updaters/OnAnyClientCallUpdater.d.ts.map +1 -0
  133. package/lib/updaters/OnAnyClientCallUpdater.js +27 -0
  134. package/lib/updaters/OnIntervalUpdater.d.ts +10 -0
  135. package/lib/updaters/OnIntervalUpdater.d.ts.map +1 -0
  136. package/lib/updaters/OnIntervalUpdater.js +17 -0
  137. package/lib/updaters/Updater.d.ts +6 -0
  138. package/lib/updaters/Updater.d.ts.map +1 -0
  139. package/lib/updaters/Updater.js +2 -0
  140. package/lib/utils/RemoteTrackResolver.d.ts +7 -0
  141. package/lib/utils/RemoteTrackResolver.d.ts.map +1 -0
  142. package/lib/utils/RemoteTrackResolver.js +2 -0
  143. package/package.json +4 -4
  144. package/src/ObservedCall.ts +291 -164
  145. package/src/ObservedCallSummary.ts +22 -0
  146. package/src/ObservedCertificate.ts +43 -0
  147. package/src/ObservedClient.ts +342 -1064
  148. package/src/ObservedClientSummary.ts +24 -0
  149. package/src/ObservedCodec.ts +49 -0
  150. package/src/ObservedDataChannel.ts +68 -181
  151. package/src/ObservedIceCandidate.ts +64 -0
  152. package/src/ObservedIceCandidatePair.ts +118 -0
  153. package/src/ObservedIceTransport.ts +99 -0
  154. package/src/ObservedInboundRtp.ts +205 -0
  155. package/src/ObservedInboundTrack.ts +70 -0
  156. package/src/ObservedMediaPlayout.ts +49 -0
  157. package/src/ObservedMediaSource.ts +60 -0
  158. package/src/ObservedOutboundRtp.ts +156 -0
  159. package/src/ObservedOutboundTrack.ts +69 -0
  160. package/src/ObservedPeerConnection.ts +839 -408
  161. package/src/ObservedPeerConnectionTransport.ts +38 -0
  162. package/src/ObservedRemoteInboundRtp.ts +64 -0
  163. package/src/ObservedRemoteOutboundRtp.ts +65 -0
  164. package/src/ObservedTURN.ts +86 -0
  165. package/src/ObservedTurnServer.ts +72 -0
  166. package/src/Observer.ts +171 -294
  167. package/src/ObserverSummary.ts +15 -0
  168. package/src/common/Middleware.ts +70 -42
  169. package/src/common/logger.ts +60 -69
  170. package/src/common/types.ts +0 -42
  171. package/src/common/utils.ts +18 -2
  172. package/src/detectors/Detector.ts +6 -0
  173. package/src/detectors/Detectors.ts +38 -0
  174. package/src/index.ts +24 -90
  175. package/src/monitors/TurnUsageMonitor.ts +164 -164
  176. package/src/schema/ClientEventTypes.ts +112 -0
  177. package/src/schema/ClientMetaTypes.ts +41 -0
  178. package/src/schema/ClientSample.ts +1682 -0
  179. package/src/scores/CalculatedScore.ts +6 -0
  180. package/src/scores/DefaultCallScoreCalculator.ts +23 -0
  181. package/src/scores/ScoreCalculator.ts +3 -0
  182. package/src/updaters/CallUpdater.ts +5 -0
  183. package/src/updaters/ObserverUpdater.ts +5 -0
  184. package/src/updaters/OnAllCallObserverUpdater_.ts +46 -0
  185. package/src/updaters/OnAllClientCallUpdater.ts +46 -0
  186. package/src/updaters/OnAnyCallObserverUpdater_.ts +32 -0
  187. package/src/updaters/OnAnyClientCallUpdater.ts +32 -0
  188. package/src/updaters/OnIntervalUpdater.ts +19 -0
  189. package/src/updaters/Updater.ts +5 -0
  190. package/src/utils/RemoteTrackResolver.ts +12 -0
  191. package/tsconfig.json +3 -3
  192. package/lib/ObservedICE.d.ts +0 -64
  193. package/lib/ObservedICE.d.ts.map +0 -1
  194. package/lib/ObservedICE.js +0 -141
  195. package/lib/ObservedInboundAudioTrack.d.ts +0 -96
  196. package/lib/ObservedInboundAudioTrack.d.ts.map +0 -1
  197. package/lib/ObservedInboundAudioTrack.js +0 -217
  198. package/lib/ObservedInboundVideoTrack.d.ts +0 -101
  199. package/lib/ObservedInboundVideoTrack.d.ts.map +0 -1
  200. package/lib/ObservedInboundVideoTrack.js +0 -232
  201. package/lib/ObservedOutboundAudioTrack.d.ts +0 -87
  202. package/lib/ObservedOutboundAudioTrack.d.ts.map +0 -1
  203. package/lib/ObservedOutboundAudioTrack.js +0 -186
  204. package/lib/ObservedOutboundVideoTrack.d.ts +0 -91
  205. package/lib/ObservedOutboundVideoTrack.d.ts.map +0 -1
  206. package/lib/ObservedOutboundVideoTrack.js +0 -193
  207. package/lib/ObservedSfu.d.ts +0 -59
  208. package/lib/ObservedSfu.d.ts.map +0 -1
  209. package/lib/ObservedSfu.js +0 -157
  210. package/lib/ObservedSfuInboundRtpPad.d.ts +0 -42
  211. package/lib/ObservedSfuInboundRtpPad.d.ts.map +0 -1
  212. package/lib/ObservedSfuInboundRtpPad.js +0 -71
  213. package/lib/ObservedSfuOutboundRtpPad.d.ts +0 -42
  214. package/lib/ObservedSfuOutboundRtpPad.d.ts.map +0 -1
  215. package/lib/ObservedSfuOutboundRtpPad.js +0 -72
  216. package/lib/ObservedSfuSctpChannel.d.ts +0 -42
  217. package/lib/ObservedSfuSctpChannel.d.ts.map +0 -1
  218. package/lib/ObservedSfuSctpChannel.js +0 -57
  219. package/lib/ObservedSfuTransport.d.ts +0 -58
  220. package/lib/ObservedSfuTransport.d.ts.map +0 -1
  221. package/lib/ObservedSfuTransport.js +0 -120
  222. package/lib/RemoteTrackAssigner.d.ts +0 -14
  223. package/lib/RemoteTrackAssigner.d.ts.map +0 -1
  224. package/lib/RemoteTrackAssigner.js +0 -52
  225. package/lib/ReportsCollector.d.ts +0 -109
  226. package/lib/ReportsCollector.d.ts.map +0 -1
  227. package/lib/ReportsCollector.js +0 -207
  228. package/lib/common/CalculatedScore.d.ts +0 -80
  229. package/lib/common/CalculatedScore.d.ts.map +0 -1
  230. package/lib/common/CalculatedScore.js +0 -162
  231. package/lib/common/CallEventType.d.ts +0 -63
  232. package/lib/common/CallEventType.d.ts.map +0 -1
  233. package/lib/common/CallEventType.js +0 -39
  234. package/lib/common/CallMetaReports.d.ts +0 -42
  235. package/lib/common/CallMetaReports.d.ts.map +0 -1
  236. package/lib/common/CallMetaReports.js +0 -36
  237. package/lib/common/QualityScoreUtils.d.ts +0 -1
  238. package/lib/common/QualityScoreUtils.d.ts.map +0 -1
  239. package/lib/common/QualityScoreUtils.js +0 -1
  240. package/lib/common/TypedEventEmitter.d.ts +0 -22
  241. package/lib/common/TypedEventEmitter.d.ts.map +0 -1
  242. package/lib/common/TypedEventEmitter.js +0 -11
  243. package/lib/common/callEventReports.d.ts +0 -10
  244. package/lib/common/callEventReports.d.ts.map +0 -1
  245. package/lib/common/callEventReports.js +0 -112
  246. package/lib/monitors/CallSummary.d.ts +0 -37
  247. package/lib/monitors/CallSummary.d.ts.map +0 -1
  248. package/lib/monitors/CallSummaryMonitor.d.ts +0 -32
  249. package/lib/monitors/CallSummaryMonitor.d.ts.map +0 -1
  250. package/lib/monitors/CallSummaryMonitor.js +0 -152
  251. package/lib/monitors/ClientIssueMonitor.d.ts +0 -32
  252. package/lib/monitors/ClientIssueMonitor.d.ts.map +0 -1
  253. package/lib/monitors/ClientIssueMonitor.js +0 -49
  254. package/lib/monitors/SfuServerMonitor.d.ts +0 -79
  255. package/lib/monitors/SfuServerMonitor.d.ts.map +0 -1
  256. package/lib/monitors/SfuServerMonitor.js +0 -198
  257. package/src/ObservedICE.ts +0 -237
  258. package/src/ObservedInboundAudioTrack.ts +0 -344
  259. package/src/ObservedInboundVideoTrack.ts +0 -361
  260. package/src/ObservedOutboundAudioTrack.ts +0 -307
  261. package/src/ObservedOutboundVideoTrack.ts +0 -319
  262. package/src/ObservedSfu.ts +0 -231
  263. package/src/ObservedSfuInboundRtpPad.ts +0 -106
  264. package/src/ObservedSfuOutboundRtpPad.ts +0 -107
  265. package/src/ObservedSfuSctpChannel.ts +0 -103
  266. package/src/ObservedSfuTransport.ts +0 -185
  267. package/src/RemoteTrackAssigner.ts +0 -68
  268. package/src/ReportsCollector.ts +0 -336
  269. package/src/common/CalculatedScore.ts +0 -188
  270. package/src/common/CallEventType.ts +0 -69
  271. package/src/common/CallMetaReports.ts +0 -82
  272. package/src/common/QualityScoreUtils.ts +0 -0
  273. package/src/common/TypedEventEmitter.ts +0 -32
  274. package/src/common/callEventReports.ts +0 -178
  275. package/src/monitors/CallSummary.ts +0 -38
  276. package/src/monitors/CallSummaryMonitor.ts +0 -192
  277. package/src/monitors/ClientIssueMonitor.ts +0 -88
  278. package/src/monitors/SfuServerMonitor.ts +0 -285
  279. /package/lib/{monitors/CallSummary.js → ObservedCallSummary.js} +0 -0
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObservedMediaSource = void 0;
4
+ class ObservedMediaSource {
5
+ timestamp;
6
+ id;
7
+ kind;
8
+ _peerConnection;
9
+ _visited = false;
10
+ appData;
11
+ trackIdentifier;
12
+ audioLevel;
13
+ totalAudioEnergy;
14
+ totalSamplesDuration;
15
+ echoReturnLoss;
16
+ echoReturnLossEnhancement;
17
+ width;
18
+ height;
19
+ frames;
20
+ framesPerSecond;
21
+ attachments;
22
+ constructor(timestamp, id, kind, _peerConnection) {
23
+ this.timestamp = timestamp;
24
+ this.id = id;
25
+ this.kind = kind;
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
+ getTrack() {
37
+ return this._peerConnection.observedOutboundTracks.get(this.trackIdentifier ?? '');
38
+ }
39
+ update(stats) {
40
+ this._visited = true;
41
+ this.timestamp = stats.timestamp;
42
+ this.trackIdentifier = stats.trackIdentifier;
43
+ this.audioLevel = stats.audioLevel;
44
+ this.totalAudioEnergy = stats.totalAudioEnergy;
45
+ this.totalSamplesDuration = stats.totalSamplesDuration;
46
+ this.echoReturnLoss = stats.echoReturnLoss;
47
+ this.echoReturnLossEnhancement = stats.echoReturnLossEnhancement;
48
+ this.width = stats.width;
49
+ this.height = stats.height;
50
+ this.frames = stats.frames;
51
+ this.framesPerSecond = stats.framesPerSecond;
52
+ this.attachments = stats.attachments;
53
+ }
54
+ }
55
+ exports.ObservedMediaSource = ObservedMediaSource;
@@ -0,0 +1,62 @@
1
+ import { MediaKind } from './common/types';
2
+ import { ObservedPeerConnection } from './ObservedPeerConnection';
3
+ import { OutboundRtpStats, QualityLimitationDurations } from './schema/ClientSample';
4
+ export declare class ObservedOutboundRtp implements OutboundRtpStats {
5
+ timestamp: number;
6
+ id: string;
7
+ ssrc: number;
8
+ kind: MediaKind;
9
+ private readonly _peerConnection;
10
+ private _visited;
11
+ appData?: Record<string, unknown>;
12
+ transportId?: string | undefined;
13
+ codecId?: string | undefined;
14
+ packetsSent?: number | undefined;
15
+ bytesSent?: number | undefined;
16
+ mid?: string | undefined;
17
+ mediaSourceId?: string | undefined;
18
+ remoteId?: string | undefined;
19
+ rid?: string | undefined;
20
+ headerBytesSent?: number | undefined;
21
+ retransmittedPacketsSent?: number | undefined;
22
+ retransmittedBytesSent?: number | undefined;
23
+ rtxSsrc?: number | undefined;
24
+ targetBitrate?: number | undefined;
25
+ totalEncodedBytesTarget?: number | undefined;
26
+ frameWidth?: number | undefined;
27
+ frameHeight?: number | undefined;
28
+ framesPerSecond?: number | undefined;
29
+ framesSent?: number | undefined;
30
+ hugeFramesSent?: number | undefined;
31
+ framesEncoded?: number | undefined;
32
+ keyFramesEncoded?: number | undefined;
33
+ qpSum?: number | undefined;
34
+ totalEncodeTime?: number | undefined;
35
+ totalPacketSendDelay?: number | undefined;
36
+ qualityLimitationReason?: string | undefined;
37
+ qualityLimitationResolutionChanges?: number | undefined;
38
+ nackCount?: number | undefined;
39
+ firCount?: number | undefined;
40
+ pliCount?: number | undefined;
41
+ encoderImplementation?: string | undefined;
42
+ powerEfficientEncoder?: boolean | undefined;
43
+ active?: boolean | undefined;
44
+ scalabilityMode?: string | undefined;
45
+ qualityLimitationDurations?: QualityLimitationDurations | undefined;
46
+ attachments?: Record<string, unknown> | undefined;
47
+ bitrate: number;
48
+ payloadBitrate: number;
49
+ packetRate: number;
50
+ bitPerPixel: number;
51
+ deltaPacketsSent: number;
52
+ deltaBytesSent: number;
53
+ constructor(timestamp: number, id: string, ssrc: number, kind: MediaKind, _peerConnection: ObservedPeerConnection);
54
+ get visited(): boolean;
55
+ getPeerConnection(): ObservedPeerConnection;
56
+ getRemoteInboundRtp(): import("./ObservedRemoteInboundRtp").ObservedRemoteInboundRtp | undefined;
57
+ getCodec(): import("./ObservedCodec").ObservedCodec | undefined;
58
+ getMediaSource(): import("./ObservedMediaSource").ObservedMediaSource | undefined;
59
+ getTrack(): import("./ObservedOutboundTrack").ObservedOutboundTrack | undefined;
60
+ update(stats: OutboundRtpStats): void;
61
+ }
62
+ //# sourceMappingURL=ObservedOutboundRtp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservedOutboundRtp.d.ts","sourceRoot":"","sources":["../src/ObservedOutboundRtp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObservedOutboundRtp = void 0;
4
+ class ObservedOutboundRtp {
5
+ timestamp;
6
+ id;
7
+ ssrc;
8
+ kind;
9
+ _peerConnection;
10
+ _visited = false;
11
+ appData;
12
+ transportId;
13
+ codecId;
14
+ packetsSent;
15
+ bytesSent;
16
+ mid;
17
+ mediaSourceId;
18
+ remoteId;
19
+ rid;
20
+ headerBytesSent;
21
+ retransmittedPacketsSent;
22
+ retransmittedBytesSent;
23
+ rtxSsrc;
24
+ targetBitrate;
25
+ totalEncodedBytesTarget;
26
+ frameWidth;
27
+ frameHeight;
28
+ framesPerSecond;
29
+ framesSent;
30
+ hugeFramesSent;
31
+ framesEncoded;
32
+ keyFramesEncoded;
33
+ qpSum;
34
+ totalEncodeTime;
35
+ totalPacketSendDelay;
36
+ qualityLimitationReason;
37
+ qualityLimitationResolutionChanges;
38
+ nackCount;
39
+ firCount;
40
+ pliCount;
41
+ encoderImplementation;
42
+ powerEfficientEncoder;
43
+ active;
44
+ scalabilityMode;
45
+ qualityLimitationDurations;
46
+ attachments;
47
+ // derived fields
48
+ bitrate = 0;
49
+ payloadBitrate = 0;
50
+ packetRate = 0;
51
+ bitPerPixel = 0;
52
+ deltaPacketsSent = 0;
53
+ deltaBytesSent = 0;
54
+ constructor(timestamp, id, ssrc, kind, _peerConnection) {
55
+ this.timestamp = timestamp;
56
+ this.id = id;
57
+ this.ssrc = ssrc;
58
+ this.kind = kind;
59
+ this._peerConnection = _peerConnection;
60
+ }
61
+ get visited() {
62
+ const visited = this._visited;
63
+ this._visited = false;
64
+ return visited;
65
+ }
66
+ getPeerConnection() {
67
+ return this._peerConnection;
68
+ }
69
+ getRemoteInboundRtp() {
70
+ return this._peerConnection.observedRemoteInboundRtps.get(this.ssrc);
71
+ }
72
+ getCodec() {
73
+ return this._peerConnection.observedCodecs.get(this.codecId ?? '');
74
+ }
75
+ getMediaSource() {
76
+ return this._peerConnection.observedMediaSources.get(this.mediaSourceId ?? '');
77
+ }
78
+ getTrack() {
79
+ return this.getMediaSource()?.getTrack();
80
+ }
81
+ update(stats) {
82
+ this._visited = true;
83
+ this.bitPerPixel = 0;
84
+ this.bitrate = 0;
85
+ this.payloadBitrate = 0;
86
+ this.packetRate = 0;
87
+ this.deltaPacketsSent = 0;
88
+ this.deltaBytesSent = 0;
89
+ const elapsedTimeInMs = stats.timestamp - this.timestamp;
90
+ if (elapsedTimeInMs) {
91
+ if (stats.packetsSent !== undefined && this.packetsSent !== undefined) {
92
+ this.deltaPacketsSent = stats.packetsSent - this.packetsSent;
93
+ this.packetRate = this.deltaPacketsSent / (elapsedTimeInMs / 1000);
94
+ }
95
+ if (stats.bytesSent !== undefined && this.bytesSent !== undefined) {
96
+ this.deltaBytesSent = stats.bytesSent - this.bytesSent;
97
+ this.bitrate = (this.deltaBytesSent * 8) / (elapsedTimeInMs / 1000);
98
+ }
99
+ if (stats.headerBytesSent !== undefined && this.headerBytesSent !== undefined) {
100
+ this.payloadBitrate = ((this.deltaBytesSent ?? 0 - (stats.headerBytesSent - this.headerBytesSent)) * 8) / (elapsedTimeInMs / 1000);
101
+ }
102
+ if (this.framesSent !== undefined && stats.framesSent !== undefined) {
103
+ this.bitPerPixel = this.deltaBytesSent ? (this.deltaBytesSent * 8) / (this.framesSent - stats.framesSent) : 0;
104
+ }
105
+ }
106
+ this.timestamp = stats.timestamp;
107
+ this.transportId = stats.transportId;
108
+ this.codecId = stats.codecId;
109
+ this.packetsSent = stats.packetsSent;
110
+ this.bytesSent = stats.bytesSent;
111
+ this.mid = stats.mid;
112
+ this.mediaSourceId = stats.mediaSourceId;
113
+ this.remoteId = stats.remoteId;
114
+ this.rid = stats.rid;
115
+ this.headerBytesSent = stats.headerBytesSent;
116
+ this.retransmittedPacketsSent = stats.retransmittedPacketsSent;
117
+ this.retransmittedBytesSent = stats.retransmittedBytesSent;
118
+ this.rtxSsrc = stats.rtxSsrc;
119
+ this.targetBitrate = stats.targetBitrate;
120
+ this.totalEncodedBytesTarget = stats.totalEncodedBytesTarget;
121
+ this.frameWidth = stats.frameWidth;
122
+ this.frameHeight = stats.frameHeight;
123
+ this.framesPerSecond = stats.framesPerSecond;
124
+ this.framesSent = stats.framesSent;
125
+ this.hugeFramesSent = stats.hugeFramesSent;
126
+ this.framesEncoded = stats.framesEncoded;
127
+ this.keyFramesEncoded = stats.keyFramesEncoded;
128
+ this.qpSum = stats.qpSum;
129
+ this.totalEncodeTime = stats.totalEncodeTime;
130
+ this.totalPacketSendDelay = stats.totalPacketSendDelay;
131
+ this.qualityLimitationReason = stats.qualityLimitationReason;
132
+ this.qualityLimitationResolutionChanges = stats.qualityLimitationResolutionChanges;
133
+ this.nackCount = stats.nackCount;
134
+ this.firCount = stats.firCount;
135
+ this.pliCount = stats.pliCount;
136
+ this.encoderImplementation = stats.encoderImplementation;
137
+ this.powerEfficientEncoder = stats.powerEfficientEncoder;
138
+ this.active = stats.active;
139
+ this.scalabilityMode = stats.scalabilityMode;
140
+ this.qualityLimitationDurations = stats.qualityLimitationDurations;
141
+ this.attachments = stats.attachments;
142
+ }
143
+ }
144
+ exports.ObservedOutboundRtp = ObservedOutboundRtp;
@@ -0,0 +1,29 @@
1
+ import { CalculatedScore } from './scores/CalculatedScore';
2
+ import { MediaKind } from './common/types';
3
+ import { OutboundTrackSample } from './schema/ClientSample';
4
+ import { Detectors } from './detectors/Detectors';
5
+ import { ObservedPeerConnection } from './ObservedPeerConnection';
6
+ import { ObservedOutboundRtp } from './ObservedOutboundRtp';
7
+ import { ObservedMediaSource } from './ObservedMediaSource';
8
+ export declare class ObservedOutboundTrack implements OutboundTrackSample {
9
+ timestamp: number;
10
+ readonly id: string;
11
+ readonly kind: MediaKind;
12
+ private readonly _peerConnection;
13
+ private readonly _outboundRtps?;
14
+ private readonly _mediaSource?;
15
+ readonly detectors: Detectors;
16
+ private _visited;
17
+ appData?: Record<string, unknown>;
18
+ readonly calculatedScore: CalculatedScore;
19
+ attachments?: Record<string, unknown> | undefined;
20
+ constructor(timestamp: number, id: string, kind: MediaKind, _peerConnection: ObservedPeerConnection, _outboundRtps?: ObservedOutboundRtp[] | undefined, _mediaSource?: ObservedMediaSource | undefined);
21
+ get score(): number | undefined;
22
+ get visited(): boolean;
23
+ getPeerConnection(): ObservedPeerConnection;
24
+ getOutboundRtps(): ObservedOutboundRtp[] | undefined;
25
+ getMediaSource(): ObservedMediaSource | undefined;
26
+ getRemoteInboundTracks(): import("./ObservedInboundTrack").ObservedInboundTrack[] | undefined;
27
+ update(stats: OutboundTrackSample): void;
28
+ }
29
+ //# sourceMappingURL=ObservedOutboundTrack.d.ts.map
@@ -0,0 +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;IAYxD,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;IAhB/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;IAEF,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"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObservedOutboundTrack = void 0;
4
+ const Detectors_1 = require("./detectors/Detectors");
5
+ class ObservedOutboundTrack {
6
+ timestamp;
7
+ id;
8
+ kind;
9
+ _peerConnection;
10
+ _outboundRtps;
11
+ _mediaSource;
12
+ detectors;
13
+ _visited = false;
14
+ appData;
15
+ calculatedScore = {
16
+ weight: 1,
17
+ value: undefined,
18
+ };
19
+ attachments;
20
+ constructor(timestamp, id, kind, _peerConnection, _outboundRtps, _mediaSource) {
21
+ this.timestamp = timestamp;
22
+ this.id = id;
23
+ this.kind = kind;
24
+ this._peerConnection = _peerConnection;
25
+ this._outboundRtps = _outboundRtps;
26
+ this._mediaSource = _mediaSource;
27
+ this.detectors = new Detectors_1.Detectors();
28
+ }
29
+ get score() {
30
+ return this.calculatedScore.value;
31
+ }
32
+ get visited() {
33
+ const visited = this._visited;
34
+ this._visited = false;
35
+ return visited;
36
+ }
37
+ getPeerConnection() {
38
+ return this._peerConnection;
39
+ }
40
+ getOutboundRtps() {
41
+ return this._outboundRtps;
42
+ }
43
+ getMediaSource() {
44
+ return this._mediaSource;
45
+ }
46
+ getRemoteInboundTracks() {
47
+ return this._peerConnection.client.call.remoteTrackResolver?.resolveRemoteInboundTracks(this);
48
+ }
49
+ update(stats) {
50
+ this._visited = true;
51
+ this.timestamp = stats.timestamp;
52
+ this.calculatedScore.value = stats.score;
53
+ this.attachments = stats.attachments;
54
+ this.detectors.update();
55
+ }
56
+ }
57
+ exports.ObservedOutboundTrack = ObservedOutboundTrack;
@@ -1,36 +1,74 @@
1
1
  /// <reference types="node" />
2
2
  import { EventEmitter } from 'events';
3
- import { PeerConnectionTransport } from '@observertc/sample-schemas-js';
4
3
  import { ObservedClient } from './ObservedClient';
5
- import { CallEventReport } from '@observertc/report-schemas-js';
6
- import { ObservedICE } from './ObservedICE';
4
+ import { OutboundTrackSample, PeerConnectionSample } from './schema/ClientSample';
5
+ import { ObservedInboundRtp } from './ObservedInboundRtp';
6
+ import { ObservedOutboundRtp } from './ObservedOutboundRtp';
7
+ import { ObservedCertificate } from './ObservedCertificate';
8
+ import { ObservedCodec } from './ObservedCodec';
7
9
  import { ObservedDataChannel } from './ObservedDataChannel';
8
- import { PartialBy } from './common/utils';
9
- import { ObservedInboundAudioTrack, ObservedInboundAudioTrackModel } from './ObservedInboundAudioTrack';
10
- import { ObservedInboundVideoTrack, ObservedInboundVideoTrackModel } from './ObservedInboundVideoTrack';
11
- import { ObservedOutboundAudioTrack, ObservedOutboundAudioTrackModel } from './ObservedOutboundAudioTrack';
12
- import { ObservedOutboundVideoTrack, ObservedOutboundVideoTrackModel } from './ObservedOutboundVideoTrack';
13
- import { CalculatedScore } from './common/CalculatedScore';
14
- import { ClientIssue } from './monitors/CallSummary';
10
+ import { ObservedIceCandidate } from './ObservedIceCandidate';
11
+ import { ObservedIceCandidatePair } from './ObservedIceCandidatePair';
12
+ import { ObservedIceTransport } from './ObservedIceTransport';
13
+ import { ObservedMediaSource } from './ObservedMediaSource';
14
+ import { ObservedPeerConnectionTransport } from './ObservedPeerConnectionTransport';
15
+ import { ObservedMediaPlayout } from './ObservedMediaPlayout';
16
+ import { ObservedRemoteInboundRtp } from './ObservedRemoteInboundRtp';
17
+ import { ObservedRemoteOutboundRtp } from './ObservedRemoteOutboundRtp';
18
+ import { ObservedInboundTrack } from './ObservedInboundTrack';
19
+ import { ObservedOutboundTrack } from './ObservedOutboundTrack';
20
+ import { CalculatedScore } from './scores/CalculatedScore';
21
+ import { ObservedTurnServer } from './ObservedTurnServer';
15
22
  export type ObservedPeerConnectionEvents = {
16
- update: [
23
+ iceconnectionstatechange: [
17
24
  {
18
- elapsedTimeInMs: number;
25
+ state: string;
19
26
  }
20
27
  ];
28
+ icegatheringstatechange: [
29
+ {
30
+ state: string;
31
+ }
32
+ ];
33
+ connectionstatechange: [
34
+ {
35
+ state: string;
36
+ }
37
+ ];
38
+ selectedcandidatepair: [];
39
+ 'added-certificate': [ObservedCertificate];
40
+ 'added-codec': [ObservedCodec];
41
+ 'added-data-channel': [ObservedDataChannel];
42
+ 'added-ice-candidate': [ObservedIceCandidate];
43
+ 'added-ice-candidate-pair': [ObservedIceCandidatePair];
44
+ 'added-ice-transport': [ObservedIceTransport];
45
+ 'added-inbound-rtp': [ObservedInboundRtp];
46
+ 'added-inbound-track': [ObservedInboundTrack];
47
+ 'added-media-playout': [ObservedMediaPlayout];
48
+ 'added-media-source': [ObservedMediaSource];
49
+ 'added-outbound-rtp': [ObservedOutboundRtp];
50
+ 'added-outbound-track': [ObservedOutboundTrack];
51
+ 'added-peer-connection-transport': [ObservedPeerConnectionTransport];
52
+ 'added-remote-inbound-rtp': [ObservedRemoteInboundRtp];
53
+ 'added-remote-outbound-rtp': [ObservedRemoteOutboundRtp];
54
+ 'removed-certificate': [ObservedCertificate];
55
+ 'removed-codec': [ObservedCodec];
56
+ 'removed-data-channel': [ObservedDataChannel];
57
+ 'removed-ice-candidate': [ObservedIceCandidate];
58
+ 'removed-ice-candidate-pair': [ObservedIceCandidatePair];
59
+ 'removed-ice-transport': [ObservedIceTransport];
60
+ 'removed-inbound-rtp': [ObservedInboundRtp];
61
+ 'removed-inbound-track': [ObservedInboundTrack];
62
+ 'removed-media-playout': [ObservedMediaPlayout];
63
+ 'removed-media-source': [ObservedMediaSource];
64
+ 'removed-outbound-rtp': [ObservedOutboundRtp];
65
+ 'removed-outbound-track': [ObservedOutboundTrack];
66
+ 'removed-peer-connection-transport': [ObservedPeerConnectionTransport];
67
+ 'removed-remote-inbound-rtp': [ObservedRemoteInboundRtp];
68
+ 'removed-remote-outbound-rtp': [ObservedRemoteOutboundRtp];
69
+ 'update': [];
21
70
  close: [];
22
- score: [CalculatedScore];
23
- newinboudaudiotrack: [ObservedInboundAudioTrack];
24
- newinboudvideotrack: [ObservedInboundVideoTrack];
25
- newoutboundaudiotrack: [ObservedOutboundAudioTrack];
26
- newoutboundvideotrack: [ObservedOutboundVideoTrack];
27
- newdatachannel: [ObservedDataChannel];
28
- };
29
- export type ObservedPeerConnectionModel = {
30
- peerConnectionId: string;
31
- label?: string;
32
71
  };
33
- export type ObservedPeerConnectionStats = Omit<PeerConnectionTransport, 'transportId' | 'label'>;
34
72
  export declare interface ObservedPeerConnection {
35
73
  on<U extends keyof ObservedPeerConnectionEvents>(event: U, listener: (...args: ObservedPeerConnectionEvents[U]) => void): this;
36
74
  off<U extends keyof ObservedPeerConnectionEvents>(event: U, listener: (...args: ObservedPeerConnectionEvents[U]) => void): this;
@@ -38,22 +76,24 @@ export declare interface ObservedPeerConnection {
38
76
  emit<U extends keyof ObservedPeerConnectionEvents>(event: U, ...args: ObservedPeerConnectionEvents[U]): boolean;
39
77
  }
40
78
  export declare class ObservedPeerConnection extends EventEmitter {
41
- private readonly _model;
79
+ readonly peerConnectionId: string;
42
80
  readonly client: ObservedClient;
43
- readonly created: number;
44
- visited: boolean;
45
- opened?: number;
46
- closedTimestamp?: number;
47
- private _elapsedTimeSinceLastUpdate?;
48
- private _statsTimestamp?;
49
- private _stabilityScores;
50
- ωpendingIssuesForScores: ClientIssue[];
51
- score?: CalculatedScore;
81
+ private _visited;
82
+ appData?: Record<string, unknown>;
83
+ readonly calculatedScore: CalculatedScore;
84
+ closed: boolean;
85
+ openedAt?: number;
86
+ closedAt?: number;
87
+ updated: number;
88
+ availableIncomingBitrate: number;
89
+ availableOutgoingBitrate: number;
52
90
  totalInboundPacketsLost: number;
53
91
  totalInboundPacketsReceived: number;
54
92
  totalOutboundPacketsSent: number;
55
93
  totalDataChannelBytesSent: number;
56
94
  totalDataChannelBytesReceived: number;
95
+ totalDataChannelMessagesSent: number;
96
+ totalDataChannelMessagesReceived: number;
57
97
  totalSentAudioBytes: number;
58
98
  totalSentVideoBytes: number;
59
99
  totalSentAudioPackets: number;
@@ -67,6 +107,8 @@ export declare class ObservedPeerConnection extends EventEmitter {
67
107
  deltaOutboundPacketsSent: number;
68
108
  deltaDataChannelBytesSent: number;
69
109
  deltaDataChannelBytesReceived: number;
110
+ deltaDataChannelMessagesSent: number;
111
+ deltaDataChannelMessagesReceived: number;
70
112
  deltaInboundReceivedBytes: number;
71
113
  deltaOutboundSentBytes: number;
72
114
  deltaReceivedAudioBytes: number;
@@ -75,59 +117,69 @@ export declare class ObservedPeerConnection extends EventEmitter {
75
117
  deltaReceivedVideoPackets: number;
76
118
  deltaSentAudioBytes: number;
77
119
  deltaSentVideoBytes: number;
120
+ deltaTransportSentBytes: number;
121
+ deltaTransportReceivedBytes: number;
78
122
  receivingPacketsPerSecond: number;
79
123
  sendingPacketsPerSecond: number;
80
124
  sendingAudioBitrate: number;
81
125
  sendingVideoBitrate: number;
82
126
  receivingAudioBitrate: number;
83
127
  receivingVideoBitrate: number;
84
- avgRttInMs?: number;
85
- avgJitter?: number;
86
- private _closed;
87
- private _updated;
88
- private _sample?;
89
- private _marker?;
90
- readonly ICE: ObservedICE;
91
- private readonly _inboundAudioTracks;
92
- private readonly _inboundVideoTracks;
93
- private readonly _outboundAudioTracks;
94
- private readonly _outboundVideoTracks;
95
- private readonly _dataChannels;
96
- constructor(_model: ObservedPeerConnectionModel, client: ObservedClient);
97
- get serviceId(): string;
98
- get roomId(): string;
99
- get callId(): string;
100
- get clientId(): string;
101
- get mediaUnitId(): string;
102
- get label(): string | undefined;
103
- set label(value: string | undefined);
104
- get usingTURN(): boolean;
105
- get availableOutgoingBitrate(): number | undefined;
106
- get availableIncomingBitrate(): number | undefined;
107
- get peerConnectionId(): string;
108
- get reports(): import("./ReportsCollector").ReportsCollector;
109
- get stats(): ObservedPeerConnectionStats | undefined;
110
- get updated(): number;
111
- get inboundAudioTracks(): ReadonlyMap<string, ObservedInboundAudioTrack>;
112
- get inboundVideoTracks(): ReadonlyMap<string, ObservedInboundVideoTrack>;
113
- get outboundAudioTracks(): ReadonlyMap<string, ObservedOutboundAudioTrack>;
114
- get outboundVideoTracks(): ReadonlyMap<string, ObservedOutboundVideoTrack>;
115
- get dataChannels(): ReadonlyMap<number, ObservedDataChannel>;
116
- get uptimeInMs(): number;
117
- get marker(): string | undefined;
118
- set marker(value: string | undefined);
119
- addEventReport(params: PartialBy<Omit<CallEventReport, 'serviceId' | 'roomId' | 'callId' | 'clientId' | 'userId' | 'peerConnectionId' | 'marker'>, 'timestamp'>): void;
120
- get closed(): boolean;
128
+ currentRttInMs?: number;
129
+ currentJitter?: number;
130
+ usingTCP: boolean;
131
+ usingTURN: boolean;
132
+ observedTurnServer?: ObservedTurnServer;
133
+ readonly observedCertificates: Map<string, ObservedCertificate>;
134
+ readonly observedCodecs: Map<string, ObservedCodec>;
135
+ readonly observedDataChannels: Map<string, ObservedDataChannel>;
136
+ readonly observedIceCandidates: Map<string, ObservedIceCandidate>;
137
+ readonly observedIceCandidatesPair: Map<string, ObservedIceCandidatePair>;
138
+ readonly observedIceTransports: Map<string, ObservedIceTransport>;
139
+ readonly observedInboundRtps: Map<number, ObservedInboundRtp>;
140
+ readonly observedInboundTracks: Map<string, ObservedInboundTrack>;
141
+ readonly observedMediaPlayouts: Map<string, ObservedMediaPlayout>;
142
+ readonly observedMediaSources: Map<string, ObservedMediaSource>;
143
+ readonly observedOutboundRtps: Map<number, ObservedOutboundRtp>;
144
+ readonly observedOutboundTracks: Map<string, ObservedOutboundTrack>;
145
+ readonly observedPeerConnectionTransports: Map<string, ObservedPeerConnectionTransport>;
146
+ readonly observedRemoteInboundRtps: Map<number, ObservedRemoteInboundRtp>;
147
+ readonly observedRemoteOutboundRtps: Map<number, ObservedRemoteOutboundRtp>;
148
+ constructor(peerConnectionId: string, client: ObservedClient);
149
+ get score(): number | undefined;
150
+ get visited(): boolean;
151
+ get codecs(): ObservedCodec[];
152
+ get inboundRtps(): ObservedInboundRtp[];
153
+ get remoteOutboundRtps(): ObservedRemoteOutboundRtp[];
154
+ get outboundRtps(): ObservedOutboundRtp[];
155
+ get remoteInboundRtps(): ObservedRemoteInboundRtp[];
156
+ get mediaSources(): ObservedMediaSource[];
157
+ get mediaPlayouts(): ObservedMediaPlayout[];
158
+ get dataChannels(): ObservedDataChannel[];
159
+ get peerConnectionTransports(): ObservedPeerConnectionTransport[];
160
+ get iceTransports(): ObservedIceTransport[];
161
+ get iceCandidates(): ObservedIceCandidate[];
162
+ get iceCandidatePairs(): ObservedIceCandidatePair[];
163
+ get certificates(): ObservedCertificate[];
164
+ get selectedIceCandidatePairs(): ObservedIceCandidatePair[];
165
+ get selectedIceCandiadtePairForTurn(): ObservedIceCandidatePair[];
121
166
  close(): void;
122
- getTrack(trackId: string): ObservedInboundAudioTrack | ObservedInboundVideoTrack | ObservedOutboundAudioTrack | ObservedOutboundVideoTrack | undefined;
123
- resetMetrics(): void;
124
- update(sample: PeerConnectionTransport, timestamp: number): void;
125
- createInboundAudioTrack(config: ObservedInboundAudioTrackModel): ObservedInboundAudioTrack;
126
- createInboundVideoTrack(config: ObservedInboundVideoTrackModel): ObservedInboundVideoTrack;
127
- createOutboundAudioTrack(config: ObservedOutboundAudioTrackModel): ObservedOutboundAudioTrack;
128
- createOutboundVideoTrack(config: ObservedOutboundVideoTrackModel): ObservedOutboundVideoTrack;
129
- createDataChannel(channelId: number): ObservedDataChannel;
130
- updateMetrics(): void;
131
- private _updateQualityScore;
167
+ accept(sample: PeerConnectionSample): void;
168
+ private _checkVisited;
169
+ private _updateCertificateStats;
170
+ private _updateCodecStats;
171
+ private _updateDataChannelStats;
172
+ private _updateIceCandidateStats;
173
+ private _updateIceCandidatePairStats;
174
+ private _updateIceTransportStats;
175
+ private _updateInboundRtpStats;
176
+ private _updateInboundTrackSample;
177
+ private _updateMediaPlayoutStats;
178
+ private _updateMediaSourceStats;
179
+ private _updateOutboundRtpStats;
180
+ _updateOutboundTrackSample(stats: OutboundTrackSample): void | ObservedOutboundTrack;
181
+ private _updatePeerConnectionTransportStats;
182
+ private _updateRemoteInboundRtpStats;
183
+ private _updateRemoteOutboundRtpStats;
132
184
  }
133
185
  //# sourceMappingURL=ObservedPeerConnection.d.ts.map