@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
@@ -0,0 +1,433 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObserverEventMonitor = void 0;
4
+ class ObserverEventMonitor {
5
+ observer;
6
+ context;
7
+ constructor(observer, context) {
8
+ this.observer = observer;
9
+ this.context = context;
10
+ this._onPeerConnconnectionAdded = this._onPeerConnconnectionAdded.bind(this);
11
+ this._onPeerConnectionRemoved = this._onPeerConnectionRemoved.bind(this);
12
+ this._onCertificateAdded = this._onCertificateAdded.bind(this);
13
+ this._onCertificateRemoved = this._onCertificateRemoved.bind(this);
14
+ this._onInboundTrackAdded = this._onInboundTrackAdded.bind(this);
15
+ this._onInboundTrackRemoved = this._onInboundTrackRemoved.bind(this);
16
+ this._onOutboundTrackAdded = this._onOutboundTrackAdded.bind(this);
17
+ this._onOutboundTrackRemoved = this._onOutboundTrackRemoved.bind(this);
18
+ this._onOutboundTrackMuted = this._onOutboundTrackMuted.bind(this);
19
+ this._onOutboundTrackUnmuted = this._onOutboundTrackUnmuted.bind(this);
20
+ this._onInboundRtpAdded = this._onInboundRtpAdded.bind(this);
21
+ this._onInboundRtpRemoved = this._onInboundRtpRemoved.bind(this);
22
+ this._onInboundRtpUpdated = this._onInboundRtpUpdated.bind(this);
23
+ this._onOutboundTrackUpdated = this._onOutboundTrackUpdated.bind(this);
24
+ this._onInboundTrackUpdated = this._onInboundTrackUpdated.bind(this);
25
+ this._onOutboundRtpAdded = this._onOutboundRtpAdded.bind(this);
26
+ this._onOutboundRtpRemoved = this._onOutboundRtpRemoved.bind(this);
27
+ this._onDataChannelAdded = this._onDataChannelAdded.bind(this);
28
+ this._onDataChannelRemoved = this._onDataChannelRemoved.bind(this);
29
+ this._onAddedIceTransport = this._onAddedIceTransport.bind(this);
30
+ this._onRemovedIceTransport = this._onRemovedIceTransport.bind(this);
31
+ this._onIceCandidateAdded = this._onIceCandidateAdded.bind(this);
32
+ this._onIceCandidateRemoved = this._onIceCandidateRemoved.bind(this);
33
+ this._onAddedIceCandidatePair = this._onAddedIceCandidatePair.bind(this);
34
+ this._onRemovedIceCandidatePair = this._onRemovedIceCandidatePair.bind(this);
35
+ this._onAddedMediaCodec = this._onAddedMediaCodec.bind(this);
36
+ this._onRemovedMediaCodec = this._onRemovedMediaCodec.bind(this);
37
+ this._onAddedMediaPlayout = this._onAddedMediaPlayout.bind(this);
38
+ this._onRemovedMediaPlayout = this._onRemovedMediaPlayout.bind(this);
39
+ this._onMediaSourceAdded = this._onMediaSourceAdded.bind(this);
40
+ this._onMediaSourceRemoved = this._onMediaSourceRemoved.bind(this);
41
+ this._onClientIssue = this._onClientIssue.bind(this);
42
+ this._onClientMetadata = this._onClientMetadata.bind(this);
43
+ this._onClientJoined = this._onClientJoined.bind(this);
44
+ this._onClientLeft = this._onClientLeft.bind(this);
45
+ this._onUserMediaError = this._onUserMediaError.bind(this);
46
+ this._onUsingTurn = this._onUsingTurn.bind(this);
47
+ this._onClientAdded = this._onClientAdded.bind(this);
48
+ this._onCallAdded = this._onCallAdded.bind(this);
49
+ this._onClientRejoined = this._onClientRejoined.bind(this);
50
+ this._onClientExtensionStats = this._onClientExtensionStats.bind(this);
51
+ this._onCertificateUpdated = this._onCertificateUpdated.bind(this);
52
+ this._onInboundRtpUpdated = this._onInboundRtpUpdated.bind(this);
53
+ this._onOutboundRtpUpdated = this._onOutboundRtpUpdated.bind(this);
54
+ this._onInboundTrackUpdated = this._onInboundTrackUpdated.bind(this);
55
+ this._onOutboundTrackUpdated = this._onOutboundTrackUpdated.bind(this);
56
+ this._onDataChannelUpdated = this._onDataChannelUpdated.bind(this);
57
+ this._onIceTransportUpdated = this._onIceTransportUpdated.bind(this);
58
+ this._onIceCandidatePairUpdated = this._onIceCandidatePairUpdated.bind(this);
59
+ this._onMediaCodecUpdated = this._onMediaCodecUpdated.bind(this);
60
+ this._onMediaPlayoutUpdated = this._onMediaPlayoutUpdated.bind(this);
61
+ this._onMediaSourceUpdated = this._onMediaSourceUpdated.bind(this);
62
+ this._onIceCandidateUpdated = this._onIceCandidateUpdated.bind(this);
63
+ this.observer.once('close', () => {
64
+ this.observer.off('newcall', this._onCallAdded);
65
+ });
66
+ this.observer.on('newcall', this._onCallAdded);
67
+ }
68
+ // Public event handlers
69
+ onCallAdded;
70
+ onCallRemoved;
71
+ onCallEmpty;
72
+ onCallNotEmpty;
73
+ onCallUpdated;
74
+ onClientAdded;
75
+ onClientClosed;
76
+ onClientRejoined;
77
+ onClientIssue;
78
+ onClientMetadata;
79
+ onClientExtensionStats;
80
+ onClientJoined;
81
+ onClientLeft;
82
+ onClientUserMediaError;
83
+ onClientUsingTurn;
84
+ onClientUpdated;
85
+ onClientEvent;
86
+ onPeerConnectionAdded;
87
+ onPeerConnectionRemoved;
88
+ onSelectedCandidatePairChanged;
89
+ onIceGatheringStateChange;
90
+ onIceConnectionStateChange;
91
+ onConnectionStateChange;
92
+ onCertificateAdded;
93
+ onCertificateRemoved;
94
+ onCertificateUpdated;
95
+ onInboundTrackAdded;
96
+ onInboundTrackRemoved;
97
+ onInboundTrackUpdated;
98
+ onInboundTrackMuted;
99
+ onInboundTrackUnmuted;
100
+ onOutboundTrackAdded;
101
+ onOutboundTrackRemoved;
102
+ onOutboundTrackUpdated;
103
+ onOutboundTrackMuted;
104
+ onOutboundTrackUnmuted;
105
+ onInboundRtpAdded;
106
+ onInboundRtpRemoved;
107
+ onInboundRtpUpdated;
108
+ onOutboundRtpAdded;
109
+ onOutboundRtpRemoved;
110
+ onOutboundRtpUpdated;
111
+ onDataChannelAdded;
112
+ onDataChannelRemoved;
113
+ onDataChannelUpdated;
114
+ onAddedIceTransport;
115
+ onRemovedIceTransport;
116
+ onIceTransportUpdated;
117
+ onIceCandidateAdded;
118
+ onIceCandidateRemoved;
119
+ onIceCandidateUpdated;
120
+ onAddedIceCandidatePair;
121
+ onRemovedIceCandidatePair;
122
+ onIceCandidatePairUpdated;
123
+ onAddedMediaCodec;
124
+ onRemovedMediaCodec;
125
+ onMediaCodecUpdated;
126
+ onAddedMediaPlayout;
127
+ onRemovedMediaPlayout;
128
+ onMediaPlayoutUpdated;
129
+ onMediaSourceAdded;
130
+ onMediaSourceRemoved;
131
+ onMediaSourceUpdated;
132
+ _onCallAdded(call) {
133
+ const onCallEmpty = () => this.onCallEmpty?.(call, this.context);
134
+ const onCallNotEmpty = () => this.onCallNotEmpty?.(call, this.context);
135
+ const onCallUpdated = () => this.onCallUpdated?.(call, this.context);
136
+ call.once('close', () => {
137
+ call.off('newclient', this._onClientAdded);
138
+ call.off('empty', onCallEmpty);
139
+ call.off('not-empty', onCallNotEmpty);
140
+ call.off('update', onCallUpdated);
141
+ this.onCallRemoved?.(call, this.context);
142
+ });
143
+ call.on('newclient', this._onClientAdded);
144
+ call.on('empty', onCallEmpty);
145
+ call.on('not-empty', onCallNotEmpty);
146
+ call.on('update', onCallUpdated);
147
+ this.onCallAdded?.(call, this.context);
148
+ }
149
+ _onClientAdded(observedClient) {
150
+ const onClientIssue = (issue) => this._onClientIssue(observedClient, issue);
151
+ const onClientMetadata = (metaData) => this._onClientMetadata(observedClient, metaData);
152
+ const onClientJoined = () => this._onClientJoined(observedClient);
153
+ const onClientLeft = () => this._onClientLeft(observedClient);
154
+ const onClientRejoined = () => this._onClientRejoined(observedClient);
155
+ const onClientExtensionStats = (extensionStats) => this._onClientExtensionStats(observedClient, extensionStats);
156
+ const onUsingTurn = (usingTurn) => this._onUsingTurn(observedClient, usingTurn);
157
+ const onUserMediaError = (error) => this._onUserMediaError(observedClient, error);
158
+ const onClientUpdated = (...args) => this.onClientUpdated?.(observedClient, args[0], this.context);
159
+ const onClientEvent = (event) => this.onClientEvent?.(observedClient, event, this.context);
160
+ observedClient.once('close', () => {
161
+ observedClient.off('newpeerconnection', this._onPeerConnconnectionAdded);
162
+ observedClient.off('issue', onClientIssue);
163
+ observedClient.off('metaData', onClientMetadata);
164
+ observedClient.off('joined', onClientJoined);
165
+ observedClient.off('left', onClientLeft);
166
+ observedClient.off('rejoined', onClientJoined);
167
+ observedClient.off('usermediaerror', onUserMediaError);
168
+ observedClient.off('usingturn', onUsingTurn);
169
+ observedClient.off('extensionStats', onClientExtensionStats);
170
+ observedClient.off('update', onClientUpdated);
171
+ observedClient.off('clientEvent', onClientEvent);
172
+ this.onClientClosed?.(observedClient, this.context);
173
+ });
174
+ observedClient.on('newpeerconnection', this._onPeerConnconnectionAdded);
175
+ observedClient.on('issue', onClientIssue);
176
+ observedClient.on('metaData', onClientMetadata);
177
+ observedClient.on('joined', onClientJoined);
178
+ observedClient.on('left', onClientLeft);
179
+ observedClient.on('rejoined', onClientRejoined);
180
+ observedClient.on('usermediaerror', onUserMediaError);
181
+ observedClient.on('usingturn', onUsingTurn);
182
+ observedClient.on('extensionStats', onClientExtensionStats);
183
+ observedClient.on('update', onClientUpdated);
184
+ observedClient.on('clientEvent', onClientEvent);
185
+ this.onClientAdded?.(observedClient, this.context);
186
+ }
187
+ _onClientRejoined(observedClient) {
188
+ this.onClientRejoined?.(observedClient, this.context);
189
+ }
190
+ _onPeerConnconnectionAdded(peerConnection) {
191
+ const onSelectedCandidatePairChanged = () => this.onSelectedCandidatePairChanged?.(peerConnection, this.context);
192
+ const onIceGatheringStateChange = () => this.onIceGatheringStateChange?.(peerConnection, this.context);
193
+ const onIceConnectionStateChange = () => this.onIceConnectionStateChange?.(peerConnection, this.context);
194
+ const onConnectionStateChange = () => this.onConnectionStateChange?.(peerConnection, this.context);
195
+ peerConnection.once('close', () => {
196
+ peerConnection.off('added-certificate', this._onCertificateAdded);
197
+ peerConnection.off('removed-certificate', this._onCertificateRemoved);
198
+ peerConnection.off('updated-certificate', this._onCertificateUpdated);
199
+ peerConnection.off('added-inbound-track', this._onInboundTrackAdded);
200
+ peerConnection.off('removed-inbound-track', this._onInboundTrackRemoved);
201
+ peerConnection.off('updated-inbound-track', this._onInboundTrackUpdated);
202
+ peerConnection.off('muted-inbound-track', this._onInboundTrackMuted);
203
+ peerConnection.off('unmuted-inbound-track', this._onInboundTrackUnmuted);
204
+ peerConnection.off('added-outbound-track', this._onOutboundTrackAdded);
205
+ peerConnection.off('removed-outbound-track', this._onOutboundTrackRemoved);
206
+ peerConnection.off('updated-outbound-track', this._onOutboundTrackUpdated);
207
+ peerConnection.off('muted-outbound-track', this._onOutboundTrackMuted);
208
+ peerConnection.off('unmuted-outbound-track', this._onOutboundTrackUnmuted);
209
+ peerConnection.off('added-inbound-rtp', this._onInboundRtpAdded);
210
+ peerConnection.off('removed-inbound-rtp', this._onInboundRtpRemoved);
211
+ peerConnection.off('updated-inbound-rtp', this._onInboundRtpUpdated);
212
+ peerConnection.off('added-outbound-rtp', this._onOutboundRtpAdded);
213
+ peerConnection.off('removed-outbound-rtp', this._onOutboundRtpRemoved);
214
+ peerConnection.off('updated-outbound-rtp', this._onOutboundRtpUpdated);
215
+ peerConnection.off('added-data-channel', this._onDataChannelAdded);
216
+ peerConnection.off('removed-data-channel', this._onDataChannelRemoved);
217
+ peerConnection.off('updated-data-channel', this._onDataChannelUpdated);
218
+ peerConnection.off('added-ice-transport', this._onAddedIceTransport);
219
+ peerConnection.off('removed-ice-transport', this._onRemovedIceTransport);
220
+ peerConnection.off('updated-ice-transport', this._onIceTransportUpdated);
221
+ peerConnection.off('added-ice-candidate', this._onIceCandidateAdded);
222
+ peerConnection.off('removed-ice-candidate', this._onIceCandidateRemoved);
223
+ peerConnection.off('updated-ice-candidate', this._onIceCandidateUpdated);
224
+ peerConnection.off('added-ice-candidate-pair', this._onAddedIceCandidatePair);
225
+ peerConnection.off('removed-ice-candidate-pair', this._onRemovedIceCandidatePair);
226
+ peerConnection.off('updated-ice-candidate-pair', this._onIceCandidatePairUpdated);
227
+ peerConnection.off('added-codec', this._onAddedMediaCodec);
228
+ peerConnection.off('removed-codec', this._onRemovedMediaCodec);
229
+ peerConnection.off('updated-codec', this._onMediaCodecUpdated);
230
+ peerConnection.off('added-media-playout', this._onAddedMediaPlayout);
231
+ peerConnection.off('removed-media-playout', this._onRemovedMediaPlayout);
232
+ peerConnection.off('updated-media-playout', this._onMediaPlayoutUpdated);
233
+ peerConnection.off('added-media-source', this._onMediaSourceAdded);
234
+ peerConnection.off('removed-media-source', this._onMediaSourceRemoved);
235
+ peerConnection.off('updated-media-source', this._onMediaSourceUpdated);
236
+ peerConnection.off('selectedcandidatepair', onSelectedCandidatePairChanged);
237
+ peerConnection.off('icegatheringstatechange', onIceGatheringStateChange);
238
+ peerConnection.off('iceconnectionstatechange', onIceConnectionStateChange);
239
+ peerConnection.off('connectionstatechange', onConnectionStateChange);
240
+ this.onPeerConnectionRemoved?.(peerConnection, this.context);
241
+ });
242
+ peerConnection.on('added-certificate', this._onCertificateAdded);
243
+ peerConnection.on('removed-certificate', this._onCertificateRemoved);
244
+ peerConnection.on('updated-certificate', this._onCertificateUpdated);
245
+ peerConnection.on('added-inbound-track', this._onInboundTrackAdded);
246
+ peerConnection.on('removed-inbound-track', this._onInboundTrackRemoved);
247
+ peerConnection.on('updated-inbound-track', this._onInboundTrackUpdated);
248
+ peerConnection.on('muted-inbound-track', this._onInboundTrackMuted);
249
+ peerConnection.on('unmuted-inbound-track', this._onInboundTrackUnmuted);
250
+ peerConnection.on('added-outbound-track', this._onOutboundTrackAdded);
251
+ peerConnection.on('removed-outbound-track', this._onOutboundTrackRemoved);
252
+ peerConnection.on('updated-outbound-track', this._onOutboundTrackUpdated);
253
+ peerConnection.on('muted-outbound-track', this._onOutboundTrackMuted);
254
+ peerConnection.on('unmuted-outbound-track', this._onOutboundTrackUnmuted);
255
+ peerConnection.on('added-inbound-rtp', this._onInboundRtpAdded);
256
+ peerConnection.on('removed-inbound-rtp', this._onInboundRtpRemoved);
257
+ peerConnection.on('updated-inbound-rtp', this._onInboundRtpUpdated);
258
+ peerConnection.on('added-outbound-rtp', this._onOutboundRtpAdded);
259
+ peerConnection.on('removed-outbound-rtp', this._onOutboundRtpRemoved);
260
+ peerConnection.on('updated-outbound-rtp', this._onOutboundRtpUpdated);
261
+ peerConnection.on('added-data-channel', this._onDataChannelAdded);
262
+ peerConnection.on('removed-data-channel', this._onDataChannelRemoved);
263
+ peerConnection.on('updated-data-channel', this._onDataChannelUpdated);
264
+ peerConnection.on('added-ice-transport', this._onAddedIceTransport);
265
+ peerConnection.on('removed-ice-transport', this._onRemovedIceTransport);
266
+ peerConnection.on('updated-ice-transport', this._onIceTransportUpdated);
267
+ peerConnection.on('added-ice-candidate', this._onIceCandidateAdded);
268
+ peerConnection.on('removed-ice-candidate', this._onIceCandidateRemoved);
269
+ peerConnection.on('updated-ice-candidate', this._onIceCandidateUpdated);
270
+ peerConnection.on('added-ice-candidate-pair', this._onAddedIceCandidatePair);
271
+ peerConnection.on('removed-ice-candidate-pair', this._onRemovedIceCandidatePair);
272
+ peerConnection.on('updated-ice-candidate-pair', this._onIceCandidatePairUpdated);
273
+ peerConnection.on('added-codec', this._onAddedMediaCodec);
274
+ peerConnection.on('removed-codec', this._onRemovedMediaCodec);
275
+ peerConnection.on('updated-codec', this._onMediaCodecUpdated);
276
+ peerConnection.on('added-media-playout', this._onAddedMediaPlayout);
277
+ peerConnection.on('removed-media-playout', this._onRemovedMediaPlayout);
278
+ peerConnection.on('updated-media-playout', this._onMediaPlayoutUpdated);
279
+ peerConnection.on('added-media-source', this._onMediaSourceAdded);
280
+ peerConnection.on('removed-media-source', this._onMediaSourceRemoved);
281
+ peerConnection.on('updated-media-source', this._onMediaSourceUpdated);
282
+ peerConnection.on('selectedcandidatepair', onSelectedCandidatePairChanged);
283
+ peerConnection.on('icegatheringstatechange', onIceGatheringStateChange);
284
+ peerConnection.on('iceconnectionstatechange', onIceConnectionStateChange);
285
+ peerConnection.on('connectionstatechange', onConnectionStateChange);
286
+ this.onPeerConnectionAdded?.(peerConnection, this.context);
287
+ }
288
+ _onPeerConnectionRemoved(peerConnection) {
289
+ this.onPeerConnectionRemoved?.(peerConnection, this.context);
290
+ }
291
+ _onCertificateAdded(certificate) {
292
+ this.onCertificateAdded?.(certificate, this.context);
293
+ }
294
+ _onCertificateRemoved(certificate) {
295
+ this.onCertificateRemoved?.(certificate, this.context);
296
+ }
297
+ _onCertificateUpdated(certificate) {
298
+ this.onCertificateUpdated?.(certificate, this.context);
299
+ }
300
+ _onInboundTrackAdded(inboundTrack) {
301
+ this.onInboundTrackAdded?.(inboundTrack, this.context);
302
+ }
303
+ _onInboundTrackRemoved(inboundTrack) {
304
+ this.onInboundTrackRemoved?.(inboundTrack, this.context);
305
+ }
306
+ _onInboundTrackUpdated(inboundTrack) {
307
+ this.onInboundTrackUpdated?.(inboundTrack, this.context);
308
+ }
309
+ _onOutboundTrackMuted(outboundTrack) {
310
+ this.onOutboundTrackMuted?.(outboundTrack, this.context);
311
+ }
312
+ _onOutboundTrackUnmuted(outboundTrack) {
313
+ this.onOutboundTrackUnmuted?.(outboundTrack, this.context);
314
+ }
315
+ _onOutboundTrackAdded(outboundTrack) {
316
+ this.onOutboundTrackAdded?.(outboundTrack, this.context);
317
+ }
318
+ _onOutboundTrackRemoved(outboundTrack) {
319
+ this.onOutboundTrackRemoved?.(outboundTrack, this.context);
320
+ }
321
+ _onOutboundTrackUpdated(outboundTrack) {
322
+ this.onOutboundTrackUpdated?.(outboundTrack, this.context);
323
+ }
324
+ _onInboundTrackMuted(inboundTrack) {
325
+ this.onInboundTrackMuted?.(inboundTrack, this.context);
326
+ }
327
+ _onInboundTrackUnmuted(inboundTrack) {
328
+ this.onInboundTrackUnmuted?.(inboundTrack, this.context);
329
+ }
330
+ _onInboundRtpAdded(inboundRtp) {
331
+ this.onInboundRtpAdded?.(inboundRtp, this.context);
332
+ }
333
+ _onInboundRtpRemoved(inboundRtp) {
334
+ this.onInboundRtpRemoved?.(inboundRtp, this.context);
335
+ }
336
+ _onInboundRtpUpdated(inboundRtp) {
337
+ this.onInboundRtpUpdated?.(inboundRtp, this.context);
338
+ }
339
+ _onOutboundRtpAdded(outboundRtp) {
340
+ this.onOutboundRtpAdded?.(outboundRtp, this.context);
341
+ }
342
+ _onOutboundRtpRemoved(outboundRtp) {
343
+ this.onOutboundRtpRemoved?.(outboundRtp, this.context);
344
+ }
345
+ _onOutboundRtpUpdated(outboundRtp) {
346
+ this.onOutboundRtpUpdated?.(outboundRtp, this.context);
347
+ }
348
+ _onDataChannelAdded(dataChannel) {
349
+ this.onDataChannelAdded?.(dataChannel, this.context);
350
+ }
351
+ _onDataChannelRemoved(dataChannel) {
352
+ this.onDataChannelRemoved?.(dataChannel, this.context);
353
+ }
354
+ _onDataChannelUpdated(dataChannel) {
355
+ this.onDataChannelUpdated?.(dataChannel, this.context);
356
+ }
357
+ _onAddedIceTransport(iceTransport) {
358
+ this.onAddedIceTransport?.(iceTransport, this.context);
359
+ }
360
+ _onRemovedIceTransport(iceTransport) {
361
+ this.onRemovedIceTransport?.(iceTransport, this.context);
362
+ }
363
+ _onIceTransportUpdated(iceTransport) {
364
+ this.onIceTransportUpdated?.(iceTransport, this.context);
365
+ }
366
+ _onIceCandidateAdded(iceCandidate) {
367
+ this.onIceCandidateAdded?.(iceCandidate, this.context);
368
+ }
369
+ _onIceCandidateRemoved(iceCandidate) {
370
+ this.onIceCandidateRemoved?.(iceCandidate, this.context);
371
+ }
372
+ _onIceCandidateUpdated(iceCandidate) {
373
+ this.onIceCandidateUpdated?.(iceCandidate, this.context);
374
+ }
375
+ _onAddedIceCandidatePair(candidatePair) {
376
+ this.onAddedIceCandidatePair?.(candidatePair, this.context);
377
+ }
378
+ _onRemovedIceCandidatePair(candidatePair) {
379
+ this.onRemovedIceCandidatePair?.(candidatePair, this.context);
380
+ }
381
+ _onIceCandidatePairUpdated(candidatePair) {
382
+ this.onIceCandidatePairUpdated?.(candidatePair, this.context);
383
+ }
384
+ _onAddedMediaCodec(codec) {
385
+ this.onAddedMediaCodec?.(codec, this.context);
386
+ }
387
+ _onRemovedMediaCodec(codec) {
388
+ this.onRemovedMediaCodec?.(codec, this.context);
389
+ }
390
+ _onMediaCodecUpdated(codec) {
391
+ this.onMediaCodecUpdated?.(codec, this.context);
392
+ }
393
+ _onAddedMediaPlayout(mediaPlayout) {
394
+ this.onAddedMediaPlayout?.(mediaPlayout, this.context);
395
+ }
396
+ _onRemovedMediaPlayout(mediaPlayout) {
397
+ this.onRemovedMediaPlayout?.(mediaPlayout, this.context);
398
+ }
399
+ _onMediaPlayoutUpdated(mediaPlayout) {
400
+ this.onMediaPlayoutUpdated?.(mediaPlayout, this.context);
401
+ }
402
+ _onMediaSourceAdded(mediaSource) {
403
+ this.onMediaSourceAdded?.(mediaSource, this.context);
404
+ }
405
+ _onMediaSourceRemoved(mediaSource) {
406
+ this.onMediaSourceRemoved?.(mediaSource, this.context);
407
+ }
408
+ _onMediaSourceUpdated(mediaSource) {
409
+ this.onMediaSourceUpdated?.(mediaSource, this.context);
410
+ }
411
+ _onClientIssue(observedClent, issue) {
412
+ this.onClientIssue?.(observedClent, issue, this.context);
413
+ }
414
+ _onClientMetadata(observedClient, metadata) {
415
+ this.onClientMetadata?.(observedClient, metadata, this.context);
416
+ }
417
+ _onClientExtensionStats(observedClient, extensionStats) {
418
+ this.onClientExtensionStats?.(observedClient, extensionStats, this.context);
419
+ }
420
+ _onClientJoined(observedClient) {
421
+ this.onClientJoined?.(observedClient, this.context);
422
+ }
423
+ _onClientLeft(observedClient) {
424
+ this.onClientLeft?.(observedClient, this.context);
425
+ }
426
+ _onUserMediaError(observedClient, error) {
427
+ this.onClientUserMediaError?.(observedClient, error, this.context);
428
+ }
429
+ _onUsingTurn(observedClient, usingTurn) {
430
+ this.onClientUsingTurn?.(observedClient, usingTurn, this.context);
431
+ }
432
+ }
433
+ exports.ObserverEventMonitor = ObserverEventMonitor;
@@ -0,0 +1,13 @@
1
+ export type ObserverSummary = {
2
+ currentActiveCalls: number;
3
+ currentNumberOfClientsUsingTURN: number;
4
+ currentNumberOfClients: number;
5
+ totalAddedCall: number;
6
+ totalRemovedCall: number;
7
+ totalRttLt50Measurements: number;
8
+ totalRttLt150Measurements: number;
9
+ totalRttLt300Measurements: number;
10
+ totalRttGtOrEq300Measurements: number;
11
+ totalClientIssues: number;
12
+ };
13
+ //# sourceMappingURL=ObserverSummary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObserverSummary.d.ts","sourceRoot":"","sources":["../src/ObserverSummary.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+BAA+B,EAAE,MAAM,CAAC;IACxC,sBAAsB,EAAE,MAAM,CAAC;IAE/B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,6BAA6B,EAAE,MAAM,CAAC;IAEtC,iBAAiB,EAAE,MAAM,CAAC;CAC1B,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -5,6 +5,7 @@ export type Writable<T> = T extends object ? {
5
5
  export declare function iteratorConverter<T>(generator: Generator<T, void, undefined>): IterableIterator<T>;
6
6
  export declare function asyncIteratorConverter<T>(generator: AsyncGenerator<T, void, undefined>): AsyncIterableIterator<T>;
7
7
  export declare function isValidUuid(str: string): boolean;
8
- export declare function getMedian(arr: number[]): number;
8
+ export declare function getAverage(arr: number[], defaultAvgIfArrLengthIs0?: number): number;
9
+ export declare function getMedian(arr: number[], copyArrayForSorting?: boolean): number;
9
10
  export declare function parseJsonAs<T>(json?: string): T | undefined;
10
11
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,CAAC,CAAC;AAE9F,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CASlG;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CASjH;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIhD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAc/C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAU3D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,CAAC,CAAC;AAE9F,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CASlG;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CASjH;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIhD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,wBAAwB,SAAI,GAAG,MAAM,CAI9E;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,mBAAmB,UAAO,GAAG,MAAM,CAkB3E;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAU3D"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseJsonAs = exports.getMedian = exports.isValidUuid = exports.asyncIteratorConverter = exports.iteratorConverter = void 0;
3
+ exports.parseJsonAs = exports.getMedian = exports.getAverage = exports.isValidUuid = exports.asyncIteratorConverter = exports.iteratorConverter = void 0;
4
4
  function iteratorConverter(generator) {
5
5
  return {
6
6
  [Symbol.iterator]() {
@@ -28,9 +28,17 @@ function isValidUuid(str) {
28
28
  return regexp.test(str);
29
29
  }
30
30
  exports.isValidUuid = isValidUuid;
31
- function getMedian(arr) {
31
+ function getAverage(arr, defaultAvgIfArrLengthIs0 = 0) {
32
+ if (arr.length === 0)
33
+ return defaultAvgIfArrLengthIs0;
34
+ return arr.reduce((a, b) => a + b, 0) / arr.length;
35
+ }
36
+ exports.getAverage = getAverage;
37
+ function getMedian(arr, copyArrayForSorting = true) {
32
38
  // Sort the array in ascending order
33
- const sortedArr = arr.slice().sort((a, b) => a - b);
39
+ const sortedArr = copyArrayForSorting
40
+ ? arr.slice().sort((a, b) => a - b)
41
+ : arr.sort((a, b) => a - b);
34
42
  // Calculate the middle index
35
43
  const mid = Math.floor(sortedArr.length / 2);
36
44
  // If the array length is odd, return the middle element
package/lib/index.d.ts CHANGED
@@ -1,22 +1,28 @@
1
1
  export type { ObserverEvents } from './Observer';
2
2
  export { Observer } from './Observer';
3
3
  export { ObservedCall } from './ObservedCall';
4
- export { ObservedInboundTrack } from './ObservedInboundTrack';
5
- export { ObservedOutboundTrack } from './ObservedOutboundTrack';
4
+ export { ObservedInboundTrack } from './webrtc/ObservedInboundTrack';
5
+ export { ObservedOutboundTrack } from './webrtc/ObservedOutboundTrack';
6
6
  export { ObservedClient } from './ObservedClient';
7
- export { ObservedPeerConnection } from './ObservedPeerConnection';
8
- export { ObservedMediaSource } from './ObservedMediaSource';
9
- export { ObservedMediaPlayout } from './ObservedMediaPlayout';
10
- export { ObservedCodec } from './ObservedCodec';
11
- export { ObservedCertificate } from './ObservedCertificate';
12
- export { ObservedDataChannel } from './ObservedDataChannel';
13
- export { ObservedInboundRtp } from './ObservedInboundRtp';
14
- export { ObservedOutboundRtp } from './ObservedOutboundRtp';
15
- export { ObservedRemoteInboundRtp } from './ObservedRemoteInboundRtp';
16
- export { ObservedRemoteOutboundRtp } from './ObservedRemoteOutboundRtp';
17
- export { ObservedIceCandidatePair } from './ObservedIceCandidatePair';
18
- export { ObservedIceCandidate } from './ObservedIceCandidate';
19
- export { ObservedIceTransport } from './ObservedIceTransport';
20
- export { ObservedPeerConnectionTransport } from './ObservedPeerConnectionTransport';
7
+ export { ObservedPeerConnection } from './webrtc/ObservedPeerConnection';
8
+ export { ObservedMediaSource } from './webrtc/ObservedMediaSource';
9
+ export { ObservedMediaPlayout } from './webrtc/ObservedMediaPlayout';
10
+ export { ObservedCodec } from './webrtc/ObservedCodec';
11
+ export { ObservedCertificate } from './webrtc/ObservedCertificate';
12
+ export { ObservedDataChannel } from './webrtc/ObservedDataChannel';
13
+ export { ObservedInboundRtp } from './webrtc/ObservedInboundRtp';
14
+ export { ObservedOutboundRtp } from './webrtc/ObservedOutboundRtp';
15
+ export { ObservedRemoteInboundRtp } from './webrtc/ObservedRemoteInboundRtp';
16
+ export { ObservedRemoteOutboundRtp } from './webrtc/ObservedRemoteOutboundRtp';
17
+ export { ObservedIceCandidatePair } from './webrtc/ObservedIceCandidatePair';
18
+ export { ObservedIceCandidate } from './webrtc/ObservedIceCandidate';
19
+ export { ObservedIceTransport } from './webrtc/ObservedIceTransport';
20
+ export { ObservedPeerConnectionTransport } from './webrtc/ObservedPeerConnectionTransport';
21
+ export { ClientEventTypes } from './schema/ClientEventTypes';
22
+ export { ClientMetaTypes } from './schema/ClientMetaTypes';
23
+ export { ClientSample, ClientIssue, ClientEvent, ClientMetaData } from './schema/ClientSample';
24
+ export { ScoreCalculator } from './scores/ScoreCalculator';
25
+ export { ObservedClientEventMonitor } from './ObservedClientEventMonitor';
26
+ export { ObserverEventMonitor } from './ObserverEventMonitor';
21
27
  export { Middleware } from './common/Middleware';
22
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
package/lib/index.js CHANGED
@@ -1,41 +1,49 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObservedPeerConnectionTransport = exports.ObservedIceTransport = exports.ObservedIceCandidate = exports.ObservedIceCandidatePair = exports.ObservedRemoteOutboundRtp = exports.ObservedRemoteInboundRtp = exports.ObservedOutboundRtp = exports.ObservedInboundRtp = exports.ObservedDataChannel = exports.ObservedCertificate = exports.ObservedCodec = exports.ObservedMediaPlayout = exports.ObservedMediaSource = exports.ObservedPeerConnection = exports.ObservedClient = exports.ObservedOutboundTrack = exports.ObservedInboundTrack = exports.ObservedCall = exports.Observer = void 0;
3
+ exports.ObserverEventMonitor = exports.ObservedClientEventMonitor = exports.ClientMetaTypes = exports.ClientEventTypes = exports.ObservedPeerConnectionTransport = exports.ObservedIceTransport = exports.ObservedIceCandidate = exports.ObservedIceCandidatePair = exports.ObservedRemoteOutboundRtp = exports.ObservedRemoteInboundRtp = exports.ObservedOutboundRtp = exports.ObservedInboundRtp = exports.ObservedDataChannel = exports.ObservedCertificate = exports.ObservedCodec = exports.ObservedMediaPlayout = exports.ObservedMediaSource = exports.ObservedPeerConnection = exports.ObservedClient = exports.ObservedOutboundTrack = exports.ObservedInboundTrack = exports.ObservedCall = exports.Observer = void 0;
4
4
  var Observer_1 = require("./Observer");
5
5
  Object.defineProperty(exports, "Observer", { enumerable: true, get: function () { return Observer_1.Observer; } });
6
6
  var ObservedCall_1 = require("./ObservedCall");
7
7
  Object.defineProperty(exports, "ObservedCall", { enumerable: true, get: function () { return ObservedCall_1.ObservedCall; } });
8
- var ObservedInboundTrack_1 = require("./ObservedInboundTrack");
8
+ var ObservedInboundTrack_1 = require("./webrtc/ObservedInboundTrack");
9
9
  Object.defineProperty(exports, "ObservedInboundTrack", { enumerable: true, get: function () { return ObservedInboundTrack_1.ObservedInboundTrack; } });
10
- var ObservedOutboundTrack_1 = require("./ObservedOutboundTrack");
10
+ var ObservedOutboundTrack_1 = require("./webrtc/ObservedOutboundTrack");
11
11
  Object.defineProperty(exports, "ObservedOutboundTrack", { enumerable: true, get: function () { return ObservedOutboundTrack_1.ObservedOutboundTrack; } });
12
12
  var ObservedClient_1 = require("./ObservedClient");
13
13
  Object.defineProperty(exports, "ObservedClient", { enumerable: true, get: function () { return ObservedClient_1.ObservedClient; } });
14
- var ObservedPeerConnection_1 = require("./ObservedPeerConnection");
14
+ var ObservedPeerConnection_1 = require("./webrtc/ObservedPeerConnection");
15
15
  Object.defineProperty(exports, "ObservedPeerConnection", { enumerable: true, get: function () { return ObservedPeerConnection_1.ObservedPeerConnection; } });
16
- var ObservedMediaSource_1 = require("./ObservedMediaSource");
16
+ var ObservedMediaSource_1 = require("./webrtc/ObservedMediaSource");
17
17
  Object.defineProperty(exports, "ObservedMediaSource", { enumerable: true, get: function () { return ObservedMediaSource_1.ObservedMediaSource; } });
18
- var ObservedMediaPlayout_1 = require("./ObservedMediaPlayout");
18
+ var ObservedMediaPlayout_1 = require("./webrtc/ObservedMediaPlayout");
19
19
  Object.defineProperty(exports, "ObservedMediaPlayout", { enumerable: true, get: function () { return ObservedMediaPlayout_1.ObservedMediaPlayout; } });
20
- var ObservedCodec_1 = require("./ObservedCodec");
20
+ var ObservedCodec_1 = require("./webrtc/ObservedCodec");
21
21
  Object.defineProperty(exports, "ObservedCodec", { enumerable: true, get: function () { return ObservedCodec_1.ObservedCodec; } });
22
- var ObservedCertificate_1 = require("./ObservedCertificate");
22
+ var ObservedCertificate_1 = require("./webrtc/ObservedCertificate");
23
23
  Object.defineProperty(exports, "ObservedCertificate", { enumerable: true, get: function () { return ObservedCertificate_1.ObservedCertificate; } });
24
- var ObservedDataChannel_1 = require("./ObservedDataChannel");
24
+ var ObservedDataChannel_1 = require("./webrtc/ObservedDataChannel");
25
25
  Object.defineProperty(exports, "ObservedDataChannel", { enumerable: true, get: function () { return ObservedDataChannel_1.ObservedDataChannel; } });
26
- var ObservedInboundRtp_1 = require("./ObservedInboundRtp");
26
+ var ObservedInboundRtp_1 = require("./webrtc/ObservedInboundRtp");
27
27
  Object.defineProperty(exports, "ObservedInboundRtp", { enumerable: true, get: function () { return ObservedInboundRtp_1.ObservedInboundRtp; } });
28
- var ObservedOutboundRtp_1 = require("./ObservedOutboundRtp");
28
+ var ObservedOutboundRtp_1 = require("./webrtc/ObservedOutboundRtp");
29
29
  Object.defineProperty(exports, "ObservedOutboundRtp", { enumerable: true, get: function () { return ObservedOutboundRtp_1.ObservedOutboundRtp; } });
30
- var ObservedRemoteInboundRtp_1 = require("./ObservedRemoteInboundRtp");
30
+ var ObservedRemoteInboundRtp_1 = require("./webrtc/ObservedRemoteInboundRtp");
31
31
  Object.defineProperty(exports, "ObservedRemoteInboundRtp", { enumerable: true, get: function () { return ObservedRemoteInboundRtp_1.ObservedRemoteInboundRtp; } });
32
- var ObservedRemoteOutboundRtp_1 = require("./ObservedRemoteOutboundRtp");
32
+ var ObservedRemoteOutboundRtp_1 = require("./webrtc/ObservedRemoteOutboundRtp");
33
33
  Object.defineProperty(exports, "ObservedRemoteOutboundRtp", { enumerable: true, get: function () { return ObservedRemoteOutboundRtp_1.ObservedRemoteOutboundRtp; } });
34
- var ObservedIceCandidatePair_1 = require("./ObservedIceCandidatePair");
34
+ var ObservedIceCandidatePair_1 = require("./webrtc/ObservedIceCandidatePair");
35
35
  Object.defineProperty(exports, "ObservedIceCandidatePair", { enumerable: true, get: function () { return ObservedIceCandidatePair_1.ObservedIceCandidatePair; } });
36
- var ObservedIceCandidate_1 = require("./ObservedIceCandidate");
36
+ var ObservedIceCandidate_1 = require("./webrtc/ObservedIceCandidate");
37
37
  Object.defineProperty(exports, "ObservedIceCandidate", { enumerable: true, get: function () { return ObservedIceCandidate_1.ObservedIceCandidate; } });
38
- var ObservedIceTransport_1 = require("./ObservedIceTransport");
38
+ var ObservedIceTransport_1 = require("./webrtc/ObservedIceTransport");
39
39
  Object.defineProperty(exports, "ObservedIceTransport", { enumerable: true, get: function () { return ObservedIceTransport_1.ObservedIceTransport; } });
40
- var ObservedPeerConnectionTransport_1 = require("./ObservedPeerConnectionTransport");
40
+ var ObservedPeerConnectionTransport_1 = require("./webrtc/ObservedPeerConnectionTransport");
41
41
  Object.defineProperty(exports, "ObservedPeerConnectionTransport", { enumerable: true, get: function () { return ObservedPeerConnectionTransport_1.ObservedPeerConnectionTransport; } });
42
+ var ClientEventTypes_1 = require("./schema/ClientEventTypes");
43
+ Object.defineProperty(exports, "ClientEventTypes", { enumerable: true, get: function () { return ClientEventTypes_1.ClientEventTypes; } });
44
+ var ClientMetaTypes_1 = require("./schema/ClientMetaTypes");
45
+ Object.defineProperty(exports, "ClientMetaTypes", { enumerable: true, get: function () { return ClientMetaTypes_1.ClientMetaTypes; } });
46
+ var ObservedClientEventMonitor_1 = require("./ObservedClientEventMonitor");
47
+ Object.defineProperty(exports, "ObservedClientEventMonitor", { enumerable: true, get: function () { return ObservedClientEventMonitor_1.ObservedClientEventMonitor; } });
48
+ var ObserverEventMonitor_1 = require("./ObserverEventMonitor");
49
+ Object.defineProperty(exports, "ObserverEventMonitor", { enumerable: true, get: function () { return ObserverEventMonitor_1.ObserverEventMonitor; } });
@@ -0,0 +1,7 @@
1
+ import { Observer } from "../Observer";
2
+ export declare class ObservedMediasoupRouter<T extends Record<string, unknown> = Record<string, unknown>> {
3
+ readonly parent: Observer;
4
+ readonly appData: T;
5
+ constructor(parent: Observer, appData?: T);
6
+ }
7
+ //# sourceMappingURL=ObservedMediasoupRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservedMediasoupRouter.d.ts","sourceRoot":"","sources":["../../src/mediasoup/ObservedMediasoupRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;aAGxE,MAAM,EAAE,QAAQ;IAFpC,SAAgB,OAAO,EAAE,CAAC,CAAC;gBAEP,MAAM,EAAE,QAAQ,EAChC,OAAO,CAAC,EAAE,CAAC;CAIlB"}