mediasoup 3.13.13 → 3.13.15

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 (202) hide show
  1. package/node/lib/Channel.d.ts.map +1 -1
  2. package/node/lib/Channel.js +16 -15
  3. package/node/lib/Producer.d.ts +1 -1
  4. package/node/lib/Producer.d.ts.map +1 -1
  5. package/node/lib/Producer.js +8 -0
  6. package/node/lib/Router.d.ts +3 -1
  7. package/node/lib/Router.d.ts.map +1 -1
  8. package/node/lib/Router.js +16 -10
  9. package/node/lib/Transport.d.ts +18 -0
  10. package/node/lib/Transport.d.ts.map +1 -1
  11. package/node/lib/Transport.js +28 -20
  12. package/node/lib/Worker.d.ts.map +1 -1
  13. package/node/lib/Worker.js +11 -9
  14. package/node/lib/fbs/producer/sr-trace-info.d.ts +36 -0
  15. package/node/lib/fbs/producer/sr-trace-info.d.ts.map +1 -0
  16. package/node/lib/fbs/producer/sr-trace-info.js +112 -0
  17. package/node/lib/fbs/producer/trace-event-type.d.ts +2 -1
  18. package/node/lib/fbs/producer/trace-event-type.d.ts.map +1 -1
  19. package/node/lib/fbs/producer/trace-event-type.js +1 -0
  20. package/node/lib/fbs/producer/trace-info.d.ts +5 -3
  21. package/node/lib/fbs/producer/trace-info.d.ts.map +1 -1
  22. package/node/lib/fbs/producer/trace-info.js +4 -0
  23. package/node/lib/fbs/producer/trace-notification.d.ts +3 -2
  24. package/node/lib/fbs/producer/trace-notification.d.ts.map +1 -1
  25. package/node/lib/fbs/producer.d.ts +1 -0
  26. package/node/lib/fbs/producer.d.ts.map +1 -1
  27. package/node/lib/fbs/producer.js +4 -1
  28. package/node/lib/fbs/transport/listen-info.d.ts +5 -2
  29. package/node/lib/fbs/transport/listen-info.d.ts.map +1 -1
  30. package/node/lib/fbs/transport/listen-info.js +29 -18
  31. package/node/lib/fbs/transport/socket-flags.d.ts +24 -0
  32. package/node/lib/fbs/transport/socket-flags.d.ts.map +1 -0
  33. package/node/lib/fbs/transport/socket-flags.js +68 -0
  34. package/node/lib/fbs/transport.d.ts +1 -0
  35. package/node/lib/fbs/transport.d.ts.map +1 -1
  36. package/node/lib/fbs/transport.js +4 -1
  37. package/node/lib/ortc.d.ts +5 -64
  38. package/node/lib/ortc.d.ts.map +1 -1
  39. package/node/lib/ortc.js +317 -386
  40. package/node/lib/test/test-ActiveSpeakerObserver.d.ts.map +1 -0
  41. package/node/lib/{tests → test}/test-ActiveSpeakerObserver.js +40 -37
  42. package/node/lib/test/test-AudioLevelObserver.d.ts.map +1 -0
  43. package/node/lib/{tests → test}/test-AudioLevelObserver.js +41 -40
  44. package/node/lib/test/test-Consumer.d.ts.map +1 -0
  45. package/node/lib/{tests → test}/test-Consumer.js +438 -359
  46. package/node/lib/test/test-DataConsumer.d.ts.map +1 -0
  47. package/node/lib/test/test-DataProducer.d.ts.map +1 -0
  48. package/node/lib/{tests → test}/test-DataProducer.js +85 -75
  49. package/node/lib/test/test-DirectTransport.d.ts.map +1 -0
  50. package/node/lib/test/test-PipeTransport.d.ts.map +1 -0
  51. package/node/lib/test/test-PlainTransport.d.ts.map +1 -0
  52. package/node/lib/{tests → test}/test-PlainTransport.js +57 -0
  53. package/node/lib/test/test-Producer.d.ts.map +1 -0
  54. package/node/lib/{tests → test}/test-Producer.js +197 -180
  55. package/node/lib/{tests → test}/test-Router.d.ts.map +1 -1
  56. package/node/lib/{tests → test}/test-Router.js +51 -51
  57. package/node/lib/test/test-WebRtcServer.d.ts.map +1 -0
  58. package/node/lib/{tests → test}/test-WebRtcServer.js +39 -46
  59. package/node/lib/test/test-WebRtcTransport.d.ts.map +1 -0
  60. package/node/lib/{tests → test}/test-WebRtcTransport.js +5 -2
  61. package/node/lib/{tests → test}/test-Worker.d.ts.map +1 -1
  62. package/node/lib/{tests → test}/test-Worker.js +67 -76
  63. package/node/lib/test/test-mediasoup.d.ts.map +1 -0
  64. package/node/lib/test/test-multiopus.d.ts.map +1 -0
  65. package/node/lib/{tests → test}/test-multiopus.js +81 -82
  66. package/node/lib/test/test-node-sctp.d.ts.map +1 -0
  67. package/node/lib/{tests → test}/test-node-sctp.js +49 -72
  68. package/node/lib/{tests → test}/test-ortc.d.ts.map +1 -1
  69. package/node/lib/{tests → test}/test-ortc.js +1 -2
  70. package/node/lib/utils.d.ts +5 -0
  71. package/node/lib/utils.d.ts.map +1 -1
  72. package/node/lib/utils.js +18 -1
  73. package/npm-scripts.mjs +28 -16
  74. package/package.json +11 -10
  75. package/worker/fbs/producer.fbs +11 -0
  76. package/worker/fbs/transport.fbs +8 -2
  77. package/worker/include/Logger.hpp +13 -0
  78. package/worker/include/RTC/PortManager.hpp +14 -10
  79. package/worker/include/RTC/Producer.hpp +2 -0
  80. package/worker/include/RTC/RTCP/Packet.hpp +1 -1
  81. package/worker/include/RTC/RtpPacket.hpp +1 -1
  82. package/worker/include/RTC/TcpServer.hpp +11 -2
  83. package/worker/include/RTC/Transport.hpp +7 -0
  84. package/worker/include/RTC/TransportTuple.hpp +5 -3
  85. package/worker/include/RTC/UdpSocket.hpp +3 -2
  86. package/worker/scripts/lcov.sh +5 -7
  87. package/worker/src/RTC/PipeTransport.cpp +8 -15
  88. package/worker/src/RTC/PlainTransport.cpp +18 -32
  89. package/worker/src/RTC/PortManager.cpp +77 -15
  90. package/worker/src/RTC/Producer.cpp +37 -0
  91. package/worker/src/RTC/TcpServer.cpp +14 -6
  92. package/worker/src/RTC/UdpSocket.cpp +6 -5
  93. package/worker/src/RTC/WebRtcServer.cpp +10 -5
  94. package/worker/src/RTC/WebRtcTransport.cpp +9 -4
  95. package/worker/src/Settings.cpp +1 -1
  96. package/worker/src/Utils/IP.cpp +1 -1
  97. package/worker/src/Utils/String.cpp +2 -2
  98. package/worker/src/Worker.cpp +4 -4
  99. package/worker/src/handles/TcpConnectionHandle.cpp +1 -1
  100. package/worker/src/handles/UdpSocketHandle.cpp +1 -1
  101. package/worker/subprojects/catch2.wrap +7 -8
  102. package/worker/tasks.py +6 -23
  103. package/worker/test/src/PayloadChannel/TestPayloadChannelNotification.cpp +1 -1
  104. package/worker/test/src/PayloadChannel/TestPayloadChannelRequest.cpp +1 -1
  105. package/worker/test/src/RTC/Codecs/TestH264.cpp +1 -1
  106. package/worker/test/src/RTC/Codecs/TestH264_SVC.cpp +1 -1
  107. package/worker/test/src/RTC/Codecs/TestVP8.cpp +1 -1
  108. package/worker/test/src/RTC/Codecs/TestVP9.cpp +1 -1
  109. package/worker/test/src/RTC/RTCP/TestBye.cpp +1 -1
  110. package/worker/test/src/RTC/RTCP/TestFeedbackPsAfb.cpp +1 -1
  111. package/worker/test/src/RTC/RTCP/TestFeedbackPsFir.cpp +1 -1
  112. package/worker/test/src/RTC/RTCP/TestFeedbackPsLei.cpp +1 -1
  113. package/worker/test/src/RTC/RTCP/TestFeedbackPsPli.cpp +1 -1
  114. package/worker/test/src/RTC/RTCP/TestFeedbackPsRemb.cpp +1 -1
  115. package/worker/test/src/RTC/RTCP/TestFeedbackPsRpsi.cpp +1 -1
  116. package/worker/test/src/RTC/RTCP/TestFeedbackPsSli.cpp +1 -1
  117. package/worker/test/src/RTC/RTCP/TestFeedbackPsTst.cpp +1 -1
  118. package/worker/test/src/RTC/RTCP/TestFeedbackPsVbcm.cpp +1 -1
  119. package/worker/test/src/RTC/RTCP/TestFeedbackRtpEcn.cpp +1 -1
  120. package/worker/test/src/RTC/RTCP/TestFeedbackRtpNack.cpp +1 -1
  121. package/worker/test/src/RTC/RTCP/TestFeedbackRtpSrReq.cpp +1 -1
  122. package/worker/test/src/RTC/RTCP/TestFeedbackRtpTllei.cpp +1 -1
  123. package/worker/test/src/RTC/RTCP/TestFeedbackRtpTmmb.cpp +1 -1
  124. package/worker/test/src/RTC/RTCP/TestFeedbackRtpTransport.cpp +1 -1
  125. package/worker/test/src/RTC/RTCP/TestPacket.cpp +1 -1
  126. package/worker/test/src/RTC/RTCP/TestReceiverReport.cpp +1 -1
  127. package/worker/test/src/RTC/RTCP/TestSdes.cpp +1 -1
  128. package/worker/test/src/RTC/RTCP/TestSenderReport.cpp +1 -1
  129. package/worker/test/src/RTC/RTCP/TestXr.cpp +1 -1
  130. package/worker/test/src/RTC/TestKeyFrameRequestManager.cpp +1 -1
  131. package/worker/test/src/RTC/TestNackGenerator.cpp +1 -1
  132. package/worker/test/src/RTC/TestRateCalculator.cpp +1 -1
  133. package/worker/test/src/RTC/TestRtpEncodingParameters.cpp +1 -1
  134. package/worker/test/src/RTC/TestRtpPacket.cpp +1 -1
  135. package/worker/test/src/RTC/TestRtpPacketH264Svc.cpp +1 -1
  136. package/worker/test/src/RTC/TestRtpRetransmissionBuffer.cpp +1 -1
  137. package/worker/test/src/RTC/TestRtpStreamRecv.cpp +1 -1
  138. package/worker/test/src/RTC/TestRtpStreamSend.cpp +1 -1
  139. package/worker/test/src/RTC/TestSeqManager.cpp +1 -1
  140. package/worker/test/src/RTC/TestTrendCalculator.cpp +1 -1
  141. package/worker/test/src/Utils/TestBits.cpp +1 -1
  142. package/worker/test/src/Utils/TestByte.cpp +1 -1
  143. package/worker/test/src/Utils/TestIP.cpp +2 -2
  144. package/worker/test/src/Utils/TestString.cpp +1 -1
  145. package/worker/test/src/Utils/TestTime.cpp +1 -1
  146. package/worker/test/src/tests.cpp +4 -4
  147. package/node/lib/fbs/data-consumer/binary.d.ts +0 -25
  148. package/node/lib/fbs/data-consumer/binary.d.ts.map +0 -1
  149. package/node/lib/fbs/data-consumer/binary.js +0 -77
  150. package/node/lib/fbs/data-consumer/data.d.ts +0 -10
  151. package/node/lib/fbs/data-consumer/data.d.ts.map +0 -1
  152. package/node/lib/fbs/data-consumer/data.js +0 -30
  153. package/node/lib/fbs/data-consumer/string.d.ts +0 -22
  154. package/node/lib/fbs/data-consumer/string.d.ts.map +0 -1
  155. package/node/lib/fbs/data-consumer/string.js +0 -59
  156. package/node/lib/fbs/data-producer/binary.d.ts +0 -25
  157. package/node/lib/fbs/data-producer/binary.d.ts.map +0 -1
  158. package/node/lib/fbs/data-producer/binary.js +0 -77
  159. package/node/lib/fbs/data-producer/data.d.ts +0 -10
  160. package/node/lib/fbs/data-producer/data.d.ts.map +0 -1
  161. package/node/lib/fbs/data-producer/data.js +0 -30
  162. package/node/lib/fbs/data-producer/string.d.ts +0 -22
  163. package/node/lib/fbs/data-producer/string.d.ts.map +0 -1
  164. package/node/lib/fbs/data-producer/string.js +0 -59
  165. package/node/lib/fbs/message/type.d.ts +0 -7
  166. package/node/lib/fbs/message/type.d.ts.map +0 -1
  167. package/node/lib/fbs/message/type.js +0 -11
  168. package/node/lib/tests/test-ActiveSpeakerObserver.d.ts.map +0 -1
  169. package/node/lib/tests/test-AudioLevelObserver.d.ts.map +0 -1
  170. package/node/lib/tests/test-Consumer.d.ts.map +0 -1
  171. package/node/lib/tests/test-DataConsumer.d.ts.map +0 -1
  172. package/node/lib/tests/test-DataProducer.d.ts.map +0 -1
  173. package/node/lib/tests/test-DirectTransport.d.ts.map +0 -1
  174. package/node/lib/tests/test-PipeTransport.d.ts.map +0 -1
  175. package/node/lib/tests/test-PlainTransport.d.ts.map +0 -1
  176. package/node/lib/tests/test-Producer.d.ts.map +0 -1
  177. package/node/lib/tests/test-WebRtcServer.d.ts.map +0 -1
  178. package/node/lib/tests/test-WebRtcTransport.d.ts.map +0 -1
  179. package/node/lib/tests/test-mediasoup.d.ts.map +0 -1
  180. package/node/lib/tests/test-multiopus.d.ts.map +0 -1
  181. package/node/lib/tests/test-node-sctp.d.ts.map +0 -1
  182. /package/node/lib/{tests → test}/test-ActiveSpeakerObserver.d.ts +0 -0
  183. /package/node/lib/{tests → test}/test-AudioLevelObserver.d.ts +0 -0
  184. /package/node/lib/{tests → test}/test-Consumer.d.ts +0 -0
  185. /package/node/lib/{tests → test}/test-DataConsumer.d.ts +0 -0
  186. /package/node/lib/{tests → test}/test-DataConsumer.js +0 -0
  187. /package/node/lib/{tests → test}/test-DataProducer.d.ts +0 -0
  188. /package/node/lib/{tests → test}/test-DirectTransport.d.ts +0 -0
  189. /package/node/lib/{tests → test}/test-DirectTransport.js +0 -0
  190. /package/node/lib/{tests → test}/test-PipeTransport.d.ts +0 -0
  191. /package/node/lib/{tests → test}/test-PipeTransport.js +0 -0
  192. /package/node/lib/{tests → test}/test-PlainTransport.d.ts +0 -0
  193. /package/node/lib/{tests → test}/test-Producer.d.ts +0 -0
  194. /package/node/lib/{tests → test}/test-Router.d.ts +0 -0
  195. /package/node/lib/{tests → test}/test-WebRtcServer.d.ts +0 -0
  196. /package/node/lib/{tests → test}/test-WebRtcTransport.d.ts +0 -0
  197. /package/node/lib/{tests → test}/test-Worker.d.ts +0 -0
  198. /package/node/lib/{tests → test}/test-mediasoup.d.ts +0 -0
  199. /package/node/lib/{tests → test}/test-mediasoup.js +0 -0
  200. /package/node/lib/{tests → test}/test-multiopus.d.ts +0 -0
  201. /package/node/lib/{tests → test}/test-node-sctp.d.ts +0 -0
  202. /package/node/lib/{tests → test}/test-ortc.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,EAAW,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAgB,IAAI,IAAI,gBAAgB,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAoBnF,qBAAa,OAAQ,SAAQ,oBAAoB;;IAuBhD;;OAEG;gBAEF,EACC,cAAc,EACd,cAAc,EACd,GAAG,EACH,EACD;QACC,cAAc,EAAE,GAAG,CAAC;QACpB,cAAc,EAAE,GAAG,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;KACZ;IA6IF;;OAEG;IACH,IAAI,aAAa,IAAI,WAAW,CAAC,OAAO,CAGvC;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAqCb;;OAEG;IACH,MAAM,CACL,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,IAAI;IA0DD,OAAO,CACZ,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqFvC,OAAO,CAAC,eAAe;IAgDvB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,UAAU;CAwClB"}
1
+ {"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,EAAW,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAgB,IAAI,IAAI,gBAAgB,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAoBnF,qBAAa,OAAQ,SAAQ,oBAAoB;;IAuBhD;;OAEG;gBAEF,EACC,cAAc,EACd,cAAc,EACd,GAAG,EACH,EACD;QACC,cAAc,EAAE,GAAG,CAAC;QACpB,cAAc,EAAE,GAAG,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;KACZ;IA+IF;;OAEG;IACH,IAAI,aAAa,IAAI,WAAW,CAAC,OAAO,CAGvC;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAqCb;;OAEG;IACH,MAAM,CACL,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,IAAI;IA4DD,OAAO,CACZ,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2FvC,OAAO,CAAC,eAAe;IAkDvB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,UAAU;CAwClB"}
@@ -97,12 +97,12 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
97
97
  default:
98
98
  {
99
99
  // eslint-disable-next-line no-console
100
- console.warn(`worker[pid:${pid}] unexpected data: %s`, payload.toString('utf8', 1));
100
+ console.warn(`worker[pid:${pid}] unexpected data: ${payload.toString('utf8', 1)}`);
101
101
  }
102
102
  }
103
103
  }
104
104
  catch (error) {
105
- logger.error('received invalid message from the worker process: %s', String(error));
105
+ logger.error(`received invalid message from the worker process: ${error}`);
106
106
  }
107
107
  }
108
108
  if (msgStart != 0) {
@@ -110,9 +110,9 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
110
110
  }
111
111
  });
112
112
  this.#consumerSocket.on('end', () => (logger.debug('Consumer Channel ended by the worker process')));
113
- this.#consumerSocket.on('error', (error) => (logger.error('Consumer Channel error: %s', String(error))));
113
+ this.#consumerSocket.on('error', (error) => (logger.error(`Consumer Channel error: ${error}`)));
114
114
  this.#producerSocket.on('end', () => (logger.debug('Producer Channel ended by the worker process')));
115
- this.#producerSocket.on('error', (error) => (logger.error('Producer Channel error: %s', String(error))));
115
+ this.#producerSocket.on('error', (error) => (logger.error(`Producer Channel error: ${error}`)));
116
116
  }
117
117
  /**
118
118
  * flatbuffer builder.
@@ -157,9 +157,9 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
157
157
  * @private
158
158
  */
159
159
  notify(event, bodyType, bodyOffset, handlerId) {
160
- logger.debug('notify() [event:%s]', notification_1.Event[event]);
160
+ logger.debug(`notify() [event:${notification_1.Event[event]}]`);
161
161
  if (this.#closed) {
162
- throw new errors_1.InvalidStateError('Channel closed');
162
+ throw new errors_1.InvalidStateError(`Channel closed, cannot send notification [event:${notification_1.Event[event]}]`);
163
163
  }
164
164
  const handlerIdOffset = this.#bufferBuilder.createString(handlerId);
165
165
  let notificationOffset;
@@ -178,20 +178,21 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
178
178
  // Clear the buffer builder so it's reused for the next request.
179
179
  this.#bufferBuilder.clear();
180
180
  if (buffer.byteLength > MESSAGE_MAX_LEN) {
181
- throw new Error('Channel request too big');
181
+ throw new Error(`notification too big [event:${notification_1.Event[event]}]`);
182
182
  }
183
183
  try {
184
184
  // This may throw if closed or remote side ended.
185
185
  this.#producerSocket.write(buffer, 'binary');
186
186
  }
187
187
  catch (error) {
188
- logger.warn('notify() | sending notification failed: %s', String(error));
188
+ logger.warn(`notify() | sending notification failed: ${error}`);
189
189
  return;
190
190
  }
191
191
  }
192
192
  async request(method, bodyType, bodyOffset, handlerId) {
193
+ logger.debug(`request() [method:${request_1.Method[method]}]`);
193
194
  if (this.#closed) {
194
- throw new errors_1.InvalidStateError('Channel closed');
195
+ throw new errors_1.InvalidStateError(`Channel closed, cannot send request [method:${request_1.Method[method]}]`);
195
196
  }
196
197
  this.#nextId < 4294967295 ? ++this.#nextId : (this.#nextId = 1);
197
198
  const id = this.#nextId;
@@ -212,7 +213,7 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
212
213
  // Clear the buffer builder so it's reused for the next request.
213
214
  this.#bufferBuilder.clear();
214
215
  if (buffer.byteLength > MESSAGE_MAX_LEN) {
215
- throw new Error('Channel request too big');
216
+ throw new Error(`request too big [method:${request_1.Method[method]}]`);
216
217
  }
217
218
  // This may throw if closed or remote side ended.
218
219
  this.#producerSocket.write(buffer, 'binary');
@@ -233,7 +234,7 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
233
234
  pReject(error);
234
235
  },
235
236
  close: () => {
236
- pReject(new errors_1.InvalidStateError('Channel closed'));
237
+ pReject(new errors_1.InvalidStateError(`Channel closed, pending request aborted [method:${request_1.Method[method]}, id:${id}]`));
237
238
  }
238
239
  };
239
240
  // Add sent stuff to the map.
@@ -243,15 +244,15 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
243
244
  processResponse(response) {
244
245
  const sent = this.#sents.get(response.id());
245
246
  if (!sent) {
246
- logger.error('received response does not match any sent request [id:%s]', response.id);
247
+ logger.error(`received response does not match any sent request [id:${response.id}]`);
247
248
  return;
248
249
  }
249
250
  if (response.accepted()) {
250
- logger.debug('request succeeded [method:%s, id:%s]', sent.method, sent.id);
251
+ logger.debug(`request succeeded [method:${sent.method}, id:${sent.id}]`);
251
252
  sent.resolve(response);
252
253
  }
253
254
  else if (response.error()) {
254
- logger.warn('request failed [method:%s, id:%s]: %s', sent.method, sent.id, response.reason());
255
+ logger.warn(`request failed [method:${sent.method}, id:${sent.id}]: ${response.reason()}`);
255
256
  switch (response.error()) {
256
257
  case 'TypeError':
257
258
  {
@@ -265,7 +266,7 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
265
266
  }
266
267
  }
267
268
  else {
268
- logger.error('received response is not accepted nor rejected [method:%s, id:%s]', sent.method, sent.id);
269
+ logger.error(`received response is not accepted nor rejected [method:${sent.method}, id:${sent.id}]`);
269
270
  }
270
271
  }
271
272
  processNotification(notification) {
@@ -37,7 +37,7 @@ export type ProducerOptions<ProducerAppData extends AppData = AppData> = {
37
37
  /**
38
38
  * Valid types for 'trace' event.
39
39
  */
40
- export type ProducerTraceEventType = 'rtp' | 'keyframe' | 'nack' | 'pli' | 'fir';
40
+ export type ProducerTraceEventType = 'rtp' | 'keyframe' | 'nack' | 'pli' | 'fir' | 'sr';
41
41
  /**
42
42
  * 'trace' event data.
43
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Producer.d.ts","sourceRoot":"","sources":["../src/Producer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Producer.d.ts","sourceRoot":"","sources":["../src/Producer.ts"],"names":[],"mappings":"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"}
@@ -343,6 +343,10 @@ function producerTraceEventTypeToFbs(eventType) {
343
343
  {
344
344
  return FbsProducer.TraceEventType.RTP;
345
345
  }
346
+ case 'sr':
347
+ {
348
+ return FbsProducer.TraceEventType.SR;
349
+ }
346
350
  default:
347
351
  {
348
352
  throw new TypeError(`invalid ProducerTraceEventType: ${eventType}`);
@@ -371,6 +375,10 @@ function producerTraceEventTypeFromFbs(eventType) {
371
375
  {
372
376
  return 'rtp';
373
377
  }
378
+ case FbsProducer.TraceEventType.SR:
379
+ {
380
+ return 'sr';
381
+ }
374
382
  }
375
383
  }
376
384
  function parseProducerDump(data) {
@@ -1,6 +1,6 @@
1
1
  import { EnhancedEventEmitter } from './EnhancedEventEmitter';
2
2
  import { Channel } from './Channel';
3
- import { Transport, TransportListenInfo, TransportListenIp } from './Transport';
3
+ import { Transport, TransportListenInfo, TransportListenIp, TransportSocketFlags } from './Transport';
4
4
  import { WebRtcTransport, WebRtcTransportOptions } from './WebRtcTransport';
5
5
  import { PlainTransport, PlainTransportOptions } from './PlainTransport';
6
6
  import { PipeTransport, PipeTransportOptions } from './PipeTransport';
@@ -16,6 +16,7 @@ import { RtpCapabilities, RtpCodecCapability } from './RtpParameters';
16
16
  import { NumSctpStreams } from './SctpParameters';
17
17
  import { AppData, Either } from './types';
18
18
  import * as FbsRouter from './fbs/router';
19
+ import * as FbsTransport from './fbs/transport';
19
20
  export type RouterOptions<RouterAppData extends AppData = AppData> = {
20
21
  /**
21
22
  * Router media codecs.
@@ -247,5 +248,6 @@ export declare class Router<RouterAppData extends AppData = AppData> extends Enh
247
248
  }): boolean;
248
249
  }
249
250
  export declare function parseRouterDumpResponse(binary: FbsRouter.DumpResponse): RouterDump;
251
+ export declare function socketFlagsToFbs(flags?: TransportSocketFlags): FbsTransport.SocketFlagsT;
250
252
  export {};
251
253
  //# sourceMappingURL=Router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../src/Router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../src/Router.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseRouterDumpResponse = exports.Router = void 0;
3
+ exports.socketFlagsToFbs = exports.parseRouterDumpResponse = exports.Router = void 0;
4
4
  const Logger_1 = require("./Logger");
5
5
  const EnhancedEventEmitter_1 = require("./EnhancedEventEmitter");
6
6
  const ortc = require("./ortc");
@@ -252,7 +252,7 @@ class Router extends EnhancedEventEmitter_1.EnhancedEventEmitter {
252
252
  for (const listenInfo of listenInfos) {
253
253
  fbsListenInfos.push(new FbsTransport.ListenInfoT(listenInfo.protocol === 'udp'
254
254
  ? protocol_1.Protocol.UDP
255
- : protocol_1.Protocol.TCP, listenInfo.ip, listenInfo.announcedIp, listenInfo.port, listenInfo.sendBufferSize, listenInfo.recvBufferSize));
255
+ : protocol_1.Protocol.TCP, listenInfo.ip, listenInfo.announcedIp, listenInfo.port, socketFlagsToFbs(listenInfo.flags), listenInfo.sendBufferSize, listenInfo.recvBufferSize));
256
256
  }
257
257
  webRtcTransportListenIndividual =
258
258
  new FbsWebRtcTransport.ListenIndividualT(fbsListenInfos);
@@ -333,9 +333,9 @@ class Router extends EnhancedEventEmitter_1.EnhancedEventEmitter {
333
333
  const baseTransportOptions = new FbsTransport.OptionsT(undefined /* direct */, undefined /* maxMessageSize */, undefined /* initialAvailableOutgoingBitrate */, enableSctp, new FbsSctpParameters.NumSctpStreamsT(numSctpStreams.OS, numSctpStreams.MIS), maxSctpMessageSize, sctpSendBufferSize, false /* isDataChannel */);
334
334
  const plainTransportOptions = new FbsPlainTransport.PlainTransportOptionsT(baseTransportOptions, new FbsTransport.ListenInfoT(listenInfo.protocol === 'udp'
335
335
  ? protocol_1.Protocol.UDP
336
- : protocol_1.Protocol.TCP, listenInfo.ip, listenInfo.announcedIp, listenInfo.port, listenInfo.sendBufferSize, listenInfo.recvBufferSize), rtcpListenInfo ? new FbsTransport.ListenInfoT(rtcpListenInfo.protocol === 'udp'
336
+ : protocol_1.Protocol.TCP, listenInfo.ip, listenInfo.announcedIp, listenInfo.port, socketFlagsToFbs(listenInfo.flags), listenInfo.sendBufferSize, listenInfo.recvBufferSize), rtcpListenInfo ? new FbsTransport.ListenInfoT(rtcpListenInfo.protocol === 'udp'
337
337
  ? protocol_1.Protocol.UDP
338
- : protocol_1.Protocol.TCP, rtcpListenInfo.ip, rtcpListenInfo.announcedIp, rtcpListenInfo.port, rtcpListenInfo.sendBufferSize, rtcpListenInfo.recvBufferSize) : undefined, rtcpMux, comedia, enableSrtp, (0, SrtpParameters_1.cryptoSuiteToFbs)(srtpCryptoSuite));
338
+ : protocol_1.Protocol.TCP, rtcpListenInfo.ip, rtcpListenInfo.announcedIp, rtcpListenInfo.port, socketFlagsToFbs(rtcpListenInfo.flags), rtcpListenInfo.sendBufferSize, rtcpListenInfo.recvBufferSize) : undefined, rtcpMux, comedia, enableSrtp, (0, SrtpParameters_1.cryptoSuiteToFbs)(srtpCryptoSuite));
339
339
  const requestOffset = new FbsRouter.CreatePlainTransportRequestT(transportId, plainTransportOptions).pack(this.#channel.bufferBuilder);
340
340
  const response = await this.#channel.request(FbsRequest.Method.ROUTER_CREATE_PLAINTRANSPORT, FbsRequest.Body.Router_CreatePlainTransportRequest, requestOffset, this.#internal.routerId);
341
341
  /* Decode Response. */
@@ -398,7 +398,7 @@ class Router extends EnhancedEventEmitter_1.EnhancedEventEmitter {
398
398
  const baseTransportOptions = new FbsTransport.OptionsT(undefined /* direct */, undefined /* maxMessageSize */, undefined /* initialAvailableOutgoingBitrate */, enableSctp, new FbsSctpParameters.NumSctpStreamsT(numSctpStreams.OS, numSctpStreams.MIS), maxSctpMessageSize, sctpSendBufferSize, false /* isDataChannel */);
399
399
  const pipeTransportOptions = new FbsPipeTransport.PipeTransportOptionsT(baseTransportOptions, new FbsTransport.ListenInfoT(listenInfo.protocol === 'udp'
400
400
  ? protocol_1.Protocol.UDP
401
- : protocol_1.Protocol.TCP, listenInfo.ip, listenInfo.announcedIp, listenInfo.port, listenInfo.sendBufferSize, listenInfo.recvBufferSize), enableRtx, enableSrtp);
401
+ : protocol_1.Protocol.TCP, listenInfo.ip, listenInfo.announcedIp, listenInfo.port, socketFlagsToFbs(listenInfo.flags), listenInfo.sendBufferSize, listenInfo.recvBufferSize), enableRtx, enableSrtp);
402
402
  const requestOffset = new FbsRouter.CreatePipeTransportRequestT(transportId, pipeTransportOptions).pack(this.#channel.bufferBuilder);
403
403
  const response = await this.#channel.request(FbsRequest.Method.ROUTER_CREATE_PIPETRANSPORT, FbsRequest.Body.Router_CreatePipeTransportRequest, requestOffset, this.#internal.routerId);
404
404
  /* Decode Response. */
@@ -718,7 +718,7 @@ class Router extends EnhancedEventEmitter_1.EnhancedEventEmitter {
718
718
  if (typeof interval !== 'number') {
719
719
  throw new TypeError('if given, interval must be an number');
720
720
  }
721
- if (appData && typeof appData !== 'object') {
721
+ else if (appData && typeof appData !== 'object') {
722
722
  throw new TypeError('if given, appData must be an object');
723
723
  }
724
724
  const rtpObserverId = (0, utils_1.generateUUIDv4)();
@@ -751,13 +751,13 @@ class Router extends EnhancedEventEmitter_1.EnhancedEventEmitter {
751
751
  if (typeof maxEntries !== 'number' || maxEntries <= 0) {
752
752
  throw new TypeError('if given, maxEntries must be a positive number');
753
753
  }
754
- if (typeof threshold !== 'number' || threshold < -127 || threshold > 0) {
754
+ else if (typeof threshold !== 'number' || threshold < -127 || threshold > 0) {
755
755
  throw new TypeError('if given, threshole must be a negative number greater than -127');
756
756
  }
757
- if (typeof interval !== 'number') {
757
+ else if (typeof interval !== 'number') {
758
758
  throw new TypeError('if given, interval must be an number');
759
759
  }
760
- if (appData && typeof appData !== 'object') {
760
+ else if (appData && typeof appData !== 'object') {
761
761
  throw new TypeError('if given, appData must be an object');
762
762
  }
763
763
  const rtpObserverId = (0, utils_1.generateUUIDv4)();
@@ -791,8 +791,10 @@ class Router extends EnhancedEventEmitter_1.EnhancedEventEmitter {
791
791
  logger.error('canConsume() | Producer with id "%s" not found', producerId);
792
792
  return false;
793
793
  }
794
+ // Clone given RTP capabilities to not modify input data.
795
+ const clonedRtpCapabilities = (0, utils_1.clone)(rtpCapabilities);
794
796
  try {
795
- return ortc.canConsume(producer.consumableRtpParameters, rtpCapabilities);
797
+ return ortc.canConsume(producer.consumableRtpParameters, clonedRtpCapabilities);
796
798
  }
797
799
  catch (error) {
798
800
  logger.error('canConsume() | unexpected error: %s', String(error));
@@ -814,3 +816,7 @@ function parseRouterDumpResponse(binary) {
814
816
  };
815
817
  }
816
818
  exports.parseRouterDumpResponse = parseRouterDumpResponse;
819
+ function socketFlagsToFbs(flags = {}) {
820
+ return new FbsTransport.SocketFlagsT(Boolean(flags.ipv6Only), Boolean(flags.udpReusePort));
821
+ }
822
+ exports.socketFlagsToFbs = socketFlagsToFbs;
@@ -32,6 +32,10 @@ export type TransportListenInfo = {
32
32
  * Listening port.
33
33
  */
34
34
  port?: number;
35
+ /**
36
+ * Socket flags.
37
+ */
38
+ flags?: TransportSocketFlags;
35
39
  /**
36
40
  * Send buffer size (bytes).
37
41
  */
@@ -60,6 +64,20 @@ export type TransportListenIp = {
60
64
  * Transport protocol.
61
65
  */
62
66
  export type TransportProtocol = 'udp' | 'tcp';
67
+ /**
68
+ * UDP/TCP socket flags.
69
+ */
70
+ export type TransportSocketFlags = {
71
+ /**
72
+ * Disable dual-stack support so only IPv6 is used (only if ip is IPv6).
73
+ */
74
+ ipv6Only?: boolean;
75
+ /**
76
+ * Make different transports bind to the same ip and port (only for UDP).
77
+ * Useful for multicast scenarios with plain transport. Use with caution.
78
+ */
79
+ udpReusePort?: boolean;
80
+ };
63
81
  export type TransportTuple = {
64
82
  localIp: string;
65
83
  localPort: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../src/Transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../src/Transport.ts"],"names":[],"mappings":"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"}
@@ -309,21 +309,25 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
309
309
  else if (appData && typeof appData !== 'object') {
310
310
  throw new TypeError('if given, appData must be an object');
311
311
  }
312
+ // Clone given RTP parameters to not modify input data.
313
+ const clonedRtpParameters = utils.clone(rtpParameters);
312
314
  // This may throw.
313
- ortc.validateRtpParameters(rtpParameters);
315
+ ortc.validateRtpParameters(clonedRtpParameters);
314
316
  // If missing or empty encodings, add one.
315
- if (!rtpParameters.encodings ||
316
- !Array.isArray(rtpParameters.encodings) ||
317
- rtpParameters.encodings.length === 0) {
318
- rtpParameters.encodings = [{}];
317
+ if (!clonedRtpParameters.encodings ||
318
+ !Array.isArray(clonedRtpParameters.encodings) ||
319
+ clonedRtpParameters.encodings.length === 0) {
320
+ clonedRtpParameters.encodings = [{}];
319
321
  }
320
322
  // Don't do this in PipeTransports since there we must keep CNAME value in
321
323
  // each Producer.
322
324
  if (this.constructor.name !== 'PipeTransport') {
323
325
  // If CNAME is given and we don't have yet a CNAME for Producers in this
324
326
  // Transport, take it.
325
- if (!this.#cnameForProducers && rtpParameters.rtcp && rtpParameters.rtcp.cname) {
326
- this.#cnameForProducers = rtpParameters.rtcp.cname;
327
+ if (!this.#cnameForProducers &&
328
+ clonedRtpParameters.rtcp &&
329
+ clonedRtpParameters.rtcp.cname) {
330
+ this.#cnameForProducers = clonedRtpParameters.rtcp.cname;
327
331
  }
328
332
  // Otherwise if we don't have yet a CNAME for Producers and the RTP
329
333
  // parameters do not include CNAME, create a random one.
@@ -331,20 +335,20 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
331
335
  this.#cnameForProducers = utils.generateUUIDv4().substr(0, 8);
332
336
  }
333
337
  // Override Producer's CNAME.
334
- rtpParameters.rtcp = rtpParameters.rtcp || {};
335
- rtpParameters.rtcp.cname = this.#cnameForProducers;
338
+ clonedRtpParameters.rtcp = clonedRtpParameters.rtcp ?? {};
339
+ clonedRtpParameters.rtcp.cname = this.#cnameForProducers;
336
340
  }
337
341
  const routerRtpCapabilities = this.#getRouterRtpCapabilities();
338
342
  // This may throw.
339
- const rtpMapping = ortc.getProducerRtpParametersMapping(rtpParameters, routerRtpCapabilities);
343
+ const rtpMapping = ortc.getProducerRtpParametersMapping(clonedRtpParameters, routerRtpCapabilities);
340
344
  // This may throw.
341
- const consumableRtpParameters = ortc.getConsumableRtpParameters(kind, rtpParameters, routerRtpCapabilities, rtpMapping);
345
+ const consumableRtpParameters = ortc.getConsumableRtpParameters(kind, clonedRtpParameters, routerRtpCapabilities, rtpMapping);
342
346
  const producerId = id || utils.generateUUIDv4();
343
347
  const requestOffset = createProduceRequest({
344
348
  builder: this.channel.bufferBuilder,
345
349
  producerId,
346
350
  kind,
347
- rtpParameters,
351
+ rtpParameters: clonedRtpParameters,
348
352
  rtpMapping,
349
353
  keyFrameRequestDelay,
350
354
  paused
@@ -356,7 +360,7 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
356
360
  const status = produceResponse.unpack();
357
361
  const data = {
358
362
  kind,
359
- rtpParameters,
363
+ rtpParameters: clonedRtpParameters,
360
364
  type: (0, Producer_1.producerTypeFromFbs)(status.type),
361
365
  consumableRtpParameters
362
366
  };
@@ -396,8 +400,10 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
396
400
  else if (mid && (typeof mid !== 'string' || mid.length === 0)) {
397
401
  throw new TypeError('if given, mid must be non empty string');
398
402
  }
403
+ // Clone given RTP capabilities to not modify input data.
404
+ const clonedRtpCapabilities = utils.clone(rtpCapabilities);
399
405
  // This may throw.
400
- ortc.validateRtpCapabilities(rtpCapabilities);
406
+ ortc.validateRtpCapabilities(clonedRtpCapabilities);
401
407
  const producer = this.getProducerById(producerId);
402
408
  if (!producer) {
403
409
  throw Error(`Producer with id "${producerId}" not found`);
@@ -409,7 +415,7 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
409
415
  // This may throw.
410
416
  const rtpParameters = ortc.getConsumerRtpParameters({
411
417
  consumableRtpParameters: producer.consumableRtpParameters,
412
- remoteRtpCapabilities: rtpCapabilities,
418
+ remoteRtpCapabilities: clonedRtpCapabilities,
413
419
  pipe,
414
420
  enableRtx
415
421
  });
@@ -488,17 +494,20 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
488
494
  throw new TypeError('if given, appData must be an object');
489
495
  }
490
496
  let type;
497
+ // Clone given SCTP stream parameters to not modify input data.
498
+ let clonedSctpStreamParameters = utils.clone(sctpStreamParameters);
491
499
  // If this is not a DirectTransport, sctpStreamParameters are required.
492
500
  if (this.constructor.name !== 'DirectTransport') {
493
501
  type = 'sctp';
494
502
  // This may throw.
495
- ortc.validateSctpStreamParameters(sctpStreamParameters);
503
+ ortc.validateSctpStreamParameters(clonedSctpStreamParameters);
496
504
  }
497
505
  // If this is a DirectTransport, sctpStreamParameters must not be given.
498
506
  else {
499
507
  type = 'direct';
500
508
  if (sctpStreamParameters) {
501
509
  logger.warn('produceData() | sctpStreamParameters are ignored when producing data on a DirectTransport');
510
+ clonedSctpStreamParameters = undefined;
502
511
  }
503
512
  }
504
513
  const dataProducerId = id || utils.generateUUIDv4();
@@ -506,7 +515,7 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
506
515
  builder: this.channel.bufferBuilder,
507
516
  dataProducerId,
508
517
  type,
509
- sctpStreamParameters,
518
+ sctpStreamParameters: clonedSctpStreamParameters,
510
519
  label,
511
520
  protocol,
512
521
  paused
@@ -563,8 +572,7 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
563
572
  // DataProducer (if type 'sctp') unless they are given in method parameters.
564
573
  if (this.constructor.name !== 'DirectTransport') {
565
574
  type = 'sctp';
566
- sctpStreamParameters =
567
- (utils.clone(dataProducer.sctpStreamParameters) ?? {});
575
+ sctpStreamParameters = utils.clone(dataProducer.sctpStreamParameters) ?? {};
568
576
  // Override if given.
569
577
  if (ordered !== undefined) {
570
578
  sctpStreamParameters.ordered = ordered;
@@ -651,7 +659,7 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
651
659
  if (!Array.isArray(types)) {
652
660
  throw new TypeError('types must be an array');
653
661
  }
654
- if (types.find((type) => typeof type !== 'string')) {
662
+ else if (types.find((type) => typeof type !== 'string')) {
655
663
  throw new TypeError('every type must be a string');
656
664
  }
657
665
  // Convert event types.
@@ -1 +1 @@
1
- {"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../src/Worker.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAI1C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjE,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,OAAO,GACP,WAAW,GACX,KAAK,GACL,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,MAAM,cAAc,CAAC,aAAa,SAAS,OAAO,GAAG,OAAO,IAClE;IACC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAC/D,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAC/B;IAGC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CAGlB,CAAC;AAEF,MAAM,MAAM,UAAU,GACtB;IACC,GAAG,EAAG,MAAM,CAAC;IACb,eAAe,EAAG,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAG,MAAM,EAAE,CAAC;IACrB,sBAAsB,EACtB;QACC,sBAAsB,EAAG,MAAM,EAAE,CAAC;QAClC,2BAA2B,EAAG,MAAM,EAAE,CAAC;KACvC,CAAC;IACF,QAAQ,CAAC,EACT;QACC,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,YAAY,GACxB;IACC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IACd,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE/B,UAAU,EAAE,EAAE,CAAC;IACf,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAChC;IACC,KAAK,EAAE,EAAE,CAAC;IACV,eAAe,EAAE,CAAC,YAAY,CAAC,CAAC;IAChC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;CACpB,CAAC;AAKF,eAAO,MAAM,SAAS,QAI8D,CAAC;AAKrF,qBAAa,MAAM,CAAC,aAAa,SAAS,OAAO,GAAG,OAAO,CAC1D,SAAQ,oBAAoB,CAAC,YAAY,CAAC;;IA6B1C;;OAEG;gBAEF,EACC,QAAQ,EACR,OAAO,EACP,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,EAAE,cAAc,CAAC,aAAa,CAAC;IA0MjC;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,CAGhB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAGpB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAGlB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,aAAa,CAG3B;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,aAAa,EAGjC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,CAGzD;IAED;;;OAGG;IACH,IAAI,uBAAuB,IAAI,GAAG,CAAC,YAAY,CAAC,CAG/C;IAED;;;OAGG;IACH,IAAI,iBAAiB,IAAI,GAAG,CAAC,MAAM,CAAC,CAGnC;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IA4Cb;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAiBjC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAqCtD;;OAEG;IACG,cAAc,CACnB,EACC,QAAQ,EACR,OAAO,EACP,GAAE,wBAAwB,CAAC,aAAa,CAAM,GAC7C,OAAO,CAAC,IAAI,CAAC;IAehB;;OAEG;IACG,kBAAkB,CAAC,mBAAmB,SAAS,OAAO,GAAG,OAAO,EACrE,EACC,WAAW,EACX,OAAO,EACP,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,GACzC,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAsD7C;;OAEG;IACG,YAAY,CAAC,aAAa,SAAS,OAAO,GAAG,OAAO,EACzD,EACC,WAAW,EACX,OAAO,EACP,GAAE,aAAa,CAAC,aAAa,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IA0CtE,OAAO,CAAC,UAAU;CAkClB;AAED,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,SAAS,CAAC,YAAY,GAC5B,UAAU,CAwBZ"}
1
+ {"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../src/Worker.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ const ortc = require("./ortc");
11
11
  const Channel_1 = require("./Channel");
12
12
  const Router_1 = require("./Router");
13
13
  const WebRtcServer_1 = require("./WebRtcServer");
14
- const utils_1 = require("./utils");
14
+ const utils = require("./utils");
15
15
  const notification_1 = require("./fbs/notification");
16
16
  const FbsRequest = require("./fbs/request");
17
17
  const FbsWorker = require("./fbs/worker");
@@ -324,9 +324,9 @@ class Worker extends EnhancedEventEmitter_1.EnhancedEventEmitter {
324
324
  for (const listenInfo of listenInfos) {
325
325
  fbsListenInfos.push(new FbsTransport.ListenInfoT(listenInfo.protocol === 'udp'
326
326
  ? protocol_1.Protocol.UDP
327
- : protocol_1.Protocol.TCP, listenInfo.ip, listenInfo.announcedIp, listenInfo.port, listenInfo.sendBufferSize, listenInfo.recvBufferSize));
327
+ : protocol_1.Protocol.TCP, listenInfo.ip, listenInfo.announcedIp, listenInfo.port, (0, Router_1.socketFlagsToFbs)(listenInfo.flags), listenInfo.sendBufferSize, listenInfo.recvBufferSize));
328
328
  }
329
- const webRtcServerId = (0, utils_1.generateUUIDv4)();
329
+ const webRtcServerId = utils.generateUUIDv4();
330
330
  const createWebRtcServerRequestOffset = new FbsWorker.CreateWebRtcServerRequestT(webRtcServerId, fbsListenInfos).pack(this.#channel.bufferBuilder);
331
331
  await this.#channel.request(FbsRequest.Method.WORKER_CREATE_WEBRTCSERVER, FbsRequest.Body.Worker_CreateWebRtcServerRequest, createWebRtcServerRequestOffset);
332
332
  const webRtcServer = new WebRtcServer_1.WebRtcServer({
@@ -348,9 +348,11 @@ class Worker extends EnhancedEventEmitter_1.EnhancedEventEmitter {
348
348
  if (appData && typeof appData !== 'object') {
349
349
  throw new TypeError('if given, appData must be an object');
350
350
  }
351
+ // Clone given media codecs to not modify input data.
352
+ const clonedMediaCodecs = utils.clone(mediaCodecs);
351
353
  // This may throw.
352
- const rtpCapabilities = ortc.generateRouterRtpCapabilities(mediaCodecs);
353
- const routerId = (0, utils_1.generateUUIDv4)();
354
+ const rtpCapabilities = ortc.generateRouterRtpCapabilities(clonedMediaCodecs);
355
+ const routerId = utils.generateUUIDv4();
354
356
  // Get flatbuffer builder.
355
357
  const createRouterRequestOffset = new FbsWorker.CreateRouterRequestT(routerId).pack(this.#channel.bufferBuilder);
356
358
  await this.#channel.request(FbsRequest.Method.WORKER_CREATE_ROUTER, FbsRequest.Body.Worker_CreateRouterRequest, createRouterRequestOffset);
@@ -397,11 +399,11 @@ exports.Worker = Worker;
397
399
  function parseWorkerDumpResponse(binary) {
398
400
  const dump = {
399
401
  pid: binary.pid(),
400
- webRtcServerIds: (0, utils_1.parseVector)(binary, 'webRtcServerIds'),
401
- routerIds: (0, utils_1.parseVector)(binary, 'routerIds'),
402
+ webRtcServerIds: utils.parseVector(binary, 'webRtcServerIds'),
403
+ routerIds: utils.parseVector(binary, 'routerIds'),
402
404
  channelMessageHandlers: {
403
- channelRequestHandlers: (0, utils_1.parseVector)(binary.channelMessageHandlers(), 'channelRequestHandlers'),
404
- channelNotificationHandlers: (0, utils_1.parseVector)(binary.channelMessageHandlers(), 'channelNotificationHandlers')
405
+ channelRequestHandlers: utils.parseVector(binary.channelMessageHandlers(), 'channelRequestHandlers'),
406
+ channelNotificationHandlers: utils.parseVector(binary.channelMessageHandlers(), 'channelNotificationHandlers')
405
407
  }
406
408
  };
407
409
  if (binary.liburing()) {
@@ -0,0 +1,36 @@
1
+ import * as flatbuffers from 'flatbuffers';
2
+ export declare class SrTraceInfo implements flatbuffers.IUnpackableObject<SrTraceInfoT> {
3
+ bb: flatbuffers.ByteBuffer | null;
4
+ bb_pos: number;
5
+ __init(i: number, bb: flatbuffers.ByteBuffer): SrTraceInfo;
6
+ static getRootAsSrTraceInfo(bb: flatbuffers.ByteBuffer, obj?: SrTraceInfo): SrTraceInfo;
7
+ static getSizePrefixedRootAsSrTraceInfo(bb: flatbuffers.ByteBuffer, obj?: SrTraceInfo): SrTraceInfo;
8
+ ssrc(): number;
9
+ ntpSec(): number;
10
+ ntpFrac(): number;
11
+ rtpTs(): number;
12
+ packetCount(): number;
13
+ octetCount(): number;
14
+ static startSrTraceInfo(builder: flatbuffers.Builder): void;
15
+ static addSsrc(builder: flatbuffers.Builder, ssrc: number): void;
16
+ static addNtpSec(builder: flatbuffers.Builder, ntpSec: number): void;
17
+ static addNtpFrac(builder: flatbuffers.Builder, ntpFrac: number): void;
18
+ static addRtpTs(builder: flatbuffers.Builder, rtpTs: number): void;
19
+ static addPacketCount(builder: flatbuffers.Builder, packetCount: number): void;
20
+ static addOctetCount(builder: flatbuffers.Builder, octetCount: number): void;
21
+ static endSrTraceInfo(builder: flatbuffers.Builder): flatbuffers.Offset;
22
+ static createSrTraceInfo(builder: flatbuffers.Builder, ssrc: number, ntpSec: number, ntpFrac: number, rtpTs: number, packetCount: number, octetCount: number): flatbuffers.Offset;
23
+ unpack(): SrTraceInfoT;
24
+ unpackTo(_o: SrTraceInfoT): void;
25
+ }
26
+ export declare class SrTraceInfoT implements flatbuffers.IGeneratedObject {
27
+ ssrc: number;
28
+ ntpSec: number;
29
+ ntpFrac: number;
30
+ rtpTs: number;
31
+ packetCount: number;
32
+ octetCount: number;
33
+ constructor(ssrc?: number, ntpSec?: number, ntpFrac?: number, rtpTs?: number, packetCount?: number, octetCount?: number);
34
+ pack(builder: flatbuffers.Builder): flatbuffers.Offset;
35
+ }
36
+ //# sourceMappingURL=sr-trace-info.d.ts.map