@observertc/observer-js 1.0.1-c3edea3.0 → 1.0.1-c665f5a.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 (204) hide show
  1. package/README.md +535 -1
  2. package/lib/ObservedCall.d.ts +45 -7
  3. package/lib/ObservedCall.d.ts.map +1 -1
  4. package/lib/ObservedCall.js +156 -14
  5. package/lib/ObservedCallEventMonitor.d.ts +104 -0
  6. package/lib/ObservedCallEventMonitor.d.ts.map +1 -0
  7. package/lib/ObservedCallEventMonitor.js +314 -0
  8. package/lib/ObservedCallSummary.d.ts +18 -0
  9. package/lib/ObservedCallSummary.d.ts.map +1 -0
  10. package/lib/ObservedClient.d.ts +78 -19
  11. package/lib/ObservedClient.d.ts.map +1 -1
  12. package/lib/ObservedClient.js +537 -80
  13. package/lib/ObservedClientEventMonitor.d.ts +91 -0
  14. package/lib/ObservedClientEventMonitor.d.ts.map +1 -0
  15. package/lib/ObservedClientEventMonitor.js +254 -0
  16. package/lib/ObservedClientSummary.d.ts +23 -0
  17. package/lib/ObservedClientSummary.d.ts.map +1 -0
  18. package/lib/ObservedClientSummary.js +2 -0
  19. package/lib/ObservedTURN.d.ts +31 -0
  20. package/lib/ObservedTURN.d.ts.map +1 -0
  21. package/lib/ObservedTURN.js +59 -0
  22. package/lib/ObservedTurnServer.d.ts +25 -0
  23. package/lib/ObservedTurnServer.d.ts.map +1 -0
  24. package/lib/ObservedTurnServer.js +59 -0
  25. package/lib/Observer.d.ts +42 -22
  26. package/lib/Observer.d.ts.map +1 -1
  27. package/lib/Observer.js +115 -40
  28. package/lib/ObserverEventMonitor.d.ts +138 -0
  29. package/lib/ObserverEventMonitor.d.ts.map +1 -0
  30. package/lib/ObserverEventMonitor.js +433 -0
  31. package/lib/ObserverSummary.d.ts +13 -0
  32. package/lib/ObserverSummary.d.ts.map +1 -0
  33. package/lib/ObserverSummary.js +2 -0
  34. package/lib/common/utils.d.ts +2 -1
  35. package/lib/common/utils.d.ts.map +1 -1
  36. package/lib/common/utils.js +11 -3
  37. package/lib/index.d.ts +22 -16
  38. package/lib/index.d.ts.map +1 -1
  39. package/lib/index.js +25 -17
  40. package/lib/mediasoup/ObservedMediasoupRouter.d.ts +7 -0
  41. package/lib/mediasoup/ObservedMediasoupRouter.d.ts.map +1 -0
  42. package/lib/mediasoup/ObservedMediasoupRouter.js +12 -0
  43. package/lib/schema/ClientEventTypes.d.ts +228 -0
  44. package/lib/schema/ClientEventTypes.d.ts.map +1 -0
  45. package/lib/schema/ClientEventTypes.js +41 -0
  46. package/lib/schema/{metaTypes.d.ts → ClientMetaTypes.d.ts} +2 -2
  47. package/lib/schema/ClientMetaTypes.d.ts.map +1 -0
  48. package/lib/schema/ClientMetaTypes.js +16 -0
  49. package/lib/schema/ClientSample.d.ts +1 -1
  50. package/lib/schema/ClientSample.d.ts.map +1 -1
  51. package/lib/updaters/CallUpdater.d.ts.map +1 -0
  52. package/lib/updaters/CallUpdater.js +2 -0
  53. package/lib/updaters/ObserverUpdater.d.ts +5 -0
  54. package/lib/updaters/ObserverUpdater.d.ts.map +1 -0
  55. package/lib/updaters/ObserverUpdater.js +2 -0
  56. package/lib/updaters/OnAllCallObserverUpdater.d.ts +15 -0
  57. package/lib/updaters/OnAllCallObserverUpdater.d.ts.map +1 -0
  58. package/lib/updaters/OnAllCallObserverUpdater.js +50 -0
  59. package/lib/updaters/OnAllClientCallUpdater.d.ts +15 -0
  60. package/lib/updaters/OnAllClientCallUpdater.d.ts.map +1 -0
  61. package/lib/updaters/OnAllClientCallUpdater.js +53 -0
  62. package/lib/updaters/OnAnyCallObserverUpdater.d.ts +12 -0
  63. package/lib/updaters/OnAnyCallObserverUpdater.d.ts.map +1 -0
  64. package/lib/updaters/OnAnyCallObserverUpdater.js +37 -0
  65. package/lib/updaters/OnAnyClientCallUpdater.d.ts +12 -0
  66. package/lib/updaters/OnAnyClientCallUpdater.d.ts.map +1 -0
  67. package/lib/updaters/OnAnyClientCallUpdater.js +36 -0
  68. package/lib/updaters/OnIntervalUpdater.d.ts +10 -0
  69. package/lib/updaters/OnIntervalUpdater.d.ts.map +1 -0
  70. package/lib/updaters/OnIntervalUpdater.js +17 -0
  71. package/lib/updaters/Updater.d.ts +6 -0
  72. package/lib/updaters/Updater.d.ts.map +1 -0
  73. package/lib/updaters/Updater.js +2 -0
  74. package/lib/utils/MediasoupRemoteTrackResolver.d.ts +25 -0
  75. package/lib/utils/MediasoupRemoteTrackResolver.d.ts.map +1 -0
  76. package/lib/utils/MediasoupRemoteTrackResolver.js +110 -0
  77. package/lib/utils/RemoteTrackResolver.d.ts +2 -2
  78. package/lib/utils/RemoteTrackResolver.d.ts.map +1 -1
  79. package/lib/{ObservedCertificate.d.ts → webrtc/ObservedCertificate.d.ts} +1 -1
  80. package/lib/webrtc/ObservedCertificate.d.ts.map +1 -0
  81. package/lib/{ObservedCodec.d.ts → webrtc/ObservedCodec.d.ts} +1 -1
  82. package/lib/webrtc/ObservedCodec.d.ts.map +1 -0
  83. package/lib/{ObservedDataChannel.d.ts → webrtc/ObservedDataChannel.d.ts} +7 -1
  84. package/lib/webrtc/ObservedDataChannel.d.ts.map +1 -0
  85. package/lib/{ObservedDataChannel.js → webrtc/ObservedDataChannel.js} +30 -0
  86. package/lib/{ObservedIceCandidate.d.ts → webrtc/ObservedIceCandidate.d.ts} +1 -1
  87. package/lib/webrtc/ObservedIceCandidate.d.ts.map +1 -0
  88. package/lib/{ObservedIceCandidatePair.d.ts → webrtc/ObservedIceCandidatePair.d.ts} +7 -2
  89. package/lib/webrtc/ObservedIceCandidatePair.d.ts.map +1 -0
  90. package/lib/{ObservedIceCandidatePair.js → webrtc/ObservedIceCandidatePair.js} +45 -1
  91. package/lib/{ObservedIceTransport.d.ts → webrtc/ObservedIceTransport.d.ts} +5 -1
  92. package/lib/webrtc/ObservedIceTransport.d.ts.map +1 -0
  93. package/lib/{ObservedIceTransport.js → webrtc/ObservedIceTransport.js} +28 -0
  94. package/lib/{ObservedInboundRtp.d.ts → webrtc/ObservedInboundRtp.d.ts} +2 -2
  95. package/lib/webrtc/ObservedInboundRtp.d.ts.map +1 -0
  96. package/lib/{ObservedInboundTrack.d.ts → webrtc/ObservedInboundTrack.d.ts} +7 -4
  97. package/lib/webrtc/ObservedInboundTrack.d.ts.map +1 -0
  98. package/lib/{ObservedInboundTrack.js → webrtc/ObservedInboundTrack.js} +4 -1
  99. package/lib/{ObservedMediaPlayout.d.ts → webrtc/ObservedMediaPlayout.d.ts} +2 -2
  100. package/lib/webrtc/ObservedMediaPlayout.d.ts.map +1 -0
  101. package/lib/{ObservedMediaSource.d.ts → webrtc/ObservedMediaSource.d.ts} +2 -2
  102. package/lib/webrtc/ObservedMediaSource.d.ts.map +1 -0
  103. package/lib/{ObservedOutboundRtp.d.ts → webrtc/ObservedOutboundRtp.d.ts} +2 -2
  104. package/lib/webrtc/ObservedOutboundRtp.d.ts.map +1 -0
  105. package/lib/{ObservedOutboundTrack.d.ts → webrtc/ObservedOutboundTrack.d.ts} +7 -4
  106. package/lib/webrtc/ObservedOutboundTrack.d.ts.map +1 -0
  107. package/lib/{ObservedOutboundTrack.js → webrtc/ObservedOutboundTrack.js} +4 -1
  108. package/lib/{ObservedPeerConnection.d.ts → webrtc/ObservedPeerConnection.d.ts} +39 -5
  109. package/lib/webrtc/ObservedPeerConnection.d.ts.map +1 -0
  110. package/lib/{ObservedPeerConnection.js → webrtc/ObservedPeerConnection.js} +185 -30
  111. package/lib/{ObservedPeerConnectionTransport.d.ts → webrtc/ObservedPeerConnectionTransport.d.ts} +1 -1
  112. package/lib/webrtc/ObservedPeerConnectionTransport.d.ts.map +1 -0
  113. package/lib/{ObservedRemoteInboundRtp.d.ts → webrtc/ObservedRemoteInboundRtp.d.ts} +2 -2
  114. package/lib/webrtc/ObservedRemoteInboundRtp.d.ts.map +1 -0
  115. package/lib/{ObservedRemoteOutboundRtp.d.ts → webrtc/ObservedRemoteOutboundRtp.d.ts} +2 -2
  116. package/lib/webrtc/ObservedRemoteOutboundRtp.d.ts.map +1 -0
  117. package/package.json +1 -1
  118. package/src/ObservedCall.ts +233 -17
  119. package/src/ObservedCallEventMonitor.ts +392 -0
  120. package/src/ObservedCallSummary.ts +22 -0
  121. package/src/ObservedClient.ts +644 -92
  122. package/src/ObservedClientEventMonitor.ts +309 -0
  123. package/src/ObservedClientSummary.ts +24 -0
  124. package/src/ObservedTURN.ts +87 -0
  125. package/src/ObservedTurnServer.ts +72 -0
  126. package/src/Observer.ts +168 -64
  127. package/src/ObserverEventMonitor.ts +551 -0
  128. package/src/ObserverSummary.ts +15 -0
  129. package/src/common/utils.ts +12 -2
  130. package/src/index.ts +22 -17
  131. package/src/mediasoup/ObservedMediasoupRouter.ts +12 -0
  132. package/src/schema/ClientEventTypes.ts +280 -0
  133. package/src/schema/{metaTypes.ts → ClientMetaTypes.ts} +1 -1
  134. package/src/schema/ClientSample.ts +1 -1
  135. package/src/updaters/ObserverUpdater.ts +5 -0
  136. package/src/updaters/OnAllCallObserverUpdater.ts +59 -0
  137. package/src/updaters/OnAllClientCallUpdater.ts +61 -0
  138. package/src/updaters/OnAnyCallObserverUpdater.ts +41 -0
  139. package/src/updaters/OnAnyClientCallUpdater.ts +39 -0
  140. package/src/updaters/OnIntervalUpdater.ts +19 -0
  141. package/src/updaters/Updater.ts +5 -0
  142. package/src/utils/MediasoupRemoteTrackResolver.ts +155 -0
  143. package/src/utils/RemoteTrackResolver.ts +2 -2
  144. package/src/{ObservedCertificate.ts → webrtc/ObservedCertificate.ts} +1 -1
  145. package/src/{ObservedCodec.ts → webrtc/ObservedCodec.ts} +1 -1
  146. package/src/{ObservedDataChannel.ts → webrtc/ObservedDataChannel.ts} +33 -1
  147. package/src/{ObservedIceCandidate.ts → webrtc/ObservedIceCandidate.ts} +1 -1
  148. package/src/{ObservedIceCandidatePair.ts → webrtc/ObservedIceCandidatePair.ts} +45 -3
  149. package/src/{ObservedIceTransport.ts → webrtc/ObservedIceTransport.ts} +30 -1
  150. package/src/{ObservedInboundRtp.ts → webrtc/ObservedInboundRtp.ts} +2 -2
  151. package/src/{ObservedInboundTrack.ts → webrtc/ObservedInboundTrack.ts} +9 -4
  152. package/src/{ObservedMediaPlayout.ts → webrtc/ObservedMediaPlayout.ts} +2 -2
  153. package/src/{ObservedMediaSource.ts → webrtc/ObservedMediaSource.ts} +2 -2
  154. package/src/{ObservedOutboundRtp.ts → webrtc/ObservedOutboundRtp.ts} +2 -2
  155. package/src/{ObservedOutboundTrack.ts → webrtc/ObservedOutboundTrack.ts} +9 -4
  156. package/src/{ObservedPeerConnection.ts → webrtc/ObservedPeerConnection.ts} +240 -51
  157. package/src/{ObservedPeerConnectionTransport.ts → webrtc/ObservedPeerConnectionTransport.ts} +1 -1
  158. package/src/{ObservedRemoteInboundRtp.ts → webrtc/ObservedRemoteInboundRtp.ts} +2 -2
  159. package/src/{ObservedRemoteOutboundRtp.ts → webrtc/ObservedRemoteOutboundRtp.ts} +2 -2
  160. package/tsconfig.json +1 -1
  161. package/lib/ObservedCertificate.d.ts.map +0 -1
  162. package/lib/ObservedCodec.d.ts.map +0 -1
  163. package/lib/ObservedDataChannel.d.ts.map +0 -1
  164. package/lib/ObservedIceCandidate.d.ts.map +0 -1
  165. package/lib/ObservedIceCandidatePair.d.ts.map +0 -1
  166. package/lib/ObservedIceTransport.d.ts.map +0 -1
  167. package/lib/ObservedInboundRtp.d.ts.map +0 -1
  168. package/lib/ObservedInboundTrack.d.ts.map +0 -1
  169. package/lib/ObservedMediaPlayout.d.ts.map +0 -1
  170. package/lib/ObservedMediaSource.d.ts.map +0 -1
  171. package/lib/ObservedOutboundRtp.d.ts.map +0 -1
  172. package/lib/ObservedOutboundTrack.d.ts.map +0 -1
  173. package/lib/ObservedPeerConnection.d.ts.map +0 -1
  174. package/lib/ObservedPeerConnectionTransport.d.ts.map +0 -1
  175. package/lib/ObservedRemoteInboundRtp.d.ts.map +0 -1
  176. package/lib/ObservedRemoteOutboundRtp.d.ts.map +0 -1
  177. package/lib/schema/eventTypes.d.ts +0 -33
  178. package/lib/schema/eventTypes.d.ts.map +0 -1
  179. package/lib/schema/eventTypes.js +0 -38
  180. package/lib/schema/metaTypes.d.ts.map +0 -1
  181. package/lib/schema/metaTypes.js +0 -16
  182. package/lib/utils/CallUpdater.d.ts.map +0 -1
  183. package/lib/utils/OnAllClientCallUpdater.d.ts +0 -16
  184. package/lib/utils/OnAllClientCallUpdater.d.ts.map +0 -1
  185. package/lib/utils/OnAllClientCallUpdater.js +0 -58
  186. package/lib/utils/onAnyClientCallUpdater.d.ts +0 -14
  187. package/lib/utils/onAnyClientCallUpdater.d.ts.map +0 -1
  188. package/lib/utils/onAnyClientCallUpdater.js +0 -51
  189. package/src/schema/eventTypes.ts +0 -36
  190. package/src/utils/OnAllClientCallUpdater.ts +0 -68
  191. package/src/utils/onAnyClientCallUpdater.ts +0 -59
  192. /package/lib/{utils/CallUpdater.js → ObservedCallSummary.js} +0 -0
  193. /package/lib/{utils → updaters}/CallUpdater.d.ts +0 -0
  194. /package/lib/{ObservedCertificate.js → webrtc/ObservedCertificate.js} +0 -0
  195. /package/lib/{ObservedCodec.js → webrtc/ObservedCodec.js} +0 -0
  196. /package/lib/{ObservedIceCandidate.js → webrtc/ObservedIceCandidate.js} +0 -0
  197. /package/lib/{ObservedInboundRtp.js → webrtc/ObservedInboundRtp.js} +0 -0
  198. /package/lib/{ObservedMediaPlayout.js → webrtc/ObservedMediaPlayout.js} +0 -0
  199. /package/lib/{ObservedMediaSource.js → webrtc/ObservedMediaSource.js} +0 -0
  200. /package/lib/{ObservedOutboundRtp.js → webrtc/ObservedOutboundRtp.js} +0 -0
  201. /package/lib/{ObservedPeerConnectionTransport.js → webrtc/ObservedPeerConnectionTransport.js} +0 -0
  202. /package/lib/{ObservedRemoteInboundRtp.js → webrtc/ObservedRemoteInboundRtp.js} +0 -0
  203. /package/lib/{ObservedRemoteOutboundRtp.js → webrtc/ObservedRemoteOutboundRtp.js} +0 -0
  204. /package/src/{utils → updaters}/CallUpdater.ts +0 -0
@@ -1,9 +1,8 @@
1
1
  import { EventEmitter } from 'events';
2
- import { ObservedClient } from './ObservedClient';
3
- import { CertificateStats, CodecStats, DataChannelStats, IceCandidateStats, InboundRtpStats, InboundTrackSample, MediaPlayoutStats, MediaSourceStats, OutboundRtpStats, OutboundTrackSample, PeerConnectionSample, PeerConnectionTransportStats, RemoteInboundRtpStats, RemoteOutboundRtpStats } from './schema/ClientSample';
2
+ import { ObservedClient } from '../ObservedClient';
4
3
  import { ObservedInboundRtp } from './ObservedInboundRtp';
5
- import { createLogger } from './common/logger';
6
- import { MediaKind } from './common/types';
4
+ import { createLogger } from '../common/logger';
5
+ import { MediaKind } from '../common/types';
7
6
  import { ObservedOutboundRtp } from './ObservedOutboundRtp';
8
7
  import { ObservedCertificate } from './ObservedCertificate';
9
8
  import { ObservedCodec } from './ObservedCodec';
@@ -18,7 +17,26 @@ import { ObservedRemoteInboundRtp } from './ObservedRemoteInboundRtp';
18
17
  import { ObservedRemoteOutboundRtp } from './ObservedRemoteOutboundRtp';
19
18
  import { ObservedInboundTrack } from './ObservedInboundTrack';
20
19
  import { ObservedOutboundTrack } from './ObservedOutboundTrack';
21
- import { CalculatedScore } from './scores/CalculatedScore';
20
+ import { CalculatedScore } from '../scores/CalculatedScore';
21
+ import { ObservedTurnServer } from '../ObservedTurnServer';
22
+ import { getMedian } from '../common/utils';
23
+ import {
24
+ CertificateStats,
25
+ CodecStats,
26
+ DataChannelStats,
27
+ IceCandidateStats,
28
+ InboundRtpStats,
29
+ InboundTrackSample,
30
+ MediaPlayoutStats,
31
+ MediaSourceStats,
32
+ OutboundRtpStats,
33
+ OutboundTrackSample,
34
+ PeerConnectionSample,
35
+ PeerConnectionTransportStats,
36
+ RemoteInboundRtpStats,
37
+ RemoteOutboundRtpStats
38
+ } from '../schema/ClientSample';
39
+
22
40
 
23
41
  const logger = createLogger('ObservedPeerConnection');
24
42
 
@@ -70,7 +88,27 @@ export type ObservedPeerConnectionEvents = {
70
88
  'removed-peer-connection-transport': [ObservedPeerConnectionTransport];
71
89
  'removed-remote-inbound-rtp': [ObservedRemoteInboundRtp];
72
90
  'removed-remote-outbound-rtp': [ObservedRemoteOutboundRtp];
73
-
91
+ 'updated-inbound-rtp': [ObservedInboundRtp];
92
+ 'updated-outbound-rtp': [ObservedOutboundRtp];
93
+ 'updated-inbound-track': [ObservedInboundTrack];
94
+ 'updated-outbound-track': [ObservedOutboundTrack];
95
+ 'updated-ice-candidate-pair': [ObservedIceCandidatePair];
96
+ 'updated-ice-transport': [ObservedIceTransport];
97
+ 'updated-peer-connection-transport': [ObservedPeerConnectionTransport];
98
+ 'updated-media-source': [ObservedMediaSource];
99
+ 'updated-media-playout': [ObservedMediaPlayout];
100
+ 'updated-data-channel': [ObservedDataChannel];
101
+ 'updated-ice-candidate': [ObservedIceCandidate];
102
+ 'updated-certificate': [ObservedCertificate];
103
+ 'updated-codec': [ObservedCodec];
104
+ 'updated-remote-inbound-rtp': [ObservedRemoteInboundRtp];
105
+ 'updated-remote-outbound-rtp': [ObservedRemoteOutboundRtp];
106
+ 'muted-inbound-track': [ObservedInboundTrack];
107
+ 'muted-outbound-track': [ObservedOutboundTrack];
108
+ 'unmuted-inbound-track': [ObservedInboundTrack];
109
+ 'unmuted-outbound-track': [ObservedOutboundTrack];
110
+
111
+ 'update': [],
74
112
  close: [];
75
113
  };
76
114
 
@@ -106,11 +144,19 @@ export class ObservedPeerConnection extends EventEmitter {
106
144
  public closedAt?: number;
107
145
  public updated = Date.now();
108
146
 
147
+ public connectionState?: string;
148
+ public iceConnectionState?: string;
149
+ public iceGatheringState?: string;
150
+
151
+ public availableIncomingBitrate = 0;
152
+ public availableOutgoingBitrate = 0;
109
153
  public totalInboundPacketsLost = 0;
110
154
  public totalInboundPacketsReceived = 0;
111
155
  public totalOutboundPacketsSent = 0;
112
156
  public totalDataChannelBytesSent = 0;
113
157
  public totalDataChannelBytesReceived = 0;
158
+ public totalDataChannelMessagesSent = 0;
159
+ public totalDataChannelMessagesReceived = 0;
114
160
 
115
161
  public totalSentAudioBytes = 0;
116
162
  public totalSentVideoBytes = 0;
@@ -126,6 +172,8 @@ export class ObservedPeerConnection extends EventEmitter {
126
172
  public deltaOutboundPacketsSent = 0;
127
173
  public deltaDataChannelBytesSent = 0;
128
174
  public deltaDataChannelBytesReceived = 0;
175
+ public deltaDataChannelMessagesSent = 0;
176
+ public deltaDataChannelMessagesReceived = 0;
129
177
  public deltaInboundReceivedBytes = 0;
130
178
  public deltaOutboundSentBytes = 0;
131
179
 
@@ -135,6 +183,8 @@ export class ObservedPeerConnection extends EventEmitter {
135
183
  public deltaReceivedVideoPackets = 0;
136
184
  public deltaSentAudioBytes = 0;
137
185
  public deltaSentVideoBytes = 0;
186
+ public deltaTransportSentBytes = 0;
187
+ public deltaTransportReceivedBytes = 0;
138
188
 
139
189
  public receivingPacketsPerSecond = 0;
140
190
  public sendingPacketsPerSecond = 0;
@@ -143,12 +193,13 @@ export class ObservedPeerConnection extends EventEmitter {
143
193
  public receivingAudioBitrate = 0;
144
194
  public receivingVideoBitrate = 0;
145
195
 
146
- public avgRttInMs?: number;
147
- public avgJitter?: number;
196
+ public currentRttInMs?: number;
197
+ public currentJitter?: number;
148
198
 
149
199
  public usingTCP = false;
150
200
  public usingTURN = false;
151
201
 
202
+ public observedTurnServer?: ObservedTurnServer;
152
203
  public readonly observedCertificates = new Map<string, ObservedCertificate>();
153
204
  public readonly observedCodecs = new Map<string, ObservedCodec>();
154
205
  public readonly observedDataChannels = new Map<string, ObservedDataChannel>();
@@ -239,6 +290,14 @@ export class ObservedPeerConnection extends EventEmitter {
239
290
  .filter((pair) => pair !== undefined) as ObservedIceCandidatePair[];
240
291
  }
241
292
 
293
+ public get selectedIceCandiadtePairForTurn() {
294
+ return this.selectedIceCandidatePairs
295
+ .filter((pair) =>
296
+ pair.getLocalCandidate()?.candidateType === 'relay' &&
297
+ pair.getRemoteCandidate()?.url?.startsWith('turn:')
298
+ );
299
+ }
300
+
242
301
  public close() {
243
302
  if (this.closed) return;
244
303
  this.closed = true;
@@ -259,6 +318,10 @@ export class ObservedPeerConnection extends EventEmitter {
259
318
  this.observedRemoteInboundRtps.clear();
260
319
  this.observedRemoteOutboundRtps.clear();
261
320
 
321
+ this.client.call.observer.observedTURN.removePeerConnection(this);
322
+
323
+ if (!this.closedAt) this.closedAt = Date.now();
324
+
262
325
  this.emit('close');
263
326
  }
264
327
 
@@ -266,6 +329,8 @@ export class ObservedPeerConnection extends EventEmitter {
266
329
  if (this.closed) return;
267
330
  this._visited = true;
268
331
 
332
+ this.availableIncomingBitrate = 0;
333
+ this.availableOutgoingBitrate = 0;
269
334
  this.deltaInboundPacketsLost = 0;
270
335
  this.deltaInboundPacketsReceived = 0;
271
336
  this.deltaOutboundPacketsSent = 0;
@@ -279,6 +344,9 @@ export class ObservedPeerConnection extends EventEmitter {
279
344
  this.deltaReceivedVideoPackets = 0;
280
345
  this.deltaSentAudioBytes = 0;
281
346
  this.deltaSentVideoBytes = 0;
347
+ this.deltaTransportReceivedBytes = 0;
348
+ this.deltaTransportSentBytes = 0;
349
+
282
350
  this.sendingAudioBitrate = 0;
283
351
  this.sendingVideoBitrate = 0;
284
352
  this.receivingAudioBitrate = 0;
@@ -287,6 +355,8 @@ export class ObservedPeerConnection extends EventEmitter {
287
355
  const now = Date.now();
288
356
  const elapsedTimeInMs = now - this.updated;
289
357
  const elapsedTimeInSec = elapsedTimeInMs / 1000;
358
+ const rttMeasurementsInSec: number[] = [];
359
+ const jitterMeasurements: number[] = [];
290
360
 
291
361
  if (sample.certificates) {
292
362
  for (const certificate of sample.certificates) {
@@ -300,7 +370,14 @@ export class ObservedPeerConnection extends EventEmitter {
300
370
  }
301
371
  if (sample.dataChannels) {
302
372
  for (const dataChannel of sample.dataChannels) {
303
- this._updateDataChannelStats(dataChannel);
373
+ const observedDataChannel = this._updateDataChannelStats(dataChannel);
374
+
375
+ if (!observedDataChannel) continue;
376
+
377
+ this.deltaDataChannelBytesSent += observedDataChannel.deltaBytesSent;
378
+ this.deltaDataChannelBytesReceived += observedDataChannel.deltaBytesReceived;
379
+ this.deltaDataChannelMessagesSent += observedDataChannel.deltaMessagesSent;
380
+ this.deltaDataChannelMessagesReceived += observedDataChannel.deltaMessagesReceived;
304
381
  }
305
382
  }
306
383
  if (sample.iceCandidates) {
@@ -310,12 +387,29 @@ export class ObservedPeerConnection extends EventEmitter {
310
387
  }
311
388
  if (sample.iceCandidatePairs) {
312
389
  for (const iceCandidatePair of sample.iceCandidatePairs) {
313
- this._updateIceCandidatePairStats(iceCandidatePair);
390
+ const observedCandidatePair = this._updateIceCandidatePairStats(iceCandidatePair);
391
+
392
+ if (!observedCandidatePair) continue;
393
+
394
+ if (observedCandidatePair.currentRoundTripTime) {
395
+ rttMeasurementsInSec.push(observedCandidatePair.currentRoundTripTime);
396
+ }
397
+ if (observedCandidatePair.availableIncomingBitrate) {
398
+ this.availableIncomingBitrate += observedCandidatePair.availableIncomingBitrate;
399
+ }
400
+ if (observedCandidatePair.availableOutgoingBitrate) {
401
+ this.availableOutgoingBitrate += observedCandidatePair.availableOutgoingBitrate;
402
+ }
314
403
  }
315
404
  }
316
405
  if (sample.iceTransports) {
317
406
  for (const iceTransport of sample.iceTransports) {
318
- this._updateIceTransportStats(iceTransport);
407
+ const observedIceTransport = this._updateIceTransportStats(iceTransport);
408
+
409
+ if (!observedIceTransport) return;
410
+
411
+ observedIceTransport.bytesReceived;
412
+
319
413
  }
320
414
  }
321
415
  if (sample.inboundRtps) {
@@ -338,6 +432,10 @@ export class ObservedPeerConnection extends EventEmitter {
338
432
  this.deltaReceivedVideoPackets += observedInboundRtp.deltaReceivedPackets;
339
433
  break;
340
434
  }
435
+
436
+ if (observedInboundRtp.jitter) {
437
+ jitterMeasurements.push(observedInboundRtp.jitter);
438
+ }
341
439
  }
342
440
  }
343
441
  if (sample.mediaPlayouts) {
@@ -374,12 +472,21 @@ export class ObservedPeerConnection extends EventEmitter {
374
472
  }
375
473
  if (sample.peerConnectionTransports) {
376
474
  for (const peerConnectionTransport of sample.peerConnectionTransports) {
377
- this._updatePeerConnectionTransportStats(peerConnectionTransport);
475
+ const observedTransport = this._updatePeerConnectionTransportStats(peerConnectionTransport);
476
+
477
+ if (!observedTransport) continue;
478
+
378
479
  }
379
480
  }
380
481
  if (sample.remoteInboundRtps) {
381
482
  for (const remoteInboundRtp of sample.remoteInboundRtps) {
382
- this._updateRemoteInboundRtpStats(remoteInboundRtp);
483
+ const observedRemoteInboundRtp = this._updateRemoteInboundRtpStats(remoteInboundRtp);
484
+
485
+ if (!observedRemoteInboundRtp) continue;
486
+
487
+ if (observedRemoteInboundRtp.roundTripTime) {
488
+ rttMeasurementsInSec.push(observedRemoteInboundRtp.roundTripTime);
489
+ }
383
490
  }
384
491
  }
385
492
  if (sample.remoteOutboundRtps) {
@@ -408,6 +515,8 @@ export class ObservedPeerConnection extends EventEmitter {
408
515
  this.totalOutboundPacketsSent += this.deltaOutboundPacketsSent;
409
516
  this.totalDataChannelBytesSent += this.deltaDataChannelBytesSent;
410
517
  this.totalDataChannelBytesReceived += this.deltaDataChannelBytesReceived;
518
+ this.totalDataChannelMessagesSent += this.deltaDataChannelMessagesSent;
519
+ this.totalDataChannelMessagesReceived += this.deltaDataChannelMessagesReceived;
411
520
  this.totalReceivedAudioBytes += this.deltaReceivedAudioBytes;
412
521
  this.totalReceivedVideoBytes += this.deltaReceivedVideoBytes;
413
522
  this.totalSentAudioBytes += this.deltaSentAudioBytes;
@@ -419,20 +528,55 @@ export class ObservedPeerConnection extends EventEmitter {
419
528
 
420
529
  this.receivingPacketsPerSecond = this.deltaInboundPacketsReceived / elapsedTimeInSec;
421
530
  this.sendingPacketsPerSecond = this.deltaOutboundPacketsSent / elapsedTimeInSec;
422
- this.sendingAudioBitrate = this.deltaSentAudioBytes * 8 / elapsedTimeInSec;
423
- this.sendingVideoBitrate = this.deltaSentVideoBytes * 8 / elapsedTimeInSec;
424
- this.receivingAudioBitrate = this.deltaReceivedAudioBytes * 8 / elapsedTimeInSec;
425
- this.receivingVideoBitrate = this.deltaReceivedVideoBytes * 8 / elapsedTimeInSec;
426
-
531
+ this.sendingAudioBitrate = (this.deltaSentAudioBytes * 8) / elapsedTimeInSec;
532
+ this.sendingVideoBitrate = (this.deltaSentVideoBytes * 8) / elapsedTimeInSec;
533
+ this.receivingAudioBitrate = (this.deltaReceivedAudioBytes * 8) / elapsedTimeInSec;
534
+ this.receivingVideoBitrate = (this.deltaReceivedVideoBytes * 8) / elapsedTimeInSec;
535
+
536
+ if (rttMeasurementsInSec.length > 0) {
537
+ this.currentRttInMs = getMedian(rttMeasurementsInSec, false) * 1000;
538
+ } else {
539
+ this.currentRttInMs = undefined;
540
+ }
541
+ if (jitterMeasurements.length > 0) {
542
+ this.currentJitter = getMedian(jitterMeasurements, false);
543
+ } else {
544
+ this.currentJitter = undefined;
545
+ }
546
+ const wasUsingTURN = this.usingTURN;
427
547
  const selectedIceCandidatePairs = this.selectedIceCandidatePairs;
548
+ const selectedCandidatePairForTurn: ObservedIceCandidatePair[] = [];
549
+
550
+ this.usingTCP = false;
551
+ this.usingTURN = false;
428
552
 
429
- this.usingTCP = selectedIceCandidatePairs.some((pair) => pair.getLocalCandidate()?.protocol === 'tcp');
430
- this.usingTURN = selectedIceCandidatePairs.some((pair) => pair.getLocalCandidate()?.candidateType === 'relay') &&
431
- selectedIceCandidatePairs.some((pair) => pair.getRemoteCandidate()?.url?.startsWith('turn:'));
553
+ for (const selectedCandidatePair of selectedIceCandidatePairs) {
554
+ if (selectedCandidatePair.getLocalCandidate()?.protocol === 'tcp') {
555
+ this.usingTCP = true;
556
+ }
557
+ if (selectedCandidatePair.getLocalCandidate()?.candidateType === 'relay' && selectedCandidatePair.getRemoteCandidate()?.url?.startsWith('turn:')) {
558
+ selectedCandidatePairForTurn.push(selectedCandidatePair);
559
+ this.usingTURN = true;
560
+ }
561
+ this.deltaTransportReceivedBytes += selectedCandidatePair.deltaBytesReceived;
562
+ this.deltaTransportSentBytes += selectedCandidatePair.deltaBytesSent;
563
+ }
432
564
 
565
+ if (this.usingTURN) {
566
+ if (!this.observedTurnServer) {
567
+ this.observedTurnServer = this.client.call.observer.observedTURN.addPeerConnection(this);
568
+ }
569
+ this.observedTurnServer?.updateTurnUsage(...selectedCandidatePairForTurn);
570
+ } else if (wasUsingTURN) {
571
+ if (!this.usingTURN) {
572
+ this.client.call.observer.observedTURN.removePeerConnection(this);
573
+ }
574
+ }
433
575
  this.calculatedScore.value = sample.score;
434
576
  this.updated = now;
435
577
  this._checkVisited();
578
+
579
+ this.emit('update');
436
580
  }
437
581
 
438
582
  private _checkVisited() {
@@ -540,12 +684,15 @@ export class ObservedPeerConnection extends EventEmitter {
540
684
 
541
685
  observedCertificate = new ObservedCertificate(stats.timestamp, stats.id, this);
542
686
 
687
+ observedCertificate.update(stats);
688
+
543
689
  this.observedCertificates.set(stats.id, observedCertificate);
544
690
  this.emit('added-certificate', observedCertificate);
691
+ } else {
692
+ observedCertificate.update(stats);
693
+ this.emit('updated-certificate', observedCertificate);
545
694
  }
546
695
 
547
- observedCertificate.update(stats);
548
-
549
696
  return observedCertificate;
550
697
  }
551
698
 
@@ -562,11 +709,14 @@ export class ObservedPeerConnection extends EventEmitter {
562
709
 
563
710
  observedCodec = new ObservedCodec(stats.timestamp, stats.id, stats.mimeType, this);
564
711
 
712
+ observedCodec.update(stats);
713
+
565
714
  this.observedCodecs.set(stats.id, observedCodec);
566
715
  this.emit('added-codec', observedCodec);
716
+ } else {
717
+ observedCodec.update(stats);
567
718
  }
568
-
569
- observedCodec.update(stats);
719
+ this.emit('updated-codec', observedCodec);
570
720
 
571
721
  return observedCodec;
572
722
  }
@@ -584,11 +734,14 @@ export class ObservedPeerConnection extends EventEmitter {
584
734
 
585
735
  observedDataChannel = new ObservedDataChannel(stats.timestamp, stats.id, this);
586
736
 
737
+ observedDataChannel.update(stats);
738
+
587
739
  this.observedDataChannels.set(stats.id, observedDataChannel);
588
740
  this.emit('added-data-channel', observedDataChannel);
741
+ } else {
742
+ observedDataChannel.update(stats);
589
743
  }
590
-
591
- observedDataChannel.update(stats);
744
+ this.emit('updated-data-channel', observedDataChannel);
592
745
 
593
746
  return observedDataChannel;
594
747
  }
@@ -606,11 +759,14 @@ export class ObservedPeerConnection extends EventEmitter {
606
759
 
607
760
  observedIceCandidate = new ObservedIceCandidate(stats.timestamp, stats.id, this);
608
761
 
762
+ observedIceCandidate.update(stats);
763
+
609
764
  this.observedIceCandidates.set(stats.id, observedIceCandidate);
610
765
  this.emit('added-ice-candidate', observedIceCandidate);
766
+ } else {
767
+ observedIceCandidate.update(stats);
611
768
  }
612
-
613
- observedIceCandidate.update(stats);
769
+ this.emit('updated-ice-candidate', observedIceCandidate);
614
770
 
615
771
  return observedIceCandidate;
616
772
  }
@@ -628,11 +784,14 @@ export class ObservedPeerConnection extends EventEmitter {
628
784
 
629
785
  observedIceCandidatePair = new ObservedIceCandidatePair(stats.timestamp, stats.id, this);
630
786
 
787
+ observedIceCandidatePair.update(stats);
788
+
631
789
  this.observedIceCandidatesPair.set(stats.id, observedIceCandidatePair);
632
790
  this.emit('added-ice-candidate-pair', observedIceCandidatePair);
791
+ } else {
792
+ observedIceCandidatePair.update(stats);
633
793
  }
634
-
635
- observedIceCandidatePair.update(stats);
794
+ this.emit('updated-ice-candidate-pair', observedIceCandidatePair);
636
795
 
637
796
  return observedIceCandidatePair;
638
797
  }
@@ -650,11 +809,14 @@ export class ObservedPeerConnection extends EventEmitter {
650
809
 
651
810
  observedIceTransport = new ObservedIceTransport(stats.timestamp, stats.id, this);
652
811
 
812
+ observedIceTransport.update(stats);
813
+
653
814
  this.observedIceTransports.set(stats.id, observedIceTransport);
654
815
  this.emit('added-ice-transport', observedIceTransport);
816
+ } else {
817
+ observedIceTransport.update(stats);
655
818
  }
656
-
657
- observedIceTransport.update(stats);
819
+ this.emit('updated-ice-transport', observedIceTransport);
658
820
 
659
821
  return observedIceTransport;
660
822
  }
@@ -678,12 +840,15 @@ export class ObservedPeerConnection extends EventEmitter {
678
840
  stats.trackIdentifier,
679
841
  this
680
842
  );
843
+
844
+ observedInboundRtp.update(stats);
681
845
 
682
846
  this.observedInboundRtps.set(stats.ssrc, observedInboundRtp);
683
847
  this.emit('added-inbound-rtp', observedInboundRtp);
848
+ } else {
849
+ observedInboundRtp.update(stats);
684
850
  }
685
-
686
- observedInboundRtp.update(stats);
851
+ this.emit('updated-inbound-rtp', observedInboundRtp);
687
852
 
688
853
  return observedInboundRtp;
689
854
  }
@@ -712,11 +877,14 @@ export class ObservedPeerConnection extends EventEmitter {
712
877
  mediaPlayout,
713
878
  );
714
879
 
880
+ observedInboundTrack.update(stats);
881
+
715
882
  this.observedInboundTracks.set(stats.id, observedInboundTrack);
716
883
  this.emit('added-inbound-track', observedInboundTrack);
884
+ } else {
885
+ observedInboundTrack.update(stats);
717
886
  }
718
-
719
- observedInboundTrack.update(stats);
887
+ this.emit('updated-inbound-track', observedInboundTrack);
720
888
 
721
889
  return observedInboundTrack;
722
890
  }
@@ -739,11 +907,14 @@ export class ObservedPeerConnection extends EventEmitter {
739
907
  this
740
908
  );
741
909
 
910
+ observedMediaPlayout.update(stats);
911
+
742
912
  this.observedMediaPlayouts.set(stats.id, observedMediaPlayout);
743
913
  this.emit('added-media-playout', observedMediaPlayout);
914
+ } else {
915
+ observedMediaPlayout.update(stats);
744
916
  }
745
-
746
- observedMediaPlayout.update(stats);
917
+ this.emit('updated-media-playout', observedMediaPlayout);
747
918
 
748
919
  return observedMediaPlayout;
749
920
  }
@@ -766,11 +937,14 @@ export class ObservedPeerConnection extends EventEmitter {
766
937
  this
767
938
  );
768
939
 
940
+ observedMediaSource.update(stats);
941
+
769
942
  this.observedMediaSources.set(stats.id, observedMediaSource);
770
943
  this.emit('added-media-source', observedMediaSource);
944
+ } else {
945
+ observedMediaSource.update(stats);
771
946
  }
772
-
773
- observedMediaSource.update(stats);
947
+ this.emit('updated-media-source', observedMediaSource);
774
948
 
775
949
  return observedMediaSource;
776
950
  }
@@ -794,11 +968,14 @@ export class ObservedPeerConnection extends EventEmitter {
794
968
  this
795
969
  );
796
970
 
971
+ observedOutboundRtp.update(stats);
972
+
797
973
  this.observedOutboundRtps.set(stats.ssrc, observedOutboundRtp);
798
974
  this.emit('added-outbound-rtp', observedOutboundRtp);
975
+ } else {
976
+ observedOutboundRtp.update(stats);
799
977
  }
800
-
801
- observedOutboundRtp.update(stats);
978
+ this.emit('updated-outbound-rtp', observedOutboundRtp);
802
979
 
803
980
  return observedOutboundRtp;
804
981
  }
@@ -826,11 +1003,14 @@ export class ObservedPeerConnection extends EventEmitter {
826
1003
  observedMediaSource,
827
1004
  );
828
1005
 
1006
+ observedOutboundTrack.update(stats);
1007
+
829
1008
  this.observedOutboundTracks.set(stats.id, observedOutboundTrack);
830
1009
  this.emit('added-outbound-track', observedOutboundTrack);
1010
+ } else {
1011
+ observedOutboundTrack.update(stats);
831
1012
  }
832
-
833
- observedOutboundTrack.update(stats);
1013
+ this.emit('updated-outbound-track', observedOutboundTrack);
834
1014
 
835
1015
  return observedOutboundTrack;
836
1016
  }
@@ -848,11 +1028,14 @@ export class ObservedPeerConnection extends EventEmitter {
848
1028
 
849
1029
  observedPeerConnectionTransport = new ObservedPeerConnectionTransport(stats.timestamp, stats.id, this);
850
1030
 
1031
+ observedPeerConnectionTransport.update(stats);
1032
+
851
1033
  this.observedPeerConnectionTransports.set(stats.id, observedPeerConnectionTransport);
852
1034
  this.emit('added-peer-connection-transport', observedPeerConnectionTransport);
1035
+ } else {
1036
+ observedPeerConnectionTransport.update(stats);
853
1037
  }
854
-
855
- observedPeerConnectionTransport.update(stats);
1038
+ this.emit('updated-peer-connection-transport', observedPeerConnectionTransport);
856
1039
 
857
1040
  return observedPeerConnectionTransport;
858
1041
  }
@@ -876,11 +1059,14 @@ export class ObservedPeerConnection extends EventEmitter {
876
1059
  this
877
1060
  );
878
1061
 
1062
+ observedRemoteInboundRtp.update(stats);
1063
+
879
1064
  this.observedRemoteInboundRtps.set(stats.ssrc, observedRemoteInboundRtp);
880
1065
  this.emit('added-remote-inbound-rtp', observedRemoteInboundRtp);
1066
+ } else {
1067
+ observedRemoteInboundRtp.update(stats);
881
1068
  }
882
-
883
- observedRemoteInboundRtp.update(stats);
1069
+ this.emit('updated-remote-inbound-rtp', observedRemoteInboundRtp);
884
1070
 
885
1071
  return observedRemoteInboundRtp;
886
1072
  }
@@ -904,11 +1090,14 @@ export class ObservedPeerConnection extends EventEmitter {
904
1090
  this
905
1091
  );
906
1092
 
1093
+ observedRemoteOutboundRtp.update(stats);
1094
+
907
1095
  this.observedRemoteOutboundRtps.set(stats.ssrc, observedRemoteOutboundRtp);
908
1096
  this.emit('added-remote-outbound-rtp', observedRemoteOutboundRtp);
1097
+ } else {
1098
+ observedRemoteOutboundRtp.update(stats);
909
1099
  }
910
-
911
- observedRemoteOutboundRtp.update(stats);
1100
+ this.emit('updated-remote-outbound-rtp', observedRemoteOutboundRtp);
912
1101
 
913
1102
  return observedRemoteOutboundRtp;
914
1103
  }
@@ -1,5 +1,5 @@
1
1
  import { ObservedPeerConnection } from './ObservedPeerConnection';
2
- import { PeerConnectionTransportStats } from './schema/ClientSample';
2
+ import { PeerConnectionTransportStats } from '../schema/ClientSample';
3
3
 
4
4
  export class ObservedPeerConnectionTransport implements PeerConnectionTransportStats {
5
5
  private _visited = false;
@@ -1,6 +1,6 @@
1
- import { MediaKind } from './common/types';
1
+ import { MediaKind } from '../common/types';
2
2
  import { ObservedPeerConnection } from './ObservedPeerConnection';
3
- import { RemoteInboundRtpStats } from './schema/ClientSample';
3
+ import { RemoteInboundRtpStats } from '../schema/ClientSample';
4
4
 
5
5
  export class ObservedRemoteInboundRtp implements RemoteInboundRtpStats {
6
6
  private _visited = false;
@@ -1,6 +1,6 @@
1
- import { MediaKind } from './common/types';
1
+ import { MediaKind } from '../common/types';
2
2
  import { ObservedPeerConnection } from './ObservedPeerConnection';
3
- import { RemoteOutboundRtpStats } from './schema/ClientSample';
3
+ import { RemoteOutboundRtpStats } from '../schema/ClientSample';
4
4
 
5
5
  export class ObservedRemoteOutboundRtp implements RemoteOutboundRtpStats {
6
6
  private _visited = false;
package/tsconfig.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "compileOnSave": true,
3
3
  "compilerOptions":
4
4
  {
5
- "lib": [ "ES2020" ],
5
+ "lib": [ "ES2020", "dom" ],
6
6
  "target": "ESNext",
7
7
  "module": "CommonJS",
8
8
  "moduleResolution": "node",
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObservedCertificate.d.ts","sourceRoot":"","sources":["../src/ObservedCertificate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,qBAAa,mBAAoB,YAAW,gBAAgB;IAYnD,SAAS,EAAE,MAAM;IACjB,EAAE,EAAE,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAb1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC,OAAO,CAAC,QAAQ,CAAS;IAEzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAG9B,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACA,eAAe,EAAE,sBAAsB;IAGzD,IAAW,OAAO,YAMjB;IAEM,iBAAiB;IAIjB,MAAM,CAAC,KAAK,EAAE,gBAAgB;CAUrC"}
@@ -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 +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;IAgBnD,SAAS,EAAE,MAAM;IACjB,EAAE,EAAE,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAjBjC,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,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;CAarC"}
@@ -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 +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;IA6B7D,SAAS,EAAE,MAAM;IACjB,EAAE,EAAE,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,eAAe;IA9BjC,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;gBAG1C,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;CA6B1C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObservedIceTransport.d.ts","sourceRoot":"","sources":["../src/ObservedIceTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,qBAAa,oBAAqB,YAAW,iBAAiB;IAuBrD,SAAS,EAAE,MAAM;IACjB,EAAE,EAAE,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAxBjC,OAAO,CAAC,QAAQ,CAAS;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC,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,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,4BAA4B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,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,wBAAwB;IAIxB,MAAM,CAAC,KAAK,EAAE,iBAAiB;CAsBtC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObservedInboundRtp.d.ts","sourceRoot":"","sources":["../src/ObservedInboundRtp.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObservedInboundTrack.d.ts","sourceRoot":"","sources":["../src/ObservedInboundTrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,oBAAqB,YAAW,kBAAkB;IAatD,SAAS,EAAE,MAAM;aACR,EAAE,EAAE,MAAM;aACV,IAAI,EAAE,SAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAjBhC,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,eAAe,EAAE,eAAe,CAG9C;IACK,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC,OAAO,CAAC,QAAQ,CAAS;IAEzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;gBAG1C,SAAS,EAAE,MAAM,EACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,SAAS,EACd,eAAe,EAAE,sBAAsB,EACvC,WAAW,CAAC,gCAAoB,EAChC,aAAa,CAAC,kCAAsB;IAKtD,IAAW,KAAK,uBAEf;IAED,IAAW,OAAO,YAMjB;IAEM,iBAAiB;IAIjB,aAAa;IAIb,eAAe;IAIf,sBAAsB;IAItB,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;CAU9C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObservedMediaPlayout.d.ts","sourceRoot":"","sources":["../src/ObservedMediaPlayout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,qBAAa,oBAAqB,YAAW,iBAAiB;IAYrD,SAAS,EAAE,MAAM;IACjB,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,SAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAdjC,OAAO,CAAC,QAAQ,CAAS;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC,0BAA0B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;gBAG1C,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,SAAS,EACL,eAAe,EAAE,sBAAsB;IAGzD,IAAW,OAAO,YAMjB;IAEM,iBAAiB;IAMjB,MAAM,CAAC,KAAK,EAAE,iBAAiB;CAYtC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObservedMediaSource.d.ts","sourceRoot":"","sources":["../src/ObservedMediaSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,qBAAa,mBAAoB,YAAW,gBAAgB;IAiBnD,SAAS,EAAE,MAAM;IACjB,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,SAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAnBjC,OAAO,CAAC,QAAQ,CAAS;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,yBAAyB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;gBAG1C,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,SAAS,EACL,eAAe,EAAE,sBAAsB;IAGzD,IAAW,OAAO,YAMjB;IAEM,iBAAiB;IAIjB,QAAQ;IAIR,MAAM,CAAC,KAAK,EAAE,gBAAgB;CAgBrC"}