mediasoup 3.14.15 → 3.15.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 (163) hide show
  1. package/node/lib/ActiveSpeakerObserver.d.ts +7 -33
  2. package/node/lib/ActiveSpeakerObserver.d.ts.map +1 -1
  3. package/node/lib/ActiveSpeakerObserver.js +12 -11
  4. package/node/lib/ActiveSpeakerObserverTypes.d.ts +39 -0
  5. package/node/lib/ActiveSpeakerObserverTypes.d.ts.map +1 -0
  6. package/node/lib/ActiveSpeakerObserverTypes.js +2 -0
  7. package/node/lib/AudioLevelObserver.d.ts +7 -52
  8. package/node/lib/AudioLevelObserver.d.ts.map +1 -1
  9. package/node/lib/AudioLevelObserver.js +14 -13
  10. package/node/lib/AudioLevelObserverTypes.d.ts +58 -0
  11. package/node/lib/AudioLevelObserverTypes.d.ts.map +1 -0
  12. package/node/lib/AudioLevelObserverTypes.js +2 -0
  13. package/node/lib/Channel.d.ts +0 -9
  14. package/node/lib/Channel.d.ts.map +1 -1
  15. package/node/lib/Channel.js +0 -9
  16. package/node/lib/Consumer.d.ts +9 -291
  17. package/node/lib/Consumer.d.ts.map +1 -1
  18. package/node/lib/Consumer.js +38 -114
  19. package/node/lib/ConsumerTypes.d.ts +315 -0
  20. package/node/lib/ConsumerTypes.d.ts.map +1 -0
  21. package/node/lib/ConsumerTypes.js +2 -0
  22. package/node/lib/DataConsumer.d.ts +7 -163
  23. package/node/lib/DataConsumer.d.ts.map +1 -1
  24. package/node/lib/DataConsumer.js +23 -97
  25. package/node/lib/DataConsumerTypes.d.ts +192 -0
  26. package/node/lib/DataConsumerTypes.d.ts.map +1 -0
  27. package/node/lib/DataConsumerTypes.js +2 -0
  28. package/node/lib/DataProducer.d.ts +6 -114
  29. package/node/lib/DataProducer.d.ts.map +1 -1
  30. package/node/lib/DataProducer.js +11 -61
  31. package/node/lib/DataProducerTypes.d.ts +134 -0
  32. package/node/lib/DataProducerTypes.d.ts.map +1 -0
  33. package/node/lib/DataProducerTypes.js +2 -0
  34. package/node/lib/DirectTransport.d.ts +8 -71
  35. package/node/lib/DirectTransport.d.ts.map +1 -1
  36. package/node/lib/DirectTransport.js +13 -48
  37. package/node/lib/DirectTransportTypes.d.ts +62 -0
  38. package/node/lib/DirectTransportTypes.d.ts.map +1 -0
  39. package/node/lib/DirectTransportTypes.js +2 -0
  40. package/node/lib/Logger.d.ts +1 -1
  41. package/node/lib/Logger.d.ts.map +1 -1
  42. package/node/lib/PipeTransport.d.ts +11 -133
  43. package/node/lib/PipeTransport.d.ts.map +1 -1
  44. package/node/lib/PipeTransport.js +27 -56
  45. package/node/lib/PipeTransportTypes.d.ts +146 -0
  46. package/node/lib/PipeTransportTypes.d.ts.map +1 -0
  47. package/node/lib/PipeTransportTypes.js +2 -0
  48. package/node/lib/PlainTransport.d.ts +9 -145
  49. package/node/lib/PlainTransport.d.ts.map +1 -1
  50. package/node/lib/PlainTransport.js +16 -54
  51. package/node/lib/PlainTransportTypes.d.ts +156 -0
  52. package/node/lib/PlainTransportTypes.d.ts.map +1 -0
  53. package/node/lib/PlainTransportTypes.js +2 -0
  54. package/node/lib/Producer.d.ts +8 -186
  55. package/node/lib/Producer.d.ts.map +1 -1
  56. package/node/lib/Producer.js +19 -76
  57. package/node/lib/ProducerTypes.d.ts +203 -0
  58. package/node/lib/ProducerTypes.d.ts.map +1 -0
  59. package/node/lib/ProducerTypes.js +2 -0
  60. package/node/lib/Router.d.ts +15 -208
  61. package/node/lib/Router.d.ts.map +1 -1
  62. package/node/lib/Router.js +35 -86
  63. package/node/lib/RouterTypes.d.ts +228 -0
  64. package/node/lib/RouterTypes.d.ts.map +1 -0
  65. package/node/lib/RouterTypes.js +2 -0
  66. package/node/lib/RtpObserver.d.ts +14 -69
  67. package/node/lib/RtpObserver.d.ts.map +1 -1
  68. package/node/lib/RtpObserver.js +5 -47
  69. package/node/lib/RtpObserverTypes.d.ts +87 -0
  70. package/node/lib/RtpObserverTypes.d.ts.map +1 -0
  71. package/node/lib/RtpObserverTypes.js +2 -0
  72. package/node/lib/Transport.d.ts +18 -312
  73. package/node/lib/Transport.d.ts.map +1 -1
  74. package/node/lib/Transport.js +30 -121
  75. package/node/lib/TransportTypes.d.ts +349 -0
  76. package/node/lib/TransportTypes.d.ts.map +1 -0
  77. package/node/lib/TransportTypes.js +2 -0
  78. package/node/lib/WebRtcServer.d.ts +6 -83
  79. package/node/lib/WebRtcServer.d.ts.map +1 -1
  80. package/node/lib/WebRtcServer.js +15 -42
  81. package/node/lib/WebRtcServerTypes.d.ts +90 -0
  82. package/node/lib/WebRtcServerTypes.d.ts.map +1 -0
  83. package/node/lib/WebRtcServerTypes.js +2 -0
  84. package/node/lib/WebRtcTransport.d.ts +8 -219
  85. package/node/lib/WebRtcTransport.d.ts.map +1 -1
  86. package/node/lib/WebRtcTransport.js +14 -75
  87. package/node/lib/WebRtcTransportTypes.d.ts +228 -0
  88. package/node/lib/WebRtcTransportTypes.d.ts.map +1 -0
  89. package/node/lib/WebRtcTransportTypes.js +2 -0
  90. package/node/lib/Worker.d.ts +6 -200
  91. package/node/lib/Worker.d.ts.map +1 -1
  92. package/node/lib/Worker.js +17 -54
  93. package/node/lib/WorkerTypes.d.ts +211 -0
  94. package/node/lib/WorkerTypes.d.ts.map +1 -0
  95. package/node/lib/WorkerTypes.js +2 -0
  96. package/node/lib/enhancedEvents.d.ts.map +1 -1
  97. package/node/lib/enhancedEvents.js +0 -3
  98. package/node/lib/fbsUtils.d.ts +40 -0
  99. package/node/lib/fbsUtils.d.ts.map +1 -0
  100. package/node/lib/fbsUtils.js +82 -0
  101. package/node/lib/index.d.ts +9 -16
  102. package/node/lib/index.d.ts.map +1 -1
  103. package/node/lib/index.js +8 -10
  104. package/node/lib/ortc.d.ts +6 -6
  105. package/node/lib/ortc.d.ts.map +1 -1
  106. package/node/lib/ortc.js +2 -2
  107. package/node/lib/rtpParametersFbsUtils.d.ts +15 -0
  108. package/node/lib/rtpParametersFbsUtils.d.ts.map +1 -0
  109. package/node/lib/{RtpParameters.js → rtpParametersFbsUtils.js} +5 -5
  110. package/node/lib/{RtpParameters.d.ts → rtpParametersTypes.d.ts} +1 -14
  111. package/node/lib/rtpParametersTypes.d.ts.map +1 -0
  112. package/node/lib/rtpParametersTypes.js +2 -0
  113. package/node/lib/rtpStreamStatsFbsUtils.d.ts +6 -0
  114. package/node/lib/rtpStreamStatsFbsUtils.d.ts.map +1 -0
  115. package/node/lib/{RtpStream.d.ts → rtpStreamStatsTypes.d.ts} +5 -10
  116. package/node/lib/rtpStreamStatsTypes.d.ts.map +1 -0
  117. package/node/lib/rtpStreamStatsTypes.js +2 -0
  118. package/node/lib/scalabilityModesTypes.d.ts +6 -0
  119. package/node/lib/scalabilityModesTypes.d.ts.map +1 -0
  120. package/node/lib/scalabilityModesTypes.js +2 -0
  121. package/node/lib/scalabilityModesUtils.d.ts +3 -0
  122. package/node/lib/scalabilityModesUtils.d.ts.map +1 -0
  123. package/node/lib/{scalabilityModes.js → scalabilityModesUtils.js} +2 -2
  124. package/node/lib/sctpParametersFbsUtils.d.ts +7 -0
  125. package/node/lib/sctpParametersFbsUtils.d.ts.map +1 -0
  126. package/node/lib/{SctpParameters.d.ts → sctpParametersTypes.d.ts} +1 -6
  127. package/node/lib/sctpParametersTypes.d.ts.map +1 -0
  128. package/node/lib/sctpParametersTypes.js +2 -0
  129. package/node/lib/{SrtpParameters.d.ts → srtpParametersFbsUtils.d.ts} +2 -18
  130. package/node/lib/srtpParametersFbsUtils.d.ts.map +1 -0
  131. package/node/lib/srtpParametersTypes.d.ts +18 -0
  132. package/node/lib/srtpParametersTypes.d.ts.map +1 -0
  133. package/node/lib/srtpParametersTypes.js +2 -0
  134. package/node/lib/supportedRtpCapabilities.d.ts +1 -1
  135. package/node/lib/supportedRtpCapabilities.d.ts.map +1 -1
  136. package/node/lib/test/test-ActiveSpeakerObserver.js +5 -4
  137. package/node/lib/test/test-AudioLevelObserver.js +1 -0
  138. package/node/lib/test/test-Consumer.js +2 -2
  139. package/node/lib/test/test-DirectTransport.js +1 -1
  140. package/node/lib/test/test-PipeTransport.js +3 -2
  141. package/node/lib/test/test-PlainTransport.js +2 -3
  142. package/node/lib/test/test-Producer.js +2 -2
  143. package/node/lib/test/test-Router.js +2 -2
  144. package/node/lib/test/test-WebRtcServer.js +14 -6
  145. package/node/lib/test/test-WebRtcTransport.js +4 -4
  146. package/node/lib/test/test-Worker.js +2 -2
  147. package/node/lib/types.d.ts +32 -23
  148. package/node/lib/types.d.ts.map +1 -1
  149. package/node/lib/types.js +2 -15
  150. package/node/lib/utils.d.ts +0 -45
  151. package/node/lib/utils.d.ts.map +1 -1
  152. package/node/lib/utils.js +0 -101
  153. package/package.json +10 -10
  154. package/worker/src/RTC/SimulcastConsumer.cpp +4 -5
  155. package/node/lib/RtpParameters.d.ts.map +0 -1
  156. package/node/lib/RtpStream.d.ts.map +0 -1
  157. package/node/lib/SctpParameters.d.ts.map +0 -1
  158. package/node/lib/SrtpParameters.d.ts.map +0 -1
  159. package/node/lib/scalabilityModes.d.ts +0 -7
  160. package/node/lib/scalabilityModes.d.ts.map +0 -1
  161. /package/node/lib/{RtpStream.js → rtpStreamStatsFbsUtils.js} +0 -0
  162. /package/node/lib/{SctpParameters.js → sctpParametersFbsUtils.js} +0 -0
  163. /package/node/lib/{SrtpParameters.js → srtpParametersFbsUtils.js} +0 -0
@@ -1,40 +1,14 @@
1
- import { EnhancedEventEmitter } from './enhancedEvents';
2
- import { RtpObserver, RtpObserverEvents, RtpObserverObserverEvents, RtpObserverConstructorOptions } from './RtpObserver';
3
- import { Producer } from './Producer';
4
- import { AppData } from './types';
5
- export type ActiveSpeakerObserverOptions<ActiveSpeakerObserverAppData extends AppData = AppData> = {
6
- interval?: number;
7
- /**
8
- * Custom application data.
9
- */
10
- appData?: ActiveSpeakerObserverAppData;
11
- };
12
- export type ActiveSpeakerObserverDominantSpeaker = {
13
- /**
14
- * The audio Producer instance.
15
- */
16
- producer: Producer;
17
- };
18
- export type ActiveSpeakerObserverEvents = RtpObserverEvents & {
19
- dominantspeaker: [ActiveSpeakerObserverDominantSpeaker];
20
- };
21
- export type ActiveSpeakerObserverObserver = EnhancedEventEmitter<ActiveSpeakerObserverObserverEvents>;
22
- export type ActiveSpeakerObserverObserverEvents = RtpObserverObserverEvents & {
23
- dominantspeaker: [ActiveSpeakerObserverDominantSpeaker];
24
- };
1
+ import type { ActiveSpeakerObserver, ActiveSpeakerObserverEvents, ActiveSpeakerObserverObserver } from './ActiveSpeakerObserverTypes';
2
+ import type { RtpObserver } from './RtpObserverTypes';
3
+ import { RtpObserverImpl, RtpObserverConstructorOptions } from './RtpObserver';
4
+ import type { AppData } from './types';
25
5
  type RtpObserverObserverConstructorOptions<ActiveSpeakerObserverAppData> = RtpObserverConstructorOptions<ActiveSpeakerObserverAppData>;
26
- export declare class ActiveSpeakerObserver<ActiveSpeakerObserverAppData extends AppData = AppData> extends RtpObserver<ActiveSpeakerObserverAppData, ActiveSpeakerObserverEvents, ActiveSpeakerObserverObserver> {
27
- /**
28
- * @private
29
- */
6
+ export declare class ActiveSpeakerObserverImpl<ActiveSpeakerObserverAppData extends AppData = AppData> extends RtpObserverImpl<ActiveSpeakerObserverAppData, ActiveSpeakerObserverEvents, ActiveSpeakerObserverObserver> implements RtpObserver, ActiveSpeakerObserver {
30
7
  constructor(options: RtpObserverObserverConstructorOptions<ActiveSpeakerObserverAppData>);
31
- /**
32
- * Observer.
33
- *
34
- * @override
35
- */
8
+ get type(): 'activespeaker';
36
9
  get observer(): ActiveSpeakerObserverObserver;
37
10
  private handleWorkerNotifications;
11
+ private handleListenerError;
38
12
  }
39
13
  export {};
40
14
  //# sourceMappingURL=ActiveSpeakerObserver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActiveSpeakerObserver.d.ts","sourceRoot":"","sources":["../src/ActiveSpeakerObserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACN,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,6BAA6B,EAC7B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,MAAM,MAAM,4BAA4B,CACvC,4BAA4B,SAAS,OAAO,GAAG,OAAO,IACnD;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,4BAA4B,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IAClD;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,GAAG;IAC7D,eAAe,EAAE,CAAC,oCAAoC,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,6BAA6B,GACxC,oBAAoB,CAAC,mCAAmC,CAAC,CAAC;AAE3D,MAAM,MAAM,mCAAmC,GAAG,yBAAyB,GAAG;IAC7E,eAAe,EAAE,CAAC,oCAAoC,CAAC,CAAC;CACxD,CAAC;AAEF,KAAK,qCAAqC,CAAC,4BAA4B,IACtE,6BAA6B,CAAC,4BAA4B,CAAC,CAAC;AAI7D,qBAAa,qBAAqB,CACjC,4BAA4B,SAAS,OAAO,GAAG,OAAO,CACrD,SAAQ,WAAW,CACpB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,CAC7B;IACA;;OAEG;gBAEF,OAAO,EAAE,qCAAqC,CAAC,4BAA4B,CAAC;IAU7E;;;;OAIG;IACH,IAAI,QAAQ,IAAI,6BAA6B,CAE5C;IAED,OAAO,CAAC,yBAAyB;CAkCjC"}
1
+ {"version":3,"file":"ActiveSpeakerObserver.d.ts","sourceRoot":"","sources":["../src/ActiveSpeakerObserver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,qBAAqB,EAErB,2BAA2B,EAC3B,6BAA6B,EAE7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,KAAK,qCAAqC,CAAC,4BAA4B,IACtE,6BAA6B,CAAC,4BAA4B,CAAC,CAAC;AAI7D,qBAAa,yBAAyB,CACpC,4BAA4B,SAAS,OAAO,GAAG,OAAO,CAEvD,SAAQ,eAAe,CACtB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,CAE9B,YAAW,WAAW,EAAE,qBAAqB;gBAG5C,OAAO,EAAE,qCAAqC,CAAC,4BAA4B,CAAC;IAW7E,IAAI,IAAI,IAAI,eAAe,CAE1B;IAED,IAAI,QAAQ,IAAI,6BAA6B,CAE5C;IAED,OAAO,CAAC,yBAAyB;IAmCjC,OAAO,CAAC,mBAAmB;CAQ3B"}
@@ -1,26 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActiveSpeakerObserver = void 0;
3
+ exports.ActiveSpeakerObserverImpl = void 0;
4
4
  const Logger_1 = require("./Logger");
5
5
  const enhancedEvents_1 = require("./enhancedEvents");
6
6
  const RtpObserver_1 = require("./RtpObserver");
7
7
  const notification_1 = require("./fbs/notification");
8
8
  const FbsActiveSpeakerObserver = require("./fbs/active-speaker-observer");
9
9
  const logger = new Logger_1.Logger('ActiveSpeakerObserver');
10
- class ActiveSpeakerObserver extends RtpObserver_1.RtpObserver {
11
- /**
12
- * @private
13
- */
10
+ class ActiveSpeakerObserverImpl extends RtpObserver_1.RtpObserverImpl {
14
11
  constructor(options) {
15
12
  const observer = new enhancedEvents_1.EnhancedEventEmitter();
16
13
  super(options, observer);
17
14
  this.handleWorkerNotifications();
15
+ this.handleListenerError();
16
+ }
17
+ get type() {
18
+ return 'activespeaker';
18
19
  }
19
- /**
20
- * Observer.
21
- *
22
- * @override
23
- */
24
20
  get observer() {
25
21
  return super.observer;
26
22
  }
@@ -47,5 +43,10 @@ class ActiveSpeakerObserver extends RtpObserver_1.RtpObserver {
47
43
  }
48
44
  });
49
45
  }
46
+ handleListenerError() {
47
+ this.on('listenererror', (eventName, error) => {
48
+ logger.error(`event listener threw an error [eventName:${eventName}]:`, error);
49
+ });
50
+ }
50
51
  }
51
- exports.ActiveSpeakerObserver = ActiveSpeakerObserver;
52
+ exports.ActiveSpeakerObserverImpl = ActiveSpeakerObserverImpl;
@@ -0,0 +1,39 @@
1
+ import type { EnhancedEventEmitter } from './enhancedEvents';
2
+ import type { RtpObserver, RtpObserverEvents, RtpObserverObserverEvents } from './RtpObserverTypes';
3
+ import type { Producer } from './ProducerTypes';
4
+ import type { AppData } from './types';
5
+ export type ActiveSpeakerObserverOptions<ActiveSpeakerObserverAppData extends AppData = AppData> = {
6
+ interval?: number;
7
+ /**
8
+ * Custom application data.
9
+ */
10
+ appData?: ActiveSpeakerObserverAppData;
11
+ };
12
+ export type ActiveSpeakerObserverDominantSpeaker = {
13
+ /**
14
+ * The audio Producer instance.
15
+ */
16
+ producer: Producer;
17
+ };
18
+ export type ActiveSpeakerObserverEvents = RtpObserverEvents & {
19
+ dominantspeaker: [ActiveSpeakerObserverDominantSpeaker];
20
+ };
21
+ export type ActiveSpeakerObserverObserver = EnhancedEventEmitter<ActiveSpeakerObserverObserverEvents>;
22
+ export type ActiveSpeakerObserverObserverEvents = RtpObserverObserverEvents & {
23
+ dominantspeaker: [ActiveSpeakerObserverDominantSpeaker];
24
+ };
25
+ export interface ActiveSpeakerObserver<ActiveSpeakerObserverAppData extends AppData = AppData> extends RtpObserver<ActiveSpeakerObserverAppData, ActiveSpeakerObserverEvents, ActiveSpeakerObserverObserver> {
26
+ /**
27
+ * RtpObserver type.
28
+ *
29
+ * @override
30
+ */
31
+ get type(): 'activespeaker';
32
+ /**
33
+ * Observer.
34
+ *
35
+ * @override
36
+ */
37
+ get observer(): ActiveSpeakerObserverObserver;
38
+ }
39
+ //# sourceMappingURL=ActiveSpeakerObserverTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActiveSpeakerObserverTypes.d.ts","sourceRoot":"","sources":["../src/ActiveSpeakerObserverTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EACX,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,4BAA4B,CACvC,4BAA4B,SAAS,OAAO,GAAG,OAAO,IACnD;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,4BAA4B,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IAClD;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,GAAG;IAC7D,eAAe,EAAE,CAAC,oCAAoC,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,6BAA6B,GACxC,oBAAoB,CAAC,mCAAmC,CAAC,CAAC;AAE3D,MAAM,MAAM,mCAAmC,GAAG,yBAAyB,GAAG;IAC7E,eAAe,EAAE,CAAC,oCAAoC,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,WAAW,qBAAqB,CACrC,4BAA4B,SAAS,OAAO,GAAG,OAAO,CACrD,SAAQ,WAAW,CACnB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,CAC7B;IACD;;;;OAIG;IACH,IAAI,IAAI,IAAI,eAAe,CAAC;IAE5B;;;;OAIG;IACH,IAAI,QAAQ,IAAI,6BAA6B,CAAC;CAC9C"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,59 +1,14 @@
1
- import { EnhancedEventEmitter } from './enhancedEvents';
2
- import { RtpObserver, RtpObserverEvents, RtpObserverObserverEvents, RtpObserverConstructorOptions } from './RtpObserver';
3
- import { Producer } from './Producer';
4
- import { AppData } from './types';
5
- export type AudioLevelObserverOptions<AudioLevelObserverAppData extends AppData = AppData> = {
6
- /**
7
- * Maximum number of entries in the 'volumes”' event. Default 1.
8
- */
9
- maxEntries?: number;
10
- /**
11
- * Minimum average volume (in dBvo from -127 to 0) for entries in the
12
- * 'volumes' event. Default -80.
13
- */
14
- threshold?: number;
15
- /**
16
- * Interval in ms for checking audio volumes. Default 1000.
17
- */
18
- interval?: number;
19
- /**
20
- * Custom application data.
21
- */
22
- appData?: AudioLevelObserverAppData;
23
- };
24
- export type AudioLevelObserverVolume = {
25
- /**
26
- * The audio Producer instance.
27
- */
28
- producer: Producer;
29
- /**
30
- * The average volume (in dBvo from -127 to 0) of the audio Producer in the
31
- * last interval.
32
- */
33
- volume: number;
34
- };
35
- export type AudioLevelObserverEvents = RtpObserverEvents & {
36
- volumes: [AudioLevelObserverVolume[]];
37
- silence: [];
38
- };
39
- export type AudioLevelObserverObserver = EnhancedEventEmitter<AudioLevelObserverObserverEvents>;
40
- export type AudioLevelObserverObserverEvents = RtpObserverObserverEvents & {
41
- volumes: [AudioLevelObserverVolume[]];
42
- silence: [];
43
- };
1
+ import type { AudioLevelObserver, AudioLevelObserverEvents, AudioLevelObserverObserver } from './AudioLevelObserverTypes';
2
+ import type { RtpObserver } from './RtpObserverTypes';
3
+ import { RtpObserverImpl, RtpObserverConstructorOptions } from './RtpObserver';
4
+ import type { AppData } from './types';
44
5
  type AudioLevelObserverConstructorOptions<AudioLevelObserverAppData> = RtpObserverConstructorOptions<AudioLevelObserverAppData>;
45
- export declare class AudioLevelObserver<AudioLevelObserverAppData extends AppData = AppData> extends RtpObserver<AudioLevelObserverAppData, AudioLevelObserverEvents, AudioLevelObserverObserver> {
46
- /**
47
- * @private
48
- */
6
+ export declare class AudioLevelObserverImpl<AudioLevelObserverAppData extends AppData = AppData> extends RtpObserverImpl<AudioLevelObserverAppData, AudioLevelObserverEvents, AudioLevelObserverObserver> implements RtpObserver, AudioLevelObserver {
49
7
  constructor(options: AudioLevelObserverConstructorOptions<AudioLevelObserverAppData>);
50
- /**
51
- * Observer.
52
- *
53
- * @override
54
- */
8
+ get type(): 'audiolevel';
55
9
  get observer(): AudioLevelObserverObserver;
56
10
  private handleWorkerNotifications;
11
+ private handleListenerError;
57
12
  }
58
13
  export {};
59
14
  //# sourceMappingURL=AudioLevelObserver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AudioLevelObserver.d.ts","sourceRoot":"","sources":["../src/AudioLevelObserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACN,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,6BAA6B,EAC7B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKlC,MAAM,MAAM,yBAAyB,CACpC,yBAAyB,SAAS,OAAO,GAAG,OAAO,IAChD;IACH;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACtC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,GAAG;IAC1D,OAAO,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,0BAA0B,GACrC,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;AAExD,MAAM,MAAM,gCAAgC,GAAG,yBAAyB,GAAG;IAC1E,OAAO,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF,KAAK,oCAAoC,CAAC,yBAAyB,IAClE,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;AAI1D,qBAAa,kBAAkB,CAC9B,yBAAyB,SAAS,OAAO,GAAG,OAAO,CAClD,SAAQ,WAAW,CACpB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,CAC1B;IACA;;OAEG;gBAEF,OAAO,EAAE,oCAAoC,CAAC,yBAAyB,CAAC;IAUzE;;;;OAIG;IACH,IAAI,QAAQ,IAAI,0BAA0B,CAEzC;IAED,OAAO,CAAC,yBAAyB;CAuDjC"}
1
+ {"version":3,"file":"AudioLevelObserver.d.ts","sourceRoot":"","sources":["../src/AudioLevelObserver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,kBAAkB,EAElB,wBAAwB,EACxB,0BAA0B,EAE1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKvC,KAAK,oCAAoC,CAAC,yBAAyB,IAClE,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;AAI1D,qBAAa,sBAAsB,CACjC,yBAAyB,SAAS,OAAO,GAAG,OAAO,CAEpD,SAAQ,eAAe,CACtB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,CAE3B,YAAW,WAAW,EAAE,kBAAkB;gBAGzC,OAAO,EAAE,oCAAoC,CAAC,yBAAyB,CAAC;IAWzE,IAAI,IAAI,IAAI,YAAY,CAEvB;IAED,IAAI,QAAQ,IAAI,0BAA0B,CAEzC;IAED,OAAO,CAAC,yBAAyB;IAwDjC,OAAO,CAAC,mBAAmB;CAQ3B"}
@@ -1,27 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AudioLevelObserver = void 0;
3
+ exports.AudioLevelObserverImpl = void 0;
4
4
  const Logger_1 = require("./Logger");
5
5
  const enhancedEvents_1 = require("./enhancedEvents");
6
6
  const RtpObserver_1 = require("./RtpObserver");
7
- const utils = require("./utils");
7
+ const fbsUtils = require("./fbsUtils");
8
8
  const notification_1 = require("./fbs/notification");
9
9
  const FbsAudioLevelObserver = require("./fbs/audio-level-observer");
10
10
  const logger = new Logger_1.Logger('AudioLevelObserver');
11
- class AudioLevelObserver extends RtpObserver_1.RtpObserver {
12
- /**
13
- * @private
14
- */
11
+ class AudioLevelObserverImpl extends RtpObserver_1.RtpObserverImpl {
15
12
  constructor(options) {
16
13
  const observer = new enhancedEvents_1.EnhancedEventEmitter();
17
14
  super(options, observer);
18
15
  this.handleWorkerNotifications();
16
+ this.handleListenerError();
17
+ }
18
+ get type() {
19
+ return 'audiolevel';
19
20
  }
20
- /**
21
- * Observer.
22
- *
23
- * @override
24
- */
25
21
  get observer() {
26
22
  return super.observer;
27
23
  }
@@ -33,7 +29,7 @@ class AudioLevelObserver extends RtpObserver_1.RtpObserver {
33
29
  data.body(notification);
34
30
  // Get the corresponding Producer instance and remove entries with
35
31
  // no Producer (it may have been closed in the meanwhile).
36
- const volumes = utils
32
+ const volumes = fbsUtils
37
33
  .parseVector(notification, 'volumes', parseVolume)
38
34
  .map(({ producerId, volume, }) => ({
39
35
  producer: this.getProducerById(producerId),
@@ -59,8 +55,13 @@ class AudioLevelObserver extends RtpObserver_1.RtpObserver {
59
55
  }
60
56
  });
61
57
  }
58
+ handleListenerError() {
59
+ this.on('listenererror', (eventName, error) => {
60
+ logger.error(`event listener threw an error [eventName:${eventName}]:`, error);
61
+ });
62
+ }
62
63
  }
63
- exports.AudioLevelObserver = AudioLevelObserver;
64
+ exports.AudioLevelObserverImpl = AudioLevelObserverImpl;
64
65
  function parseVolume(binary) {
65
66
  return {
66
67
  producerId: binary.producerId(),
@@ -0,0 +1,58 @@
1
+ import type { EnhancedEventEmitter } from './enhancedEvents';
2
+ import type { RtpObserver, RtpObserverEvents, RtpObserverObserverEvents } from './RtpObserverTypes';
3
+ import type { Producer } from './ProducerTypes';
4
+ import type { AppData } from './types';
5
+ export type AudioLevelObserverOptions<AudioLevelObserverAppData extends AppData = AppData> = {
6
+ /**
7
+ * Maximum number of entries in the 'volumes”' event. Default 1.
8
+ */
9
+ maxEntries?: number;
10
+ /**
11
+ * Minimum average volume (in dBvo from -127 to 0) for entries in the
12
+ * 'volumes' event. Default -80.
13
+ */
14
+ threshold?: number;
15
+ /**
16
+ * Interval in ms for checking audio volumes. Default 1000.
17
+ */
18
+ interval?: number;
19
+ /**
20
+ * Custom application data.
21
+ */
22
+ appData?: AudioLevelObserverAppData;
23
+ };
24
+ export type AudioLevelObserverVolume = {
25
+ /**
26
+ * The audio Producer instance.
27
+ */
28
+ producer: Producer;
29
+ /**
30
+ * The average volume (in dBvo from -127 to 0) of the audio Producer in the
31
+ * last interval.
32
+ */
33
+ volume: number;
34
+ };
35
+ export type AudioLevelObserverEvents = RtpObserverEvents & {
36
+ volumes: [AudioLevelObserverVolume[]];
37
+ silence: [];
38
+ };
39
+ export type AudioLevelObserverObserver = EnhancedEventEmitter<AudioLevelObserverObserverEvents>;
40
+ export type AudioLevelObserverObserverEvents = RtpObserverObserverEvents & {
41
+ volumes: [AudioLevelObserverVolume[]];
42
+ silence: [];
43
+ };
44
+ export interface AudioLevelObserver<AudioLevelObserverAppData extends AppData = AppData> extends RtpObserver<AudioLevelObserverAppData, AudioLevelObserverEvents, AudioLevelObserverObserver> {
45
+ /**
46
+ * RtpObserver type.
47
+ *
48
+ * @override
49
+ */
50
+ get type(): 'audiolevel';
51
+ /**
52
+ * Observer.
53
+ *
54
+ * @override
55
+ */
56
+ get observer(): AudioLevelObserverObserver;
57
+ }
58
+ //# sourceMappingURL=AudioLevelObserverTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioLevelObserverTypes.d.ts","sourceRoot":"","sources":["../src/AudioLevelObserverTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EACX,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,yBAAyB,CACpC,yBAAyB,SAAS,OAAO,GAAG,OAAO,IAChD;IACH;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACtC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,GAAG;IAC1D,OAAO,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,0BAA0B,GACrC,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;AAExD,MAAM,MAAM,gCAAgC,GAAG,yBAAyB,GAAG;IAC1E,OAAO,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF,MAAM,WAAW,kBAAkB,CAClC,yBAAyB,SAAS,OAAO,GAAG,OAAO,CAClD,SAAQ,WAAW,CACnB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,CAC1B;IACD;;;;OAIG;IACH,IAAI,IAAI,IAAI,YAAY,CAAC;IAEzB;;;;OAIG;IACH,IAAI,QAAQ,IAAI,0BAA0B,CAAC;CAC3C"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -5,9 +5,6 @@ import { Response } from './fbs/response';
5
5
  import { Body as NotificationBody, Event } from './fbs/notification';
6
6
  export declare class Channel extends EnhancedEventEmitter {
7
7
  #private;
8
- /**
9
- * @private
10
- */
11
8
  constructor({ producerSocket, consumerSocket, pid, }: {
12
9
  producerSocket: any;
13
10
  consumerSocket: any;
@@ -17,13 +14,7 @@ export declare class Channel extends EnhancedEventEmitter {
17
14
  * flatbuffer builder.
18
15
  */
19
16
  get bufferBuilder(): flatbuffers.Builder;
20
- /**
21
- * @private
22
- */
23
17
  close(): void;
24
- /**
25
- * @private
26
- */
27
18
  notify(event: Event, bodyType?: NotificationBody, bodyOffset?: number, handlerId?: string): void;
28
19
  request(method: Method, bodyType?: RequestBody, bodyOffset?: number, handlerId?: string): Promise<Response>;
29
20
  private processResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,EAAW,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAEN,IAAI,IAAI,gBAAgB,EACxB,KAAK,EACL,MAAM,oBAAoB,CAAC;AAmB5B,qBAAa,OAAQ,SAAQ,oBAAoB;;IAsBhD;;OAEG;gBACS,EACX,cAAc,EACd,cAAc,EACd,GAAG,GACH,EAAE;QACF,cAAc,EAAE,GAAG,CAAC;QACpB,cAAc,EAAE,GAAG,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;KACZ;IAiID;;OAEG;IACH,IAAI,aAAa,IAAI,WAAW,CAAC,OAAO,CAEvC;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAiCb;;OAEG;IACH,MAAM,CACL,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,IAAI;IA6DD,OAAO,CACZ,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,CAAC;IAgGpB,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,UAAU;CAiClB"}
1
+ {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,EAAW,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAEN,IAAI,IAAI,gBAAgB,EACxB,KAAK,EACL,MAAM,oBAAoB,CAAC;AAmB5B,qBAAa,OAAQ,SAAQ,oBAAoB;;gBAsBpC,EACX,cAAc,EACd,cAAc,EACd,GAAG,GACH,EAAE;QACF,cAAc,EAAE,GAAG,CAAC;QACpB,cAAc,EAAE,GAAG,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;KACZ;IAiID;;OAEG;IACH,IAAI,aAAa,IAAI,WAAW,CAAC,OAAO,CAEvC;IAED,KAAK,IAAI,IAAI;IAiCb,MAAM,CACL,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,IAAI;IA6DD,OAAO,CACZ,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,CAAC;IAgGpB,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,UAAU;CAiClB"}
@@ -32,9 +32,6 @@ class Channel extends enhancedEvents_1.EnhancedEventEmitter {
32
32
  #recvBuffer = Buffer.alloc(0);
33
33
  // flatbuffers builder.
34
34
  #bufferBuilder = new flatbuffers.Builder(1024);
35
- /**
36
- * @private
37
- */
38
35
  constructor({ producerSocket, consumerSocket, pid, }) {
39
36
  super();
40
37
  logger.debug('constructor()');
@@ -115,9 +112,6 @@ class Channel extends enhancedEvents_1.EnhancedEventEmitter {
115
112
  get bufferBuilder() {
116
113
  return this.#bufferBuilder;
117
114
  }
118
- /**
119
- * @private
120
- */
121
115
  close() {
122
116
  if (this.#closed) {
123
117
  return;
@@ -146,9 +140,6 @@ class Channel extends enhancedEvents_1.EnhancedEventEmitter {
146
140
  }
147
141
  catch (error) { }
148
142
  }
149
- /**
150
- * @private
151
- */
152
143
  notify(event, bodyType, bodyOffset, handlerId) {
153
144
  logger.debug(`notify() [event:${notification_1.Event[event]}]`);
154
145
  if (this.#closed) {