@observertc/observer-js 0.42.8 → 1.0.1-198a187.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 (295) hide show
  1. package/.prettierrc +6 -6
  2. package/README.md +0 -104
  3. package/lib/ObservedCall.d.ts +63 -43
  4. package/lib/ObservedCall.d.ts.map +1 -1
  5. package/lib/ObservedCall.js +188 -108
  6. package/lib/ObservedCallEventMonitor.d.ts +104 -0
  7. package/lib/ObservedCallEventMonitor.d.ts.map +1 -0
  8. package/lib/ObservedCallEventMonitor.js +314 -0
  9. package/lib/ObservedCallSummary.d.ts +18 -0
  10. package/lib/ObservedCallSummary.d.ts.map +1 -0
  11. package/lib/ObservedCertificate.d.ts +19 -0
  12. package/lib/ObservedCertificate.d.ts.map +1 -0
  13. package/lib/ObservedCertificate.js +38 -0
  14. package/lib/ObservedClient.d.ts +80 -130
  15. package/lib/ObservedClient.d.ts.map +1 -1
  16. package/lib/ObservedClient.js +584 -744
  17. package/lib/ObservedClientEventMonitor.d.ts +89 -0
  18. package/lib/ObservedClientEventMonitor.d.ts.map +1 -0
  19. package/lib/ObservedClientEventMonitor.js +247 -0
  20. package/lib/ObservedClientSummary.d.ts +23 -0
  21. package/lib/ObservedClientSummary.d.ts.map +1 -0
  22. package/lib/ObservedClientSummary.js +2 -0
  23. package/lib/ObservedCodec.d.ts +22 -0
  24. package/lib/ObservedCodec.d.ts.map +1 -0
  25. package/lib/ObservedCodec.js +45 -0
  26. package/lib/ObservedDataChannel.d.ts +25 -69
  27. package/lib/ObservedDataChannel.d.ts.map +1 -1
  28. package/lib/ObservedDataChannel.js +69 -109
  29. package/lib/ObservedIceCandidate.d.ts +29 -0
  30. package/lib/ObservedIceCandidate.d.ts.map +1 -0
  31. package/lib/ObservedIceCandidate.js +59 -0
  32. package/lib/ObservedIceCandidatePair.d.ts +45 -0
  33. package/lib/ObservedIceCandidatePair.d.ts.map +1 -0
  34. package/lib/ObservedIceCandidatePair.js +127 -0
  35. package/lib/ObservedIceTransport.d.ts +36 -0
  36. package/lib/ObservedIceTransport.d.ts.map +1 -0
  37. package/lib/ObservedIceTransport.js +93 -0
  38. package/lib/ObservedInboundRtp.d.ts +92 -0
  39. package/lib/ObservedInboundRtp.d.ts.map +1 -0
  40. package/lib/ObservedInboundRtp.js +193 -0
  41. package/lib/ObservedInboundTrack.d.ts +32 -0
  42. package/lib/ObservedInboundTrack.d.ts.map +1 -0
  43. package/lib/ObservedInboundTrack.js +60 -0
  44. package/lib/ObservedMediaPlayout.d.ts +22 -0
  45. package/lib/ObservedMediaPlayout.d.ts.map +1 -0
  46. package/lib/ObservedMediaPlayout.js +42 -0
  47. package/lib/ObservedMediaSource.d.ts +28 -0
  48. package/lib/ObservedMediaSource.d.ts.map +1 -0
  49. package/lib/ObservedMediaSource.js +55 -0
  50. package/lib/ObservedOutboundRtp.d.ts +62 -0
  51. package/lib/ObservedOutboundRtp.d.ts.map +1 -0
  52. package/lib/ObservedOutboundRtp.js +144 -0
  53. package/lib/ObservedOutboundTrack.d.ts +32 -0
  54. package/lib/ObservedOutboundTrack.d.ts.map +1 -0
  55. package/lib/ObservedOutboundTrack.js +60 -0
  56. package/lib/ObservedPeerConnection.d.ts +154 -80
  57. package/lib/ObservedPeerConnection.d.ts.map +1 -1
  58. package/lib/ObservedPeerConnection.js +709 -357
  59. package/lib/ObservedPeerConnectionTransport.d.ts +17 -0
  60. package/lib/ObservedPeerConnectionTransport.d.ts.map +1 -0
  61. package/lib/ObservedPeerConnectionTransport.js +34 -0
  62. package/lib/ObservedRemoteInboundRtp.d.ts +30 -0
  63. package/lib/ObservedRemoteInboundRtp.d.ts.map +1 -0
  64. package/lib/ObservedRemoteInboundRtp.js +60 -0
  65. package/lib/ObservedRemoteOutboundRtp.d.ts +30 -0
  66. package/lib/ObservedRemoteOutboundRtp.d.ts.map +1 -0
  67. package/lib/ObservedRemoteOutboundRtp.js +60 -0
  68. package/lib/ObservedTURN.d.ts +31 -0
  69. package/lib/ObservedTURN.d.ts.map +1 -0
  70. package/lib/ObservedTURN.js +58 -0
  71. package/lib/ObservedTurnServer.d.ts +25 -0
  72. package/lib/ObservedTurnServer.d.ts.map +1 -0
  73. package/lib/ObservedTurnServer.js +59 -0
  74. package/lib/Observer.d.ts +49 -54
  75. package/lib/Observer.d.ts.map +1 -1
  76. package/lib/Observer.js +138 -225
  77. package/lib/ObserverEventMonitor.d.ts +138 -0
  78. package/lib/ObserverEventMonitor.d.ts.map +1 -0
  79. package/lib/ObserverEventMonitor.js +433 -0
  80. package/lib/ObserverSummary.d.ts +13 -0
  81. package/lib/ObserverSummary.d.ts.map +1 -0
  82. package/lib/ObserverSummary.js +2 -0
  83. package/lib/common/Middleware.d.ts +10 -1
  84. package/lib/common/Middleware.d.ts.map +1 -1
  85. package/lib/common/Middleware.js +55 -36
  86. package/lib/common/logger.d.ts +8 -4
  87. package/lib/common/logger.d.ts.map +1 -1
  88. package/lib/common/logger.js +44 -68
  89. package/lib/common/types.d.ts +0 -21
  90. package/lib/common/types.d.ts.map +1 -1
  91. package/lib/common/types.js +1 -0
  92. package/lib/common/utils.d.ts +3 -1
  93. package/lib/common/utils.d.ts.map +1 -1
  94. package/lib/common/utils.js +23 -3
  95. package/lib/detectors/Detector.d.ts +5 -0
  96. package/lib/detectors/Detector.d.ts.map +1 -0
  97. package/lib/detectors/Detector.js +3 -0
  98. package/lib/detectors/Detectors.d.ts +11 -0
  99. package/lib/detectors/Detectors.d.ts.map +1 -0
  100. package/lib/detectors/Detectors.js +34 -0
  101. package/lib/index.d.ts +26 -24
  102. package/lib/index.d.ts.map +1 -1
  103. package/lib/index.js +45 -41
  104. package/lib/monitors/TurnUsageMonitor.d.ts +0 -52
  105. package/lib/monitors/TurnUsageMonitor.d.ts.map +1 -1
  106. package/lib/monitors/TurnUsageMonitor.js +145 -120
  107. package/lib/schema/ClientEventTypes.d.ts +228 -0
  108. package/lib/schema/ClientEventTypes.d.ts.map +1 -0
  109. package/lib/schema/ClientEventTypes.js +41 -0
  110. package/lib/schema/ClientMetaTypes.d.ts +34 -0
  111. package/lib/schema/ClientMetaTypes.d.ts.map +1 -0
  112. package/lib/schema/ClientMetaTypes.js +16 -0
  113. package/lib/schema/ClientSample.d.ts +1333 -0
  114. package/lib/schema/ClientSample.d.ts.map +1 -0
  115. package/lib/schema/ClientSample.js +4 -0
  116. package/lib/scores/CalculatedScore.d.ts +6 -0
  117. package/lib/scores/CalculatedScore.d.ts.map +1 -0
  118. package/lib/scores/CalculatedScore.js +2 -0
  119. package/lib/scores/DefaultCallScoreCalculator.d.ts +7 -0
  120. package/lib/scores/DefaultCallScoreCalculator.d.ts.map +1 -0
  121. package/lib/scores/DefaultCallScoreCalculator.js +21 -0
  122. package/lib/scores/ScoreCalculator.d.ts +4 -0
  123. package/lib/scores/ScoreCalculator.d.ts.map +1 -0
  124. package/lib/scores/ScoreCalculator.js +2 -0
  125. package/lib/updaters/CallUpdater.d.ts +5 -0
  126. package/lib/updaters/CallUpdater.d.ts.map +1 -0
  127. package/lib/updaters/CallUpdater.js +2 -0
  128. package/lib/updaters/ObserverUpdater.d.ts +5 -0
  129. package/lib/updaters/ObserverUpdater.d.ts.map +1 -0
  130. package/lib/updaters/ObserverUpdater.js +2 -0
  131. package/lib/updaters/OnAllCallObserverUpdater.d.ts +15 -0
  132. package/lib/updaters/OnAllCallObserverUpdater.d.ts.map +1 -0
  133. package/lib/updaters/OnAllCallObserverUpdater.js +50 -0
  134. package/lib/updaters/OnAllClientCallUpdater.d.ts +15 -0
  135. package/lib/updaters/OnAllClientCallUpdater.d.ts.map +1 -0
  136. package/lib/updaters/OnAllClientCallUpdater.js +53 -0
  137. package/lib/updaters/OnAnyCallObserverUpdater.d.ts +12 -0
  138. package/lib/updaters/OnAnyCallObserverUpdater.d.ts.map +1 -0
  139. package/lib/updaters/OnAnyCallObserverUpdater.js +37 -0
  140. package/lib/updaters/OnAnyClientCallUpdater.d.ts +12 -0
  141. package/lib/updaters/OnAnyClientCallUpdater.d.ts.map +1 -0
  142. package/lib/updaters/OnAnyClientCallUpdater.js +36 -0
  143. package/lib/updaters/OnIntervalUpdater.d.ts +10 -0
  144. package/lib/updaters/OnIntervalUpdater.d.ts.map +1 -0
  145. package/lib/updaters/OnIntervalUpdater.js +17 -0
  146. package/lib/updaters/Updater.d.ts +6 -0
  147. package/lib/updaters/Updater.d.ts.map +1 -0
  148. package/lib/updaters/Updater.js +2 -0
  149. package/lib/utils/MediasoupRemoteTrackResolver.d.ts +25 -0
  150. package/lib/utils/MediasoupRemoteTrackResolver.d.ts.map +1 -0
  151. package/lib/utils/MediasoupRemoteTrackResolver.js +110 -0
  152. package/lib/utils/RemoteTrackResolver.d.ts +7 -0
  153. package/lib/utils/RemoteTrackResolver.d.ts.map +1 -0
  154. package/lib/utils/RemoteTrackResolver.js +2 -0
  155. package/package.json +4 -4
  156. package/src/ObservedCall.ts +276 -164
  157. package/src/ObservedCallEventMonitor.ts +392 -0
  158. package/src/ObservedCallSummary.ts +22 -0
  159. package/src/ObservedCertificate.ts +43 -0
  160. package/src/ObservedClient.ts +630 -1006
  161. package/src/ObservedClientEventMonitor.ts +301 -0
  162. package/src/ObservedClientSummary.ts +24 -0
  163. package/src/ObservedCodec.ts +49 -0
  164. package/src/ObservedDataChannel.ts +71 -181
  165. package/src/ObservedIceCandidate.ts +64 -0
  166. package/src/ObservedIceCandidatePair.ts +134 -0
  167. package/src/ObservedIceTransport.ts +99 -0
  168. package/src/ObservedInboundRtp.ts +205 -0
  169. package/src/ObservedInboundTrack.ts +75 -0
  170. package/src/ObservedMediaPlayout.ts +49 -0
  171. package/src/ObservedMediaSource.ts +60 -0
  172. package/src/ObservedOutboundRtp.ts +156 -0
  173. package/src/ObservedOutboundTrack.ts +74 -0
  174. package/src/ObservedPeerConnection.ts +917 -402
  175. package/src/ObservedPeerConnectionTransport.ts +38 -0
  176. package/src/ObservedRemoteInboundRtp.ts +64 -0
  177. package/src/ObservedRemoteOutboundRtp.ts +65 -0
  178. package/src/ObservedTURN.ts +86 -0
  179. package/src/ObservedTurnServer.ts +72 -0
  180. package/src/Observer.ts +187 -296
  181. package/src/ObserverEventMonitor.ts +551 -0
  182. package/src/ObserverSummary.ts +15 -0
  183. package/src/common/Middleware.ts +70 -42
  184. package/src/common/logger.ts +60 -69
  185. package/src/common/types.ts +0 -42
  186. package/src/common/utils.ts +24 -2
  187. package/src/detectors/Detector.ts +6 -0
  188. package/src/detectors/Detectors.ts +38 -0
  189. package/src/index.ts +26 -88
  190. package/src/monitors/TurnUsageMonitor.ts +164 -164
  191. package/src/schema/ClientEventTypes.ts +280 -0
  192. package/src/schema/ClientMetaTypes.ts +41 -0
  193. package/src/schema/ClientSample.ts +1682 -0
  194. package/src/scores/CalculatedScore.ts +6 -0
  195. package/src/scores/DefaultCallScoreCalculator.ts +23 -0
  196. package/src/scores/ScoreCalculator.ts +3 -0
  197. package/src/updaters/CallUpdater.ts +5 -0
  198. package/src/updaters/ObserverUpdater.ts +5 -0
  199. package/src/updaters/OnAllCallObserverUpdater.ts +59 -0
  200. package/src/updaters/OnAllClientCallUpdater.ts +61 -0
  201. package/src/updaters/OnAnyCallObserverUpdater.ts +41 -0
  202. package/src/updaters/OnAnyClientCallUpdater.ts +39 -0
  203. package/src/updaters/OnIntervalUpdater.ts +19 -0
  204. package/src/updaters/Updater.ts +5 -0
  205. package/src/utils/MediasoupRemoteTrackResolver.ts +155 -0
  206. package/src/utils/RemoteTrackResolver.ts +12 -0
  207. package/tsconfig.json +3 -3
  208. package/lib/ObservedICE.d.ts +0 -64
  209. package/lib/ObservedICE.d.ts.map +0 -1
  210. package/lib/ObservedICE.js +0 -141
  211. package/lib/ObservedInboundAudioTrack.d.ts +0 -96
  212. package/lib/ObservedInboundAudioTrack.d.ts.map +0 -1
  213. package/lib/ObservedInboundAudioTrack.js +0 -217
  214. package/lib/ObservedInboundVideoTrack.d.ts +0 -101
  215. package/lib/ObservedInboundVideoTrack.d.ts.map +0 -1
  216. package/lib/ObservedInboundVideoTrack.js +0 -232
  217. package/lib/ObservedOutboundAudioTrack.d.ts +0 -87
  218. package/lib/ObservedOutboundAudioTrack.d.ts.map +0 -1
  219. package/lib/ObservedOutboundAudioTrack.js +0 -186
  220. package/lib/ObservedOutboundVideoTrack.d.ts +0 -91
  221. package/lib/ObservedOutboundVideoTrack.d.ts.map +0 -1
  222. package/lib/ObservedOutboundVideoTrack.js +0 -193
  223. package/lib/ObservedSfu.d.ts +0 -59
  224. package/lib/ObservedSfu.d.ts.map +0 -1
  225. package/lib/ObservedSfu.js +0 -157
  226. package/lib/ObservedSfuInboundRtpPad.d.ts +0 -42
  227. package/lib/ObservedSfuInboundRtpPad.d.ts.map +0 -1
  228. package/lib/ObservedSfuInboundRtpPad.js +0 -71
  229. package/lib/ObservedSfuOutboundRtpPad.d.ts +0 -42
  230. package/lib/ObservedSfuOutboundRtpPad.d.ts.map +0 -1
  231. package/lib/ObservedSfuOutboundRtpPad.js +0 -72
  232. package/lib/ObservedSfuSctpChannel.d.ts +0 -42
  233. package/lib/ObservedSfuSctpChannel.d.ts.map +0 -1
  234. package/lib/ObservedSfuSctpChannel.js +0 -57
  235. package/lib/ObservedSfuTransport.d.ts +0 -58
  236. package/lib/ObservedSfuTransport.d.ts.map +0 -1
  237. package/lib/ObservedSfuTransport.js +0 -120
  238. package/lib/RemoteTrackAssigner.d.ts +0 -14
  239. package/lib/RemoteTrackAssigner.d.ts.map +0 -1
  240. package/lib/RemoteTrackAssigner.js +0 -52
  241. package/lib/ReportsCollector.d.ts +0 -109
  242. package/lib/ReportsCollector.d.ts.map +0 -1
  243. package/lib/ReportsCollector.js +0 -207
  244. package/lib/common/CalculatedScore.d.ts +0 -80
  245. package/lib/common/CalculatedScore.d.ts.map +0 -1
  246. package/lib/common/CalculatedScore.js +0 -162
  247. package/lib/common/CallEventType.d.ts +0 -63
  248. package/lib/common/CallEventType.d.ts.map +0 -1
  249. package/lib/common/CallEventType.js +0 -39
  250. package/lib/common/CallMetaReports.d.ts +0 -42
  251. package/lib/common/CallMetaReports.d.ts.map +0 -1
  252. package/lib/common/CallMetaReports.js +0 -36
  253. package/lib/common/QualityScoreUtils.d.ts +0 -1
  254. package/lib/common/QualityScoreUtils.d.ts.map +0 -1
  255. package/lib/common/QualityScoreUtils.js +0 -1
  256. package/lib/common/TypedEventEmitter.d.ts +0 -22
  257. package/lib/common/TypedEventEmitter.d.ts.map +0 -1
  258. package/lib/common/TypedEventEmitter.js +0 -11
  259. package/lib/common/callEventReports.d.ts +0 -10
  260. package/lib/common/callEventReports.d.ts.map +0 -1
  261. package/lib/common/callEventReports.js +0 -112
  262. package/lib/monitors/CallSummary.d.ts +0 -37
  263. package/lib/monitors/CallSummary.d.ts.map +0 -1
  264. package/lib/monitors/CallSummaryMonitor.d.ts +0 -32
  265. package/lib/monitors/CallSummaryMonitor.d.ts.map +0 -1
  266. package/lib/monitors/CallSummaryMonitor.js +0 -152
  267. package/lib/monitors/ClientIssueMonitor.d.ts +0 -32
  268. package/lib/monitors/ClientIssueMonitor.d.ts.map +0 -1
  269. package/lib/monitors/ClientIssueMonitor.js +0 -49
  270. package/lib/monitors/SfuServerMonitor.d.ts +0 -79
  271. package/lib/monitors/SfuServerMonitor.d.ts.map +0 -1
  272. package/lib/monitors/SfuServerMonitor.js +0 -198
  273. package/src/ObservedICE.ts +0 -237
  274. package/src/ObservedInboundAudioTrack.ts +0 -344
  275. package/src/ObservedInboundVideoTrack.ts +0 -361
  276. package/src/ObservedOutboundAudioTrack.ts +0 -307
  277. package/src/ObservedOutboundVideoTrack.ts +0 -319
  278. package/src/ObservedSfu.ts +0 -231
  279. package/src/ObservedSfuInboundRtpPad.ts +0 -106
  280. package/src/ObservedSfuOutboundRtpPad.ts +0 -107
  281. package/src/ObservedSfuSctpChannel.ts +0 -103
  282. package/src/ObservedSfuTransport.ts +0 -185
  283. package/src/RemoteTrackAssigner.ts +0 -68
  284. package/src/ReportsCollector.ts +0 -336
  285. package/src/common/CalculatedScore.ts +0 -188
  286. package/src/common/CallEventType.ts +0 -69
  287. package/src/common/CallMetaReports.ts +0 -82
  288. package/src/common/QualityScoreUtils.ts +0 -0
  289. package/src/common/TypedEventEmitter.ts +0 -32
  290. package/src/common/callEventReports.ts +0 -178
  291. package/src/monitors/CallSummary.ts +0 -38
  292. package/src/monitors/CallSummaryMonitor.ts +0 -192
  293. package/src/monitors/ClientIssueMonitor.ts +0 -88
  294. package/src/monitors/SfuServerMonitor.ts +0 -285
  295. /package/lib/{monitors/CallSummary.js → ObservedCallSummary.js} +0 -0
package/lib/Observer.js CHANGED
@@ -1,255 +1,168 @@
1
1
  "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
3
  exports.Observer = void 0;
15
4
  const logger_1 = require("./common/logger");
16
5
  const ObservedCall_1 = require("./ObservedCall");
17
- const ReportsCollector_1 = require("./ReportsCollector");
18
6
  const events_1 = require("events");
19
- const callEventReports_1 = require("./common/callEventReports");
20
- const ObservedSfu_1 = require("./ObservedSfu");
21
- const CallSummaryMonitor_1 = require("./monitors/CallSummaryMonitor");
22
- const TurnUsageMonitor_1 = require("./monitors/TurnUsageMonitor");
23
- const ClientIssueMonitor_1 = require("./monitors/ClientIssueMonitor");
24
- const SfuServerMonitor_1 = require("./monitors/SfuServerMonitor");
7
+ const ObservedTURN_1 = require("./ObservedTURN");
8
+ const Detectors_1 = require("./detectors/Detectors");
9
+ const OnIntervalUpdater_1 = require("./updaters/OnIntervalUpdater");
10
+ const OnAllCallObserverUpdater_1 = require("./updaters/OnAllCallObserverUpdater");
11
+ const OnAnyCallObserverUpdater_1 = require("./updaters/OnAnyCallObserverUpdater");
12
+ const ObserverEventMonitor_1 = require("./ObserverEventMonitor");
13
+ const MediasoupRemoteTrackResolver_1 = require("./utils/MediasoupRemoteTrackResolver");
25
14
  const logger = (0, logger_1.createLogger)('Observer');
26
15
  class Observer extends events_1.EventEmitter {
27
- static create(providedConfig) {
28
- const config = Object.assign({
29
- defaultServiceId: 'default-service-id',
30
- defaultMediaUnitId: 'default-media-unit-id',
31
- evaluator: {
32
- fetchSamples: true,
33
- maxIdleTimeInMs: 300 * 1000,
34
- },
35
- sink: {},
36
- logLevel: 'info',
37
- }, providedConfig);
38
- return new Observer(config);
16
+ config;
17
+ detectors;
18
+ observedTURN = new ObservedTURN_1.ObservedTURN();
19
+ observedCalls = new Map();
20
+ updater;
21
+ closed = false;
22
+ totalAddedCall = 0;
23
+ totalRemovedCall = 0;
24
+ totalRttLt50Measurements = 0;
25
+ totalRttLt150Measurements = 0;
26
+ totalRttLt300Measurements = 0;
27
+ totalRttGtOrEq300Measurements = 0;
28
+ totalClientIssues = 0;
29
+ numberOfClientsUsingTurn = 0;
30
+ numberOfClients = 0;
31
+ numberOfInboundRtpStreams = 0;
32
+ numberOfOutboundRtpStreams = 0;
33
+ numberOfDataChannels = 0;
34
+ numberOfPeerConnections = 0;
35
+ get numberOfCalls() {
36
+ return this.observedCalls.size;
39
37
  }
40
- constructor(config) {
38
+ _timer;
39
+ constructor(config = {
40
+ updatePolicy: 'update-when-all-call-updated',
41
+ updateIntervalInMs: undefined,
42
+ appData: {},
43
+ }) {
41
44
  super();
42
45
  this.config = config;
43
- this.reports = new ReportsCollector_1.ReportsCollector();
44
- this._observedCalls = new Map();
45
- this._observedSfus = new Map();
46
- this._monitors = new Map();
47
- this._closed = false;
48
46
  this.setMaxListeners(Infinity);
49
- logger.debug('Observer is created with config', this.config);
50
- const onReports = (context) => this.emit('reports', context);
51
- const onNewReport = (collectedReports) => {
52
- if (!this.config.maxReports || this._closed)
53
- return;
54
- if (this.config.maxReports < collectedReports) {
55
- this._emitReports();
47
+ this.update = this.update.bind(this);
48
+ if (this.config.updateIntervalInMs) {
49
+ if (this.config.updatePolicy && this.config.updatePolicy !== 'update-on-interval') {
50
+ throw new Error('update policy must be update-on-interval if updateIntervalInMs is set in config');
56
51
  }
57
- };
58
- this._emitReports();
59
- this.once('close', () => {
60
- this.reports.off('newreport', onNewReport);
61
- this.reports.off('reports', onReports);
62
- });
63
- this.reports.on('newreport', onNewReport);
64
- this.reports.on('reports', onReports);
65
- }
66
- createObservedCall(config) {
67
- if (this._closed) {
68
- throw new Error('Attempted to create a call source on a closed observer');
52
+ this._timer = setInterval(this.update.bind(this), this.config.updateIntervalInMs);
69
53
  }
70
- const { appData, reportCallEnded = true, reportCallStarted = true } = config, model = __rest(config, ["appData", "reportCallEnded", "reportCallStarted"]);
71
- const call = new ObservedCall_1.ObservedCall(Object.assign(Object.assign({}, model), { serviceId: this.config.defaultServiceId }), this, appData);
72
- if (this._closed)
73
- throw new Error('Cannot create an observed call on a closed observer');
74
- if (this._observedCalls.has(call.callId))
75
- throw new Error(`Observed Call with id ${call.callId} already exists`);
76
- call.once('close', () => {
77
- var _a;
78
- this._observedCalls.delete(call.callId);
79
- reportCallEnded && this.reports.addCallEventReport((0, callEventReports_1.createCallEndedEventReport)(call.serviceId, call.roomId, call.callId, (_a = call.observationEnded) !== null && _a !== void 0 ? _a : Date.now()));
80
- });
81
- this._observedCalls.set(call.callId, call);
82
- reportCallStarted && this.reports.addCallEventReport((0, callEventReports_1.createCallStartedEventReport)(call.serviceId, call.roomId, call.callId, call.observationStarted));
83
- this.emit('newcall', call);
84
- return call;
85
- }
86
- createObservedSfu(model, appData) {
87
- if (this._closed) {
88
- throw new Error('Attempted to create an sfu source on a closed observer');
54
+ if (this.config.updateIntervalInMs) {
55
+ if (this.config.updatePolicy !== 'update-on-interval') {
56
+ throw new Error('updatePolicy must be update-on-interval if updateIntervalInMs is set in config');
57
+ }
89
58
  }
90
- const sfu = new ObservedSfu_1.ObservedSfu(model, this, appData);
91
- if (this._closed)
92
- throw new Error('Cannot create an observed sfu on a closed observer');
93
- if (this._observedSfus.has(sfu.sfuId))
94
- throw new Error(`Observed SFU with id ${sfu.sfuId} already exists`);
95
- sfu.once('close', () => {
96
- this._observedSfus.delete(sfu.sfuId);
97
- });
98
- this._observedSfus.set(sfu.sfuId, sfu);
99
- this.emit('newsfu', sfu);
100
- return sfu;
59
+ switch (this.config.updatePolicy) {
60
+ case 'update-on-any-call-updated':
61
+ this.updater = new OnAllCallObserverUpdater_1.OnAllCallObserverUpdater(this);
62
+ break;
63
+ case 'update-when-all-call-updated':
64
+ this.updater = new OnAnyCallObserverUpdater_1.OnAnyCallObserverUpdater(this);
65
+ break;
66
+ case 'update-on-interval':
67
+ if (!this.config.updateIntervalInMs) {
68
+ throw new Error('updateIntervalInMs setting in config must be set if updatePolicy is update-on-interval');
69
+ }
70
+ this.updater = new OnIntervalUpdater_1.OnIntervalUpdater(this.config.updateIntervalInMs, this.update.bind(this));
71
+ break;
72
+ }
73
+ this.detectors = new Detectors_1.Detectors();
101
74
  }
102
- createCallSummaryMonitor(options) {
103
- if (this._closed)
104
- throw new Error('Cannot create a call summary monitor on a closed observer');
105
- const existingMonitor = this._monitors.get(CallSummaryMonitor_1.CallSummaryMonitor.name);
106
- if (existingMonitor)
107
- return existingMonitor;
108
- const monitor = new CallSummaryMonitor_1.CallSummaryMonitor(options);
109
- const onNewCall = (call) => {
110
- monitor.addCall(call);
111
- call.once('close', () => {
112
- var _a;
113
- return setTimeout(() => {
114
- const summary = monitor.takeSummary(call.callId);
115
- summary && monitor.emit('summary', summary);
116
- }, (_a = options === null || options === void 0 ? void 0 : options.timeoutAfterCallClose) !== null && _a !== void 0 ? _a : 1000);
117
- });
118
- };
119
- monitor.once('close', () => {
120
- this._monitors.delete(CallSummaryMonitor_1.CallSummaryMonitor.name);
121
- this.off('newcall', onNewCall);
122
- });
123
- this._monitors.set(CallSummaryMonitor_1.CallSummaryMonitor.name, monitor);
124
- this.on('newcall', onNewCall);
125
- this.once('close', () => {
126
- monitor.close();
127
- });
128
- return monitor;
75
+ get appData() {
76
+ return this.config.appData;
129
77
  }
130
- createTurnUsageMonitor() {
131
- if (this._closed)
132
- throw new Error('Cannot create a turn usage monitor on a closed observer');
133
- const existingMonitor = this._monitors.get(TurnUsageMonitor_1.TurnUsageMonitor.name);
134
- if (existingMonitor)
135
- return existingMonitor;
136
- const monitor = new TurnUsageMonitor_1.TurnUsageMonitor();
137
- const onNewCall = (call) => {
138
- const onNewClient = (client) => {
139
- const onNewPeerConnection = (pc) => {
140
- const onUsingTurnChanged = (usingTurn) => {
141
- if (usingTurn)
142
- monitor.addPeerConnection(pc);
143
- else
144
- monitor.removePeerConnection(pc);
145
- };
146
- pc.once('close', () => {
147
- pc.ICE.off('usingturnchanged', onUsingTurnChanged);
148
- monitor.removePeerConnection(pc);
149
- });
150
- pc.ICE.on('usingturnchanged', onUsingTurnChanged);
151
- };
152
- client.once('close', () => client.off('newpeerconnection', onNewPeerConnection));
153
- client.on('newpeerconnection', onNewPeerConnection);
154
- };
155
- call.once('close', () => call.off('newclient', onNewClient));
156
- call.on('newclient', onNewClient);
157
- };
158
- monitor.once('close', () => {
159
- this._monitors.delete(TurnUsageMonitor_1.TurnUsageMonitor.name);
160
- this.off('newcall', onNewCall);
161
- });
162
- this._monitors.set(TurnUsageMonitor_1.TurnUsageMonitor.name, monitor);
163
- this.on('newcall', onNewCall);
164
- this.once('close', () => {
165
- monitor.close();
166
- });
167
- return monitor;
78
+ getObservedCall(callId) {
79
+ if (this.closed || !this.observedCalls.has(callId))
80
+ return;
81
+ return this.observedCalls.get(callId);
168
82
  }
169
- createSfuServerMonitor() {
170
- if (this._closed)
171
- throw new Error('Cannot create a turn usage monitor on a closed observer');
172
- const existingMonitor = this._monitors.get(SfuServerMonitor_1.SfuServerMonitor.name);
173
- if (existingMonitor)
174
- return existingMonitor;
175
- const monitor = new SfuServerMonitor_1.SfuServerMonitor({
176
- tooHighRttAlertSettings: {
177
- minNumberOfPeerConnections: 10,
178
- percentageOfPeerConnectionsHighWatermark: 0.5,
179
- percentageOfPeerConnectionsLowWatermark: 0.2,
180
- threshold: 'rtt-gt-300',
181
- }
182
- });
183
- const onNewCall = (call) => {
184
- const onNewClient = (client) => {
185
- const onNewPeerConnection = (pc) => {
186
- monitor.addPeerConnection(pc);
187
- };
188
- client.once('close', () => client.off('newpeerconnection', onNewPeerConnection));
189
- client.on('newpeerconnection', onNewPeerConnection);
190
- };
191
- call.once('close', () => call.off('newclient', onNewClient));
192
- call.on('newclient', onNewClient);
193
- };
194
- monitor.once('close', () => {
195
- this._monitors.delete(SfuServerMonitor_1.SfuServerMonitor.name);
196
- this.off('newcall', onNewCall);
197
- });
198
- this._monitors.set(SfuServerMonitor_1.SfuServerMonitor.name, monitor);
199
- this.on('newcall', onNewCall);
200
- this.once('close', () => {
201
- monitor.close();
202
- });
203
- return monitor;
204
- }
205
- createClientIssueMonitor() {
206
- if (this._closed)
207
- throw new Error('Cannot create a turn usage monitor on a closed observer');
208
- const existingMonitor = this._monitors.get(ClientIssueMonitor_1.ClientIssueMonitor.name);
209
- if (existingMonitor)
210
- return existingMonitor;
211
- const monitor = new ClientIssueMonitor_1.ClientIssueMonitor();
212
- const onNewCall = (call) => monitor.addCall(call);
213
- monitor.once('close', () => {
214
- this._monitors.delete(ClientIssueMonitor_1.ClientIssueMonitor.name);
215
- this.off('newcall', onNewCall);
216
- });
217
- this._monitors.set(ClientIssueMonitor_1.ClientIssueMonitor.name, monitor);
218
- this.on('newcall', onNewCall);
219
- this.once('close', () => {
220
- monitor.close();
83
+ createObservedCall(settings) {
84
+ if (this.closed) {
85
+ throw new Error('Attempted to create a call source on a closed observer');
86
+ }
87
+ if (!settings.updatePolicy) {
88
+ settings.updatePolicy = this.config.defaultCallUpdatePolicy;
89
+ settings.updateIntervalInMs = this.config.defaultCallUpdateIntervalInMs;
90
+ }
91
+ const observedCall = new ObservedCall_1.ObservedCall(settings, this);
92
+ const onCallUpdated = () => this._onObservedCallUpdated(observedCall);
93
+ if (this.observedCalls.has(observedCall.callId))
94
+ throw new Error(`Observed Call with id ${observedCall.callId} already exists`);
95
+ if (settings.remoteTrackResolvePolicy === 'mediasoup-sfu') {
96
+ observedCall.remoteTrackResolver = new MediasoupRemoteTrackResolver_1.MediasoupRemoteTrackResolver(observedCall);
97
+ }
98
+ observedCall.once('close', () => {
99
+ this.observedCalls.delete(observedCall.callId);
100
+ observedCall.off('update', onCallUpdated);
101
+ ++this.totalRemovedCall;
221
102
  });
222
- return monitor;
223
- }
224
- get observedCalls() {
225
- return this._observedCalls;
226
- }
227
- get observedSfus() {
228
- return this._observedSfus;
229
- }
230
- get closed() {
231
- return this._closed;
103
+ this.observedCalls.set(observedCall.callId, observedCall);
104
+ observedCall.on('update', onCallUpdated);
105
+ ++this.totalAddedCall;
106
+ this.emit('newcall', observedCall);
107
+ return observedCall;
232
108
  }
233
109
  close() {
234
- if (this._closed) {
110
+ if (this.closed) {
235
111
  return logger.debug('Attempted to close twice');
236
112
  }
237
- this._closed = true;
238
- this._observedCalls.forEach((call) => call.close());
113
+ this.closed = true;
114
+ clearInterval(this._timer);
115
+ this._timer = undefined;
116
+ this.observedCalls.forEach((call) => call.close());
239
117
  this.emit('close');
240
118
  }
241
- _emitReports() {
242
- if (this._reportTimer) {
243
- clearTimeout(this._reportTimer);
244
- this._reportTimer = undefined;
119
+ accept(sample) {
120
+ if (this.closed)
121
+ return;
122
+ if (!sample.callId)
123
+ return logger.warn('Received sample without callId. %o', sample);
124
+ if (!sample.clientId)
125
+ return logger.warn('Received sample without clientId %o', sample);
126
+ const call = this.getObservedCall(sample.callId) ?? this.createObservedCall({
127
+ callId: sample.callId,
128
+ updateIntervalInMs: this.config.defaultCallUpdateIntervalInMs,
129
+ updatePolicy: this.config.defaultCallUpdatePolicy,
130
+ });
131
+ const client = call.getObservedClient(sample.clientId) ?? call.createObservedClient({
132
+ clientId: sample.clientId,
133
+ });
134
+ client.accept(sample);
135
+ }
136
+ update() {
137
+ if (this.closed) {
138
+ return;
245
139
  }
246
- this.reports.emit();
247
- if (this.config.maxCollectingTimeInMs) {
248
- this._reportTimer = setTimeout(() => {
249
- this._reportTimer = undefined;
250
- this._emitReports();
251
- }, this.config.maxCollectingTimeInMs);
140
+ this.numberOfInboundRtpStreams = 0;
141
+ this.numberOfOutboundRtpStreams = 0;
142
+ this.numberOfPeerConnections = 0;
143
+ this.numberOfDataChannels = 0;
144
+ this.numberOfClients = 0;
145
+ this.numberOfClientsUsingTurn = 0;
146
+ for (const call of this.observedCalls.values()) {
147
+ this.numberOfInboundRtpStreams += call.numberOfInboundRtpStreams;
148
+ this.numberOfOutboundRtpStreams += call.numberOfOutboundRtpStreams;
149
+ this.numberOfPeerConnections += call.numberOfPeerConnections;
150
+ this.numberOfDataChannels += call.numberOfDataChannels;
151
+ this.numberOfClients += call.numberOfClients;
152
+ this.numberOfClientsUsingTurn += call.clientsUsedTurn.size;
252
153
  }
154
+ this.observedTURN.update();
155
+ this.emit('update');
156
+ }
157
+ _onObservedCallUpdated(call) {
158
+ this.totalRttLt50Measurements += call.deltaRttLt50Measurements;
159
+ this.totalRttLt150Measurements += call.deltaRttLt150Measurements;
160
+ this.totalRttLt300Measurements += call.deltaRttLt300Measurements;
161
+ this.totalRttGtOrEq300Measurements += call.deltaRttGtOrEq300Measurements;
162
+ this.totalClientIssues += call.deltaNumberOfIssues;
163
+ }
164
+ createEventMonitor(ctx) {
165
+ return new ObserverEventMonitor_1.ObserverEventMonitor(this, ctx ?? {});
253
166
  }
254
167
  }
255
168
  exports.Observer = Observer;
@@ -0,0 +1,138 @@
1
+ import { ObservedCall } from './ObservedCall';
2
+ import { ObservedCertificate } from './ObservedCertificate';
3
+ import { ObservedClient } from './ObservedClient';
4
+ import { ObservedCodec } from './ObservedCodec';
5
+ import { ObservedDataChannel } from './ObservedDataChannel';
6
+ import { ObservedIceCandidate } from './ObservedIceCandidate';
7
+ import { ObservedIceCandidatePair } from './ObservedIceCandidatePair';
8
+ import { ObservedIceTransport } from './ObservedIceTransport';
9
+ import { ObservedInboundRtp } from './ObservedInboundRtp';
10
+ import { ObservedInboundTrack } from './ObservedInboundTrack';
11
+ import { ObservedMediaPlayout } from './ObservedMediaPlayout';
12
+ import { ObservedMediaSource } from './ObservedMediaSource';
13
+ import { ObservedOutboundRtp } from './ObservedOutboundRtp';
14
+ import { ObservedOutboundTrack } from './ObservedOutboundTrack';
15
+ import { ObservedPeerConnection } from './ObservedPeerConnection';
16
+ import { Observer } from './Observer';
17
+ import { ClientEvent, ClientIssue, ClientMetaData, ClientSample, ExtensionStat } from './schema/ClientSample';
18
+ export declare class ObserverEventMonitor<Context> {
19
+ readonly observer: Observer;
20
+ readonly context: Context;
21
+ constructor(observer: Observer, context: Context);
22
+ onCallAdded?: (call: ObservedCall, ctx: Context) => void;
23
+ onCallRemoved?: (call: ObservedCall, ctx: Context) => void;
24
+ onCallEmpty?: (call: ObservedCall, ctx: Context) => void;
25
+ onCallNotEmpty?: (call: ObservedCall, ctx: Context) => void;
26
+ onCallUpdated?: (call: ObservedCall, ctx: Context) => void;
27
+ onClientAdded?: (client: ObservedClient, ctx: Context) => void;
28
+ onClientClosed?: (client: ObservedClient, ctx: Context) => void;
29
+ onClientRejoined?: (client: ObservedClient, ctx: Context) => void;
30
+ onClientIssue?: (observedClent: ObservedClient, issue: ClientIssue, ctx: Context) => void;
31
+ onClientMetadata?: (observedClient: ObservedClient, metadata: ClientMetaData, ctx: Context) => void;
32
+ onClientExtensionStats?: (observedClient: ObservedClient, extensionStats: ExtensionStat, ctx: Context) => void;
33
+ onClientJoined?: (client: ObservedClient, ctx: Context) => void;
34
+ onClientLeft?: (client: ObservedClient, ctx: Context) => void;
35
+ onClientUserMediaError?: (observedClient: ObservedClient, error: string, ctx: Context) => void;
36
+ onClientUsingTurn?: (client: ObservedClient, usingTurn: boolean, ctx: Context) => void;
37
+ onClientUpdated?: (client: ObservedClient, sample: ClientSample, ctx: Context) => void;
38
+ onClientEvent?: (client: ObservedClient, event: ClientEvent, ctx: Context) => void;
39
+ onPeerConnectionAdded?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
40
+ onPeerConnectionRemoved?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
41
+ onSelectedCandidatePairChanged?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
42
+ onIceGatheringStateChange?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
43
+ onIceConnectionStateChange?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
44
+ onConnectionStateChange?: (peerConnection: ObservedPeerConnection, ctx: Context) => void;
45
+ onCertificateAdded?: (certificate: ObservedCertificate, ctx: Context) => void;
46
+ onCertificateRemoved?: (certificate: ObservedCertificate, ctx: Context) => void;
47
+ onCertificateUpdated?: (certificate: ObservedCertificate, ctx: Context) => void;
48
+ onInboundTrackAdded?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
49
+ onInboundTrackRemoved?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
50
+ onInboundTrackUpdated?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
51
+ onInboundTrackMuted?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
52
+ onInboundTrackUnmuted?: (inboundTrack: ObservedInboundTrack, ctx: Context) => void;
53
+ onOutboundTrackAdded?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
54
+ onOutboundTrackRemoved?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
55
+ onOutboundTrackUpdated?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
56
+ onOutboundTrackMuted?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
57
+ onOutboundTrackUnmuted?: (outboundTrack: ObservedOutboundTrack, ctx: Context) => void;
58
+ onInboundRtpAdded?: (inboundRtp: ObservedInboundRtp, ctx: Context) => void;
59
+ onInboundRtpRemoved?: (inboundRtp: ObservedInboundRtp, ctx: Context) => void;
60
+ onInboundRtpUpdated?: (inboundRtp: ObservedInboundRtp, ctx: Context) => void;
61
+ onOutboundRtpAdded?: (outboundRtp: ObservedOutboundRtp, ctx: Context) => void;
62
+ onOutboundRtpRemoved?: (outboundRtp: ObservedOutboundRtp, ctx: Context) => void;
63
+ onOutboundRtpUpdated?: (outboundRtp: ObservedOutboundRtp, ctx: Context) => void;
64
+ onDataChannelAdded?: (dataChannel: ObservedDataChannel, ctx: Context) => void;
65
+ onDataChannelRemoved?: (dataChannel: ObservedDataChannel, ctx: Context) => void;
66
+ onDataChannelUpdated?: (dataChannel: ObservedDataChannel, ctx: Context) => void;
67
+ onAddedIceTransport?: (iceTransport: ObservedIceTransport, ctx: Context) => void;
68
+ onRemovedIceTransport?: (iceTransport: ObservedIceTransport, ctx: Context) => void;
69
+ onIceTransportUpdated?: (iceTransport: ObservedIceTransport, ctx: Context) => void;
70
+ onIceCandidateAdded?: (iceCandidate: ObservedIceCandidate, ctx: Context) => void;
71
+ onIceCandidateRemoved?: (iceCandidate: ObservedIceCandidate, ctx: Context) => void;
72
+ onIceCandidateUpdated?: (iceCandidate: ObservedIceCandidate, ctx: Context) => void;
73
+ onAddedIceCandidatePair?: (candidatePair: ObservedIceCandidatePair, ctx: Context) => void;
74
+ onRemovedIceCandidatePair?: (candidatePair: ObservedIceCandidatePair, ctx: Context) => void;
75
+ onIceCandidatePairUpdated?: (candidatePair: ObservedIceCandidatePair, ctx: Context) => void;
76
+ onAddedMediaCodec?: (codec: ObservedCodec, ctx: Context) => void;
77
+ onRemovedMediaCodec?: (codec: ObservedCodec, ctx: Context) => void;
78
+ onMediaCodecUpdated?: (codec: ObservedCodec, ctx: Context) => void;
79
+ onAddedMediaPlayout?: (mediaPlayout: ObservedMediaPlayout, ctx: Context) => void;
80
+ onRemovedMediaPlayout?: (mediaPlayout: ObservedMediaPlayout, ctx: Context) => void;
81
+ onMediaPlayoutUpdated?: (mediaPlayout: ObservedMediaPlayout, ctx: Context) => void;
82
+ onMediaSourceAdded?: (mediaSource: ObservedMediaSource, ctx: Context) => void;
83
+ onMediaSourceRemoved?: (mediaSource: ObservedMediaSource, ctx: Context) => void;
84
+ onMediaSourceUpdated?: (mediaSource: ObservedMediaSource, ctx: Context) => void;
85
+ private _onCallAdded;
86
+ private _onClientAdded;
87
+ private _onClientRejoined;
88
+ private _onPeerConnconnectionAdded;
89
+ private _onPeerConnectionRemoved;
90
+ private _onCertificateAdded;
91
+ private _onCertificateRemoved;
92
+ private _onCertificateUpdated;
93
+ private _onInboundTrackAdded;
94
+ private _onInboundTrackRemoved;
95
+ private _onInboundTrackUpdated;
96
+ private _onOutboundTrackMuted;
97
+ private _onOutboundTrackUnmuted;
98
+ private _onOutboundTrackAdded;
99
+ private _onOutboundTrackRemoved;
100
+ private _onOutboundTrackUpdated;
101
+ private _onInboundTrackMuted;
102
+ private _onInboundTrackUnmuted;
103
+ private _onInboundRtpAdded;
104
+ private _onInboundRtpRemoved;
105
+ private _onInboundRtpUpdated;
106
+ private _onOutboundRtpAdded;
107
+ private _onOutboundRtpRemoved;
108
+ private _onOutboundRtpUpdated;
109
+ private _onDataChannelAdded;
110
+ private _onDataChannelRemoved;
111
+ private _onDataChannelUpdated;
112
+ private _onAddedIceTransport;
113
+ private _onRemovedIceTransport;
114
+ private _onIceTransportUpdated;
115
+ private _onIceCandidateAdded;
116
+ private _onIceCandidateRemoved;
117
+ private _onIceCandidateUpdated;
118
+ private _onAddedIceCandidatePair;
119
+ private _onRemovedIceCandidatePair;
120
+ private _onIceCandidatePairUpdated;
121
+ private _onAddedMediaCodec;
122
+ private _onRemovedMediaCodec;
123
+ private _onMediaCodecUpdated;
124
+ private _onAddedMediaPlayout;
125
+ private _onRemovedMediaPlayout;
126
+ private _onMediaPlayoutUpdated;
127
+ private _onMediaSourceAdded;
128
+ private _onMediaSourceRemoved;
129
+ private _onMediaSourceUpdated;
130
+ private _onClientIssue;
131
+ private _onClientMetadata;
132
+ private _onClientExtensionStats;
133
+ private _onClientJoined;
134
+ private _onClientLeft;
135
+ private _onUserMediaError;
136
+ private _onUsingTurn;
137
+ }
138
+ //# sourceMappingURL=ObserverEventMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObserverEventMonitor.d.ts","sourceRoot":"","sources":["../src/ObserverEventMonitor.ts"],"names":[],"mappings":"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"}