mediasoup 3.26.0 → 3.27.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 (310) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/node/lib/DataConsumer.js +1 -1
  3. package/node/lib/Router.js +1 -1
  4. package/node/lib/Transport.js +15 -15
  5. package/node/lib/fbs/rtp-parameters/encoding-mapping.d.ts +2 -6
  6. package/node/lib/fbs/rtp-parameters/encoding-mapping.d.ts.map +1 -1
  7. package/node/lib/fbs/rtp-parameters/encoding-mapping.js +7 -19
  8. package/node/lib/fbs/rtp-parameters/rtp-encoding-parameters.d.ts +4 -4
  9. package/node/lib/fbs/rtp-parameters/rtp-encoding-parameters.js +2 -2
  10. package/node/lib/fbs/rtp-stream/bitrate-by-layer.d.ts +5 -5
  11. package/node/lib/fbs/rtp-stream/bitrate-by-layer.d.ts.map +1 -1
  12. package/node/lib/fbs/rtp-stream/bitrate-by-layer.js +3 -3
  13. package/node/lib/fbs/rtp-stream/recv-stats.d.ts +5 -5
  14. package/node/lib/fbs/rtp-stream/recv-stats.d.ts.map +1 -1
  15. package/node/lib/fbs/rtp-stream/recv-stats.js +3 -3
  16. package/node/lib/fbs/rtp-stream/send-stats.d.ts +5 -5
  17. package/node/lib/fbs/rtp-stream/send-stats.d.ts.map +1 -1
  18. package/node/lib/fbs/rtp-stream/send-stats.js +3 -3
  19. package/node/lib/fbs/transport/bwe-trace-info.d.ts +23 -23
  20. package/node/lib/fbs/transport/bwe-trace-info.d.ts.map +1 -1
  21. package/node/lib/fbs/transport/bwe-trace-info.js +15 -15
  22. package/node/lib/fbs/transport/options.d.ts +5 -5
  23. package/node/lib/fbs/transport/options.js +2 -2
  24. package/node/lib/fbs/transport/set-max-incoming-bitrate-request.d.ts +5 -5
  25. package/node/lib/fbs/transport/set-max-incoming-bitrate-request.d.ts.map +1 -1
  26. package/node/lib/fbs/transport/set-max-incoming-bitrate-request.js +3 -3
  27. package/node/lib/fbs/transport/set-max-outgoing-bitrate-request.d.ts +5 -5
  28. package/node/lib/fbs/transport/set-max-outgoing-bitrate-request.d.ts.map +1 -1
  29. package/node/lib/fbs/transport/set-max-outgoing-bitrate-request.js +3 -3
  30. package/node/lib/fbs/transport/set-min-outgoing-bitrate-request.d.ts +5 -5
  31. package/node/lib/fbs/transport/set-min-outgoing-bitrate-request.d.ts.map +1 -1
  32. package/node/lib/fbs/transport/set-min-outgoing-bitrate-request.js +3 -3
  33. package/node/lib/fbs/transport/stats.d.ts +38 -38
  34. package/node/lib/fbs/transport/stats.d.ts.map +1 -1
  35. package/node/lib/fbs/transport/stats.js +25 -25
  36. package/node/lib/ortc.d.ts +0 -1
  37. package/node/lib/ortc.d.ts.map +1 -1
  38. package/node/lib/ortc.js +1 -2
  39. package/node/lib/rtpParametersFbsUtils.d.ts.map +1 -1
  40. package/node/lib/rtpParametersFbsUtils.js +2 -2
  41. package/package.json +9 -9
  42. package/worker/deps/libwebrtc/libwebrtc/call/rtp_transport_controller_send.cc +10 -10
  43. package/worker/deps/libwebrtc/libwebrtc/mediasoup_helpers.h +6 -6
  44. package/worker/deps/libwebrtc/libwebrtc/modules/congestion_controller/goog_cc/alr_detector.cc +1 -1
  45. package/worker/deps/libwebrtc/libwebrtc/modules/pacing/paced_sender.cc +7 -7
  46. package/worker/deps/libwebrtc/libwebrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h +1 -1
  47. package/worker/deps/libwebrtc/libwebrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc +1 -1
  48. package/worker/fbs/rtpParameters.fbs +1 -2
  49. package/worker/fbs/rtpStream.fbs +3 -3
  50. package/worker/fbs/transport.fbs +23 -23
  51. package/worker/fuzzer/include/RTC/FuzzerDtlsTransport.hpp +4 -1
  52. package/worker/fuzzer/src/FuzzerUtils.cpp +5 -3
  53. package/worker/fuzzer/src/RTC/FuzzerDtlsTransport.cpp +8 -5
  54. package/worker/fuzzer/src/RTC/FuzzerRateCalculator.cpp +3 -3
  55. package/worker/fuzzer/src/RTC/FuzzerTrendCalculator.cpp +6 -6
  56. package/worker/fuzzer/src/RTC/RTCP/FuzzerFeedbackRtpTransport.cpp +3 -3
  57. package/worker/fuzzer/src/RTC/RTP/FuzzerPacket.cpp +2 -2
  58. package/worker/fuzzer/src/RTC/RTP/FuzzerRetransmissionBuffer.cpp +5 -5
  59. package/worker/fuzzer/src/RTC/RTP/FuzzerRtpStreamSend.cpp +3 -3
  60. package/worker/fuzzer/src/fuzzer.cpp +4 -0
  61. package/worker/include/Channel/ChannelNotification.hpp +3 -3
  62. package/worker/include/Channel/ChannelRequest.hpp +1 -1
  63. package/worker/include/Channel/ChannelSocket.hpp +11 -0
  64. package/worker/include/DepLibUV.hpp +16 -33
  65. package/worker/include/RTC/ActiveSpeakerObserver.hpp +11 -11
  66. package/worker/include/RTC/AudioLevelObserver.hpp +4 -4
  67. package/worker/include/RTC/BWE/AcknowledgedBitrateEstimatorInterface.hpp +55 -0
  68. package/worker/include/RTC/BWE/AimdRateControl.hpp +190 -0
  69. package/worker/include/RTC/BWE/BweTypes.hpp +211 -0
  70. package/worker/include/RTC/BWE/DelayBasedBwe.hpp +173 -0
  71. package/worker/include/RTC/BWE/FeedbackAdapter.hpp +72 -0
  72. package/worker/include/RTC/BWE/InterArrivalDelta.hpp +106 -0
  73. package/worker/include/RTC/BWE/LinkCapacityEstimator.hpp +84 -0
  74. package/worker/include/RTC/BWE/RobustThroughputEstimator.hpp +94 -0
  75. package/worker/include/RTC/BWE/SendPacketHistory.hpp +137 -0
  76. package/worker/include/RTC/BWE/TrendlineEstimator.hpp +101 -0
  77. package/worker/include/RTC/Consts.hpp +6 -6
  78. package/worker/include/RTC/Consumer.hpp +14 -12
  79. package/worker/include/RTC/DataConsumer.hpp +3 -3
  80. package/worker/include/RTC/DataProducer.hpp +3 -3
  81. package/worker/include/RTC/DtlsTransport.hpp +5 -2
  82. package/worker/include/RTC/ICE/IceCandidate.hpp +2 -2
  83. package/worker/include/RTC/ICE/IceServer.hpp +3 -3
  84. package/worker/include/RTC/KeyFrameRequestManager.hpp +3 -3
  85. package/worker/include/RTC/NEW_RTCP/packet/Packet.hpp +1 -1
  86. package/worker/include/RTC/NackGenerator.hpp +12 -12
  87. package/worker/include/RTC/PipeProducerStreamManager.hpp +3 -4
  88. package/worker/include/RTC/PipeTransport.hpp +18 -5
  89. package/worker/include/RTC/PlainTransport.hpp +18 -5
  90. package/worker/include/RTC/PortManager.hpp +4 -4
  91. package/worker/include/RTC/Producer.hpp +21 -12
  92. package/worker/include/RTC/ProducerStreamManager.hpp +12 -6
  93. package/worker/include/RTC/RTCP/Bye.hpp +2 -2
  94. package/worker/include/RTC/RTCP/FeedbackPsRemb.hpp +4 -4
  95. package/worker/include/RTC/RTCP/FeedbackRtpTmmb.hpp +3 -3
  96. package/worker/include/RTC/RTCP/FeedbackRtpTransport.hpp +54 -39
  97. package/worker/include/RTC/RTCP/Packet.hpp +3 -3
  98. package/worker/include/RTC/RTCP/ReceiverReport.hpp +3 -3
  99. package/worker/include/RTC/RTCP/Sdes.hpp +2 -2
  100. package/worker/include/RTC/RTCP/XR.hpp +2 -2
  101. package/worker/include/RTC/RTCP/XrDelaySinceLastRr.hpp +1 -1
  102. package/worker/include/RTC/RTP/Codecs/H264.hpp +1 -1
  103. package/worker/include/RTC/RTP/Codecs/Opus.hpp +2 -2
  104. package/worker/include/RTC/RTP/Codecs/PayloadDescriptorHandler.hpp +3 -3
  105. package/worker/include/RTC/RTP/Codecs/VP8.hpp +2 -2
  106. package/worker/include/RTC/RTP/Codecs/VP9.hpp +2 -2
  107. package/worker/include/RTC/RTP/HeaderExtensionIds.hpp +12 -12
  108. package/worker/include/RTC/RTP/Packet.hpp +13 -13
  109. package/worker/include/RTC/RTP/ProbationGenerator.hpp +1 -1
  110. package/worker/include/RTC/RTP/RetransmissionBuffer.hpp +7 -7
  111. package/worker/include/RTC/RTP/RtpStream.hpp +37 -51
  112. package/worker/include/RTC/RTP/RtpStreamRecv.hpp +59 -41
  113. package/worker/include/RTC/RTP/RtpStreamSend.hpp +20 -14
  114. package/worker/include/RTC/RTP/RtxStream.hpp +12 -13
  115. package/worker/include/RTC/RateCalculator.hpp +50 -44
  116. package/worker/include/RTC/RemoteCaptureTimeEstimator.hpp +5 -4
  117. package/worker/include/RTC/RemoteClockOffsetEstimator.hpp +11 -11
  118. package/worker/include/RTC/Router.hpp +6 -0
  119. package/worker/include/RTC/RtcLogger.hpp +1 -1
  120. package/worker/include/RTC/RtpDictionaries.hpp +10 -10
  121. package/worker/include/RTC/SCTP/association/Association.hpp +56 -28
  122. package/worker/include/RTC/SCTP/association/HeartbeatHandler.hpp +4 -4
  123. package/worker/include/RTC/SCTP/association/StateCookie.hpp +14 -14
  124. package/worker/include/RTC/SCTP/association/StreamResetHandler.hpp +2 -2
  125. package/worker/include/RTC/SCTP/association/TransmissionControlBlock.hpp +12 -12
  126. package/worker/include/RTC/SCTP/association/TransmissionControlBlockContextInterface.hpp +4 -4
  127. package/worker/include/RTC/SCTP/packet/TLV.hpp +1 -1
  128. package/worker/include/RTC/SCTP/packet/parameters/StateCookieParameter.hpp +3 -3
  129. package/worker/include/RTC/SCTP/public/AssociationInterface.hpp +4 -1
  130. package/worker/include/RTC/SCTP/public/AssociationMetrics.hpp +1 -1
  131. package/worker/include/RTC/SCTP/public/SctpOptions.hpp +12 -12
  132. package/worker/include/RTC/SCTP/public/SctpTypes.hpp +1 -1
  133. package/worker/include/RTC/SCTP/tx/OutstandingData.hpp +15 -16
  134. package/worker/include/RTC/SCTP/tx/RetransmissionQueue.hpp +7 -8
  135. package/worker/include/RTC/SCTP/tx/RetransmissionTimeout.hpp +20 -16
  136. package/worker/include/RTC/SCTP/tx/RoundRobinSendQueue.hpp +5 -6
  137. package/worker/include/RTC/SCTP/tx/SendQueueInterface.hpp +2 -2
  138. package/worker/include/RTC/SCTP/tx/StreamScheduler.hpp +5 -5
  139. package/worker/include/RTC/SctpDictionaries.hpp +3 -3
  140. package/worker/include/RTC/Serializable.hpp +1 -1
  141. package/worker/include/RTC/SimpleProducerStreamManager.hpp +3 -4
  142. package/worker/include/RTC/SimulcastProducerStreamManager.hpp +6 -7
  143. package/worker/include/RTC/SvcProducerStreamManager.hpp +6 -5
  144. package/worker/include/RTC/TcpConnection.hpp +9 -3
  145. package/worker/include/RTC/TcpServer.hpp +3 -0
  146. package/worker/include/RTC/Transport.hpp +52 -45
  147. package/worker/include/RTC/TransportCongestionControlClient.hpp +30 -25
  148. package/worker/include/RTC/TransportCongestionControlServer.hpp +17 -17
  149. package/worker/include/RTC/TrendCalculator.hpp +5 -5
  150. package/worker/include/RTC/UdpSocket.hpp +11 -2
  151. package/worker/include/RTC/WebRtcServer.hpp +20 -5
  152. package/worker/include/RTC/WebRtcTransport.hpp +35 -10
  153. package/worker/include/Settings.hpp +4 -2
  154. package/worker/include/Shared.hpp +5 -20
  155. package/worker/include/SharedInterface.hpp +6 -28
  156. package/worker/include/Utils.hpp +40 -21
  157. package/worker/include/common.hpp +4 -0
  158. package/worker/include/handles/BackoffTimerHandle.hpp +4 -4
  159. package/worker/include/handles/BackoffTimerHandleInterface.hpp +5 -5
  160. package/worker/include/handles/TcpConnectionHandle.hpp +6 -6
  161. package/worker/include/handles/TcpServerHandle.hpp +1 -1
  162. package/worker/include/handles/TimerHandle.hpp +15 -9
  163. package/worker/include/handles/TimerHandleInterface.hpp +10 -4
  164. package/worker/include/handles/UdpSocketHandle.hpp +3 -3
  165. package/worker/include/handles/UnixStreamSocketHandle.hpp +2 -2
  166. package/worker/meson.build +81 -36
  167. package/worker/meson_options.txt +1 -0
  168. package/worker/mocks/include/MockShared.hpp +24 -23
  169. package/worker/mocks/include/RTC/SCTP/association/MockTransmissionControlBlockContext.hpp +51 -27
  170. package/worker/mocks/include/RTC/SCTP/tx/MockSendQueue.hpp +11 -11
  171. package/worker/mocks/include/handles/MockBackoffTimerHandle.hpp +10 -10
  172. package/worker/mocks/include/handles/MockTimerHandle.hpp +60 -22
  173. package/worker/mocks/src/MockShared.cpp +51 -5
  174. package/worker/mocks/src/handles/MockBackoffTimerHandle.cpp +29 -15
  175. package/worker/mocks/src/handles/MockTimerHandle.cpp +117 -0
  176. package/worker/scripts/clang-scripts.mjs +2 -2
  177. package/worker/src/Channel/ChannelNotification.cpp +5 -6
  178. package/worker/src/Channel/ChannelSocket.cpp +20 -2
  179. package/worker/src/DepLibUV.cpp +4 -5
  180. package/worker/src/RTC/ActiveSpeakerObserver.cpp +59 -47
  181. package/worker/src/RTC/AudioLevelObserver.cpp +7 -7
  182. package/worker/src/RTC/BWE/AimdRateControl.cpp +468 -0
  183. package/worker/src/RTC/BWE/BweTypes.cpp +61 -0
  184. package/worker/src/RTC/BWE/DelayBasedBwe.cpp +275 -0
  185. package/worker/src/RTC/BWE/FeedbackAdapter.cpp +148 -0
  186. package/worker/src/RTC/BWE/InterArrivalDelta.cpp +181 -0
  187. package/worker/src/RTC/BWE/LinkCapacityEstimator.cpp +133 -0
  188. package/worker/src/RTC/BWE/RobustThroughputEstimator.cpp +245 -0
  189. package/worker/src/RTC/BWE/SendPacketHistory.cpp +184 -0
  190. package/worker/src/RTC/BWE/TrendlineEstimator.cpp +233 -0
  191. package/worker/src/RTC/Consumer.cpp +48 -35
  192. package/worker/src/RTC/DataConsumer.cpp +4 -4
  193. package/worker/src/RTC/DataProducer.cpp +3 -3
  194. package/worker/src/RTC/DirectTransport.cpp +2 -2
  195. package/worker/src/RTC/DtlsTransport.cpp +14 -11
  196. package/worker/src/RTC/ICE/IceServer.cpp +2 -2
  197. package/worker/src/RTC/KeyFrameRequestManager.cpp +16 -12
  198. package/worker/src/RTC/NackGenerator.cpp +12 -12
  199. package/worker/src/RTC/PipeProducerStreamManager.cpp +6 -6
  200. package/worker/src/RTC/PipeTransport.cpp +16 -13
  201. package/worker/src/RTC/PlainTransport.cpp +25 -16
  202. package/worker/src/RTC/Producer.cpp +50 -36
  203. package/worker/src/RTC/RTCP/FeedbackPsRemb.cpp +13 -6
  204. package/worker/src/RTC/RTCP/FeedbackRtpTmmb.cpp +14 -5
  205. package/worker/src/RTC/RTCP/FeedbackRtpTransport.cpp +76 -50
  206. package/worker/src/RTC/RTP/Codecs/VP8.cpp +1 -1
  207. package/worker/src/RTC/RTP/Codecs/VP9.cpp +4 -4
  208. package/worker/src/RTC/RTP/Packet.cpp +9 -10
  209. package/worker/src/RTC/RTP/RetransmissionBuffer.cpp +6 -6
  210. package/worker/src/RTC/RTP/RtpStream.cpp +19 -19
  211. package/worker/src/RTC/RTP/RtpStreamRecv.cpp +146 -81
  212. package/worker/src/RTC/RTP/RtpStreamSend.cpp +49 -44
  213. package/worker/src/RTC/RTP/RtxStream.cpp +7 -10
  214. package/worker/src/RTC/RateCalculator.cpp +99 -136
  215. package/worker/src/RTC/RemoteCaptureTimeEstimator.cpp +13 -13
  216. package/worker/src/RTC/RemoteClockOffsetEstimator.cpp +18 -17
  217. package/worker/src/RTC/Router.cpp +18 -1
  218. package/worker/src/RTC/RtpDictionaries/RtpEncodingParameters.cpp +5 -2
  219. package/worker/src/RTC/SCTP/association/Association.cpp +131 -102
  220. package/worker/src/RTC/SCTP/association/AssociationListenerDeferrer.cpp +4 -4
  221. package/worker/src/RTC/SCTP/association/Capabilities.cpp +1 -1
  222. package/worker/src/RTC/SCTP/association/HeartbeatHandler.cpp +25 -18
  223. package/worker/src/RTC/SCTP/association/StateCookie.cpp +7 -6
  224. package/worker/src/RTC/SCTP/association/StreamResetHandler.cpp +16 -13
  225. package/worker/src/RTC/SCTP/association/TransmissionControlBlock.cpp +28 -26
  226. package/worker/src/RTC/SCTP/packet/chunks/SackChunk.cpp +0 -1
  227. package/worker/src/RTC/SCTP/packet/parameters/StateCookieParameter.cpp +2 -2
  228. package/worker/src/RTC/SCTP/public/AssociationMetrics.cpp +1 -1
  229. package/worker/src/RTC/SCTP/public/SctpOptions.cpp +13 -13
  230. package/worker/src/RTC/SCTP/rx/DataTracker.cpp +1 -1
  231. package/worker/src/RTC/SCTP/rx/ReassemblyQueue.cpp +5 -5
  232. package/worker/src/RTC/SCTP/tx/OutstandingData.cpp +15 -15
  233. package/worker/src/RTC/SCTP/tx/RetransmissionQueue.cpp +15 -15
  234. package/worker/src/RTC/SCTP/tx/RetransmissionTimeout.cpp +29 -26
  235. package/worker/src/RTC/SCTP/tx/RoundRobinSendQueue.cpp +12 -11
  236. package/worker/src/RTC/SCTP/tx/StreamScheduler.cpp +4 -4
  237. package/worker/src/RTC/SctpDictionaries/SctpStreamParameters.cpp +2 -2
  238. package/worker/src/RTC/SimpleProducerStreamManager.cpp +10 -10
  239. package/worker/src/RTC/SimulcastProducerStreamManager.cpp +39 -37
  240. package/worker/src/RTC/SvcProducerStreamManager.cpp +39 -25
  241. package/worker/src/RTC/TcpConnection.cpp +9 -3
  242. package/worker/src/RTC/TcpServer.cpp +7 -2
  243. package/worker/src/RTC/Transport.cpp +242 -302
  244. package/worker/src/RTC/TransportCongestionControlClient.cpp +78 -71
  245. package/worker/src/RTC/TransportCongestionControlServer.cpp +38 -40
  246. package/worker/src/RTC/TrendCalculator.cpp +3 -3
  247. package/worker/src/RTC/UdpSocket.cpp +14 -3
  248. package/worker/src/RTC/WebRtcServer.cpp +20 -14
  249. package/worker/src/RTC/WebRtcTransport.cpp +35 -30
  250. package/worker/src/Settings.cpp +10 -0
  251. package/worker/src/Shared.cpp +2 -2
  252. package/worker/src/Utils/Crypto.cpp +2 -2
  253. package/worker/src/Worker.cpp +5 -1
  254. package/worker/src/handles/BackoffTimerHandle.cpp +24 -11
  255. package/worker/src/handles/TimerHandle.cpp +74 -25
  256. package/worker/src/lib.cpp +6 -0
  257. package/worker/tasks.py +171 -44
  258. package/worker/test/include/RTC/BWE/helpers/LinkSimulator.hpp +117 -0
  259. package/worker/test/src/RTC/BWE/TestAimdRateControl.cpp +400 -0
  260. package/worker/test/src/RTC/BWE/TestDelayBasedBwe.cpp +568 -0
  261. package/worker/test/src/RTC/BWE/TestFeedbackAdapter.cpp +546 -0
  262. package/worker/test/src/RTC/BWE/TestInterArrivalDelta.cpp +301 -0
  263. package/worker/test/src/RTC/BWE/TestLinkCapacityEstimator.cpp +115 -0
  264. package/worker/test/src/RTC/BWE/TestRobustThroughputEstimator.cpp +433 -0
  265. package/worker/test/src/RTC/BWE/TestSendPacketHistory.cpp +259 -0
  266. package/worker/test/src/RTC/BWE/TestTrendlineEstimator.cpp +137 -0
  267. package/worker/test/src/RTC/BWE/helpers/LinkSimulator.cpp +171 -0
  268. package/worker/test/src/RTC/RTCP/TestFeedbackPsRemb.cpp +1 -1
  269. package/worker/test/src/RTC/RTCP/TestFeedbackRtpTmmb.cpp +1 -1
  270. package/worker/test/src/RTC/RTCP/TestFeedbackRtpTransport.cpp +246 -208
  271. package/worker/test/src/RTC/RTP/TestPacket.cpp +11 -11
  272. package/worker/test/src/RTC/RTP/TestRetransmissionBuffer.cpp +12 -12
  273. package/worker/test/src/RTC/RTP/TestRtpStreamRecv.cpp +23 -16
  274. package/worker/test/src/RTC/RTP/TestRtpStreamSend.cpp +13 -13
  275. package/worker/test/src/RTC/SCTP/association/TestAssociation.cpp +27 -22
  276. package/worker/test/src/RTC/SCTP/association/TestHeartbeatHandler.cpp +21 -15
  277. package/worker/test/src/RTC/SCTP/association/TestStateCookie.cpp +6 -6
  278. package/worker/test/src/RTC/SCTP/association/TestStreamResetHandler.cpp +17 -13
  279. package/worker/test/src/RTC/SCTP/association/TestTransmissionControlBlock.cpp +3 -3
  280. package/worker/test/src/RTC/SCTP/packet/chunks/TestForwardTsnChunk.cpp +2 -2
  281. package/worker/test/src/RTC/SCTP/packet/chunks/TestIForwardTsnChunk.cpp +23 -23
  282. package/worker/test/src/RTC/SCTP/packet/chunks/TestInitChunk.cpp +1 -1
  283. package/worker/test/src/RTC/SCTP/packet/chunks/TestSackChunk.cpp +1 -1
  284. package/worker/test/src/RTC/SCTP/packet/parameters/TestIPv6AddressParameter.cpp +1 -1
  285. package/worker/test/src/RTC/SCTP/rx/TestDataTracker.cpp +37 -37
  286. package/worker/test/src/RTC/SCTP/rx/TestInterleavedReassemblyStreams.cpp +10 -10
  287. package/worker/test/src/RTC/SCTP/rx/TestReassemblyQueue.cpp +1 -1
  288. package/worker/test/src/RTC/SCTP/tx/TestOutstandingData.cpp +93 -93
  289. package/worker/test/src/RTC/SCTP/tx/TestRetransmissionQueue.cpp +247 -247
  290. package/worker/test/src/RTC/SCTP/tx/TestRetransmissionTimeout.cpp +100 -80
  291. package/worker/test/src/RTC/SCTP/tx/TestRoundRobinSendQueue.cpp +163 -163
  292. package/worker/test/src/RTC/SCTP/tx/TestStreamScheduler.cpp +76 -77
  293. package/worker/test/src/RTC/TestConsumer.cpp +8 -3
  294. package/worker/test/src/RTC/TestKeyFrameRequestManager.cpp +3 -3
  295. package/worker/test/src/RTC/TestNackGenerator.cpp +3 -3
  296. package/worker/test/src/RTC/TestPipeProducerStreamManager.cpp +5 -5
  297. package/worker/test/src/RTC/TestRateCalculator.cpp +110 -14
  298. package/worker/test/src/RTC/TestRemoteCaptureTimeEstimator.cpp +22 -17
  299. package/worker/test/src/RTC/TestRemoteClockOffsetEstimator.cpp +87 -85
  300. package/worker/test/src/RTC/TestSimpleProducerStreamManager.cpp +54 -47
  301. package/worker/test/src/RTC/TestSimulcastProducerStreamManager.cpp +83 -69
  302. package/worker/test/src/RTC/TestSvcProducerStreamManager.cpp +76 -65
  303. package/worker/test/src/RTC/TestTransportCongestionControlServer.cpp +72 -66
  304. package/worker/test/src/RTC/TestTransportTuple.cpp +19 -4
  305. package/worker/test/src/TestDepLibUV.cpp +19 -0
  306. package/worker/test/src/Utils/TestTime.cpp +57 -26
  307. package/worker/test/src/testHelpers.cpp +1 -1
  308. package/worker/test/src/tests.cpp +6 -0
  309. package/worker/include/RTC/SenderBandwidthEstimator.hpp +0 -118
  310. package/worker/src/RTC/SenderBandwidthEstimator.cpp +0 -269
@@ -23,8 +23,8 @@ namespace
23
23
  constexpr uint32_t Arwnd{ 131072 };
24
24
  constexpr uint32_t LocalInitialTsn{ 0 };
25
25
  constexpr uint32_t RemoteInitialTsn{ 0 };
26
- constexpr uint64_t InitialNowMs{ 10000 };
27
- constexpr uint64_t RtoMs{ 250 };
26
+ constexpr int64_t InitialNowUs{ 10000 * 1000 };
27
+ constexpr int64_t RtoMs{ 250 };
28
28
 
29
29
  /**
30
30
  * A RTC::SCTP::StreamResetHandler under test, together with all the (real)
@@ -35,10 +35,10 @@ namespace
35
35
  public:
36
36
  TestStreamResetHandler()
37
37
  // NOTE: The order in which these members are initialized is **critical**.
38
- : shared(/*getTimeMs*/
39
- [this]()
40
- {
41
- return this->nowMs;
38
+ : shared(/*getTimeUs*/
39
+ [this]() -> int64_t
40
+ {
41
+ return this->nowUs;
42
42
  }),
43
43
  tcbContext(this->associationListener, this->sctpOptions),
44
44
  delayedAckTimer(this->shared.CreateBackoffTimer(
@@ -79,20 +79,24 @@ namespace
79
79
  std::addressof(this->reassemblyQueue),
80
80
  std::addressof(this->retransmissionQueue))
81
81
  {
82
- this->tcbContext.WillGetCurrentRtoMsOnce(
82
+ this->tcbContext.WillGetCurrentRtoUsOnce(
83
83
  []()
84
84
  {
85
- return RtoMs;
85
+ return static_cast<int64_t>(RtoMs * 1000);
86
86
  });
87
87
  }
88
88
 
89
89
  public:
90
90
  /**
91
91
  * Advances the simulated clock by `incrementMs`.
92
+ *
93
+ * @remarks
94
+ * - The increment is given in milliseconds since it comes from the SCTP
95
+ * options and the timers, which work in milliseconds.
92
96
  */
93
- void AdvanceTimeMs(uint64_t incrementMs)
97
+ void AdvanceTimeMs(int64_t incrementMs)
94
98
  {
95
- this->nowMs += incrementMs;
99
+ this->nowUs += incrementMs * 1000;
96
100
  }
97
101
 
98
102
  /**
@@ -116,7 +120,7 @@ namespace
116
120
  {
117
121
  public:
118
122
  void OnBackoffTimer(
119
- BackoffTimerHandleInterface* /*backoffTimer*/, uint64_t& /*baseTimeoutMs*/, bool& /*stop*/) override
123
+ BackoffTimerHandleInterface* /*backoffTimer*/, int64_t& /*baseTimeoutMs*/, bool& /*stop*/) override
120
124
  {
121
125
  }
122
126
  };
@@ -127,7 +131,7 @@ namespace
127
131
  class RetransmissionQueueListener : public RTC::SCTP::RetransmissionQueue::Listener
128
132
  {
129
133
  public:
130
- void OnRetransmissionQueueNewRttMs(uint64_t /*rttMs*/) override
134
+ void OnRetransmissionQueueNewRttUs(int64_t /*rttUs*/) override
131
135
  {
132
136
  }
133
137
 
@@ -138,7 +142,7 @@ namespace
138
142
 
139
143
  // NOTE: Public members for testing.
140
144
  public:
141
- uint64_t nowMs{ InitialNowMs };
145
+ int64_t nowUs{ InitialNowUs };
142
146
  RTC::SCTP::SctpOptions sctpOptions;
143
147
  BackoffTimerListener backoffTimerListener;
144
148
  RetransmissionQueueListener retransmissionQueueListener;
@@ -43,10 +43,10 @@ SCENARIO("SCTP TransmissionControlBlock", "[sctp][transmissioncontrolblock]")
43
43
  mocks::RTC::SCTP::MockAssociationListener associationListener;
44
44
  RTC::SCTP::AssociationListenerDeferrer associationListenerDeferrer(
45
45
  std::addressof(associationListener));
46
- mocks::MockShared shared(/*getTimeMs*/
47
- []()
46
+ mocks::MockShared shared(/*getTimeUs*/
47
+ []() -> int64_t
48
48
  {
49
- return DepLibUV::GetTimeMs();
49
+ return DepLibUV::GetTimeUs();
50
50
  });
51
51
  mocks::RTC::SCTP::MockSendQueue sendQueue;
52
52
  RTC::SCTP::NegotiatedCapabilities negotiatedCapabilities;
@@ -190,7 +190,7 @@ SCENARIO("Forward Cumulative TSN Chunk (192)", "[serializable][sctp][chunk]")
190
190
  { 1111, 11110 },
191
191
  { 2222, 22220 },
192
192
  { 3333, 33330 },
193
- });
193
+ });
194
194
 
195
195
  /* Parse itself and compare. */
196
196
 
@@ -219,7 +219,7 @@ SCENARIO("Forward Cumulative TSN Chunk (192)", "[serializable][sctp][chunk]")
219
219
  { 1111, 11110 },
220
220
  { 2222, 22220 },
221
221
  { 3333, 33330 },
222
- });
222
+ });
223
223
 
224
224
  delete parsedChunk;
225
225
  }
@@ -60,15 +60,15 @@ SCENARIO("I-Forward Cumulative TSN Chunk (194)", "[serializable][sctp][chunk]")
60
60
  REQUIRE(
61
61
  chunk->GetSkippedStreams() == std::vector<RTC::SCTP::AnyForwardTsnChunk::SkippedStream>{
62
62
  {
63
- true, 4097,
64
- 285212689, },
63
+ true, 4097,
64
+ 285212689, },
65
65
  {
66
- false, 8194,
67
- 570425378, },
66
+ false, 8194,
67
+ 570425378, },
68
68
  {
69
- true,12291,
70
- 855638067, },
71
- });
69
+ true,12291,
70
+ 855638067, },
71
+ });
72
72
 
73
73
  /* Serialize it. */
74
74
 
@@ -95,15 +95,15 @@ SCENARIO("I-Forward Cumulative TSN Chunk (194)", "[serializable][sctp][chunk]")
95
95
  REQUIRE(
96
96
  chunk->GetSkippedStreams() == std::vector<RTC::SCTP::AnyForwardTsnChunk::SkippedStream>{
97
97
  {
98
- true, 4097,
99
- 285212689, },
98
+ true, 4097,
99
+ 285212689, },
100
100
  {
101
- false, 8194,
102
- 570425378, },
101
+ false, 8194,
102
+ 570425378, },
103
103
  {
104
- true,12291,
105
- 855638067, },
106
- });
104
+ true,12291,
105
+ 855638067, },
106
+ });
107
107
 
108
108
  /* Clone it. */
109
109
 
@@ -132,15 +132,15 @@ SCENARIO("I-Forward Cumulative TSN Chunk (194)", "[serializable][sctp][chunk]")
132
132
  REQUIRE(
133
133
  clonedChunk->GetSkippedStreams() == std::vector<RTC::SCTP::AnyForwardTsnChunk::SkippedStream>{
134
134
  {
135
- true, 4097,
136
- 285212689, },
135
+ true, 4097,
136
+ 285212689, },
137
137
  {
138
- false, 8194,
139
- 570425378, },
138
+ false, 8194,
139
+ 570425378, },
140
140
  {
141
- true,12291,
142
- 855638067, },
143
- });
141
+ true,12291,
142
+ 855638067, },
143
+ });
144
144
 
145
145
  delete clonedChunk;
146
146
  }
@@ -226,7 +226,7 @@ SCENARIO("I-Forward Cumulative TSN Chunk (194)", "[serializable][sctp][chunk]")
226
226
  { true, 1111, 11110001 },
227
227
  { false, 2222, 22220002 },
228
228
  { true, 3333, 33330003 },
229
- });
229
+ });
230
230
 
231
231
  /* Parse itself and compare. */
232
232
 
@@ -255,7 +255,7 @@ SCENARIO("I-Forward Cumulative TSN Chunk (194)", "[serializable][sctp][chunk]")
255
255
  { true, 1111, 11110001 },
256
256
  { false, 2222, 22220002 },
257
257
  { true, 3333, 33330003 },
258
- });
258
+ });
259
259
 
260
260
  delete parsedChunk;
261
261
  }
@@ -319,7 +319,7 @@ SCENARIO("SCTP Init Chunk (1)", "[serializable][sctp][chunk]")
319
319
 
320
320
  // 2345:0425:2CA1:0000:0000:0567:5673:23b5 IPv6 in network order.
321
321
  uint8_t ipBuffer2[] = { 0x23, 0x45, 0x04, 0x25, 0x2C, 0xA1, 0x00, 0x00,
322
- 0x00, 0x00, 0x05, 0x67, 0x56, 0x73, 0x23, 0xB5 };
322
+ 0x00, 0x00, 0x05, 0x67, 0x56, 0x73, 0x23, 0xB5 };
323
323
 
324
324
  parameter2->SetIPv6Address(ipBuffer2);
325
325
  parameter2->Consolidate();
@@ -72,7 +72,7 @@ SCENARIO("Selective Acknowledgement Chunk (3)", "[serializable][sctp][chunk]")
72
72
  REQUIRE(
73
73
  chunk->GetValidatedGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
74
74
  { 1000, 2999 },
75
- });
75
+ });
76
76
 
77
77
  /* Serialize it. */
78
78
 
@@ -184,7 +184,7 @@ SCENARIO("IPv6 Adress Parameter (6)", "[serializable][sctp][parameter]")
184
184
 
185
185
  // 2345:0425:2CA1:0000:0000:0567:5673:23b5 IPv6 in network order.
186
186
  uint8_t ipBuffer[] = { 0x23, 0x45, 0x04, 0x25, 0x2C, 0xA1, 0x00, 0x00,
187
- 0x00, 0x00, 0x05, 0x67, 0x56, 0x73, 0x23, 0xB5 };
187
+ 0x00, 0x00, 0x05, 0x67, 0x56, 0x73, 0x23, 0xB5 };
188
188
 
189
189
  parameter->SetIPv6Address(ipBuffer);
190
190
 
@@ -15,7 +15,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
15
15
  /* Pure virtual methods inherited from BackoffTimerHandleInterface::Listener. */
16
16
  public:
17
17
  void OnBackoffTimer(
18
- BackoffTimerHandleInterface* /*backoffTimer*/, uint64_t& /*baseTimeoutMs*/, bool& /*stop*/) override
18
+ BackoffTimerHandleInterface* /*backoffTimer*/, int64_t& /*baseTimeoutMs*/, bool& /*stop*/) override
19
19
  {
20
20
  }
21
21
  };
@@ -25,11 +25,11 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
25
25
  constexpr uint32_t InitialTsn{ 11 };
26
26
 
27
27
  MockBackoffTimerHandleListener backoffTimerHandleListener;
28
- uint64_t nowMs{ 10000 };
29
- mocks::MockShared shared(/*getTimeMs*/
30
- [&nowMs]()
28
+ int64_t nowUs{ 10000 * 1000 };
29
+ mocks::MockShared shared(/*getTimeUs*/
30
+ [&nowUs]() -> int64_t
31
31
  {
32
- return nowMs;
32
+ return nowUs;
33
33
  });
34
34
 
35
35
  const std::unique_ptr<BackoffTimerHandleInterface> delayedAckTimerUniquePtr{ shared.CreateBackoffTimer(
@@ -192,7 +192,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
192
192
  REQUIRE(
193
193
  sackChunk1->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
194
194
  { 2, 4 },
195
- });
195
+ });
196
196
 
197
197
  // Fill in the hole.
198
198
  observe({ 12, 16, 17, 18 });
@@ -231,7 +231,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
231
231
  REQUIRE(
232
232
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
233
233
  { 2, 2 },
234
- });
234
+ });
235
235
  REQUIRE(sackChunk->GetDuplicateTsns().empty());
236
236
  }
237
237
 
@@ -268,7 +268,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
268
268
  REQUIRE(
269
269
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
270
270
  { 2, 2 },
271
- });
271
+ });
272
272
  }
273
273
 
274
274
  SECTION("empty all acks")
@@ -392,7 +392,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
392
392
  REQUIRE(
393
393
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
394
394
  { 2, 5 },
395
- });
395
+ });
396
396
  REQUIRE(sackChunk->GetDuplicateTsns() == std::vector<uint32_t>{ 13, 14 });
397
397
  }
398
398
 
@@ -614,7 +614,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
614
614
  REQUIRE(
615
615
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
616
616
  { 2, 2 },
617
- });
617
+ });
618
618
  }
619
619
 
620
620
  SECTION("gap-ack-block adds another")
@@ -631,7 +631,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
631
631
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
632
632
  { 2, 2 },
633
633
  { 4, 4 },
634
- });
634
+ });
635
635
  }
636
636
 
637
637
  SECTION("gap-ack-block adds duplicate")
@@ -647,7 +647,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
647
647
  REQUIRE(
648
648
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
649
649
  { 2, 2 },
650
- });
650
+ });
651
651
  REQUIRE(sackChunk->GetDuplicateTsns() == std::vector<uint32_t>{ 12 });
652
652
  }
653
653
 
@@ -664,7 +664,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
664
664
  REQUIRE(
665
665
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
666
666
  { 2, 3 },
667
- });
667
+ });
668
668
  }
669
669
 
670
670
  SECTION("gap-ack-block expands to right with other")
@@ -684,7 +684,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
684
684
  { 2, 2 },
685
685
  { 10, 11 },
686
686
  { 20, 20 },
687
- });
687
+ });
688
688
  }
689
689
 
690
690
  SECTION("gap-ack-block expands to left")
@@ -700,7 +700,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
700
700
  REQUIRE(
701
701
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
702
702
  { 2, 3 },
703
- });
703
+ });
704
704
  }
705
705
 
706
706
  SECTION("gap-ack-block expands to left with other")
@@ -720,7 +720,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
720
720
  { 2, 2 },
721
721
  { 10, 11 },
722
722
  { 20, 20 },
723
- });
723
+ });
724
724
  }
725
725
 
726
726
  SECTION("gap-ack-block expands to right and merges")
@@ -741,7 +741,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
741
741
  { 2, 2 },
742
742
  { 10, 12 },
743
743
  { 20, 20 },
744
- });
744
+ });
745
745
  }
746
746
 
747
747
  SECTION("gap-ack-block merges many blocks into one")
@@ -769,7 +769,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
769
769
  getGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
770
770
  { 12, 12 },
771
771
  { 20, 20 },
772
- });
772
+ });
773
773
 
774
774
  observe({ 24 });
775
775
 
@@ -778,7 +778,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
778
778
  { 12, 12 },
779
779
  { 14, 14 },
780
780
  { 20, 20 },
781
- });
781
+ });
782
782
 
783
783
  observe({ 28 });
784
784
 
@@ -788,7 +788,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
788
788
  { 14, 14 },
789
789
  { 18, 18 },
790
790
  { 20, 20 },
791
- });
791
+ });
792
792
 
793
793
  observe({ 26 });
794
794
 
@@ -799,7 +799,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
799
799
  { 16, 16 },
800
800
  { 18, 18 },
801
801
  { 20, 20 },
802
- });
802
+ });
803
803
 
804
804
  observe({ 29 });
805
805
 
@@ -809,7 +809,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
809
809
  { 14, 14 },
810
810
  { 16, 16 },
811
811
  { 18, 20 },
812
- });
812
+ });
813
813
 
814
814
  observe({ 23 });
815
815
 
@@ -818,7 +818,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
818
818
  { 12, 14 },
819
819
  { 16, 16 },
820
820
  { 18, 20 },
821
- });
821
+ });
822
822
 
823
823
  observe({ 27 });
824
824
 
@@ -826,7 +826,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
826
826
  getGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
827
827
  { 12, 14 },
828
828
  { 16, 20 },
829
- });
829
+ });
830
830
 
831
831
  observe({ 25 });
832
832
 
@@ -841,7 +841,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
841
841
  getGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
842
842
  { 10, 10 },
843
843
  { 12, 20 },
844
- });
844
+ });
845
845
 
846
846
  observe({ 32 });
847
847
 
@@ -850,7 +850,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
850
850
  { 10, 10 },
851
851
  { 12, 20 },
852
852
  { 22, 22 },
853
- });
853
+ });
854
854
 
855
855
  observe({ 21 });
856
856
 
@@ -858,7 +858,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
858
858
  getGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
859
859
  { 10, 20 },
860
860
  { 22, 22 },
861
- });
861
+ });
862
862
 
863
863
  observe({ 31 });
864
864
 
@@ -884,7 +884,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
884
884
  { 2, 4 },
885
885
  { 10, 12 },
886
886
  { 20, 21 },
887
- });
887
+ });
888
888
  }
889
889
 
890
890
  SECTION("gap-ack-block remove before first block")
@@ -902,7 +902,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
902
902
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
903
903
  { 6, 8 },
904
904
  { 16, 17 },
905
- });
905
+ });
906
906
  }
907
907
 
908
908
  SECTION("gap-ack-block remove at beginning of first block")
@@ -920,7 +920,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
920
920
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
921
921
  { 6, 8 },
922
922
  { 16, 17 },
923
- });
923
+ });
924
924
  }
925
925
 
926
926
  SECTION("gap-ack-block remove at middle of first block")
@@ -938,7 +938,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
938
938
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
939
939
  { 6, 8 },
940
940
  { 16, 17 },
941
- });
941
+ });
942
942
  }
943
943
 
944
944
  SECTION("gap-ack-block remove at end of first block")
@@ -956,7 +956,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
956
956
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
957
957
  { 6, 8 },
958
958
  { 16, 17 },
959
- });
959
+ });
960
960
  }
961
961
 
962
962
  SECTION("gap-ack-block remove right after first block")
@@ -974,7 +974,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
974
974
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
975
975
  { 2, 4 },
976
976
  { 12, 13 },
977
- });
977
+ });
978
978
  }
979
979
 
980
980
  SECTION("gap-ack-block remove right before second block")
@@ -991,7 +991,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
991
991
  REQUIRE(
992
992
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
993
993
  { 8, 9 },
994
- });
994
+ });
995
995
  }
996
996
 
997
997
  SECTION("gap-ack-block remove right at start of second block")
@@ -1008,7 +1008,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
1008
1008
  REQUIRE(
1009
1009
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
1010
1010
  { 8, 9 },
1011
- });
1011
+ });
1012
1012
  }
1013
1013
 
1014
1014
  SECTION("gap-ack-block remove right at middle of second block")
@@ -1025,7 +1025,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
1025
1025
  REQUIRE(
1026
1026
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
1027
1027
  { 8, 9 },
1028
- });
1028
+ });
1029
1029
  }
1030
1030
 
1031
1031
  SECTION("gap-ack-block remove right at end of second block")
@@ -1042,7 +1042,7 @@ SCENARIO("SCTP DataTracker", "[sctp][datatracker]")
1042
1042
  REQUIRE(
1043
1043
  sackChunk->GetGapAckBlocks() == std::vector<RTC::SCTP::SackChunk::GapAckBlock>{
1044
1044
  { 8, 9 },
1045
- });
1045
+ });
1046
1046
  }
1047
1047
 
1048
1048
  SECTION("gap-ack-block remove far after all blocks")
@@ -240,8 +240,8 @@ SCENARIO("SCTP InterleavedReassemblyStreams", "[sctp][interleavedreassemblystrea
240
240
  getTsn(3),
241
241
  std::vector<RTC::SCTP::AnyForwardTsnChunk::SkippedStream>{
242
242
  { /*unordered*/ true,
243
- /*streamId*/ 1,
244
- /*mid*/ 0 }
243
+ /*streamId*/ 1,
244
+ /*mid*/ 0 }
245
245
  }) == 6);
246
246
  }
247
247
 
@@ -278,8 +278,8 @@ SCENARIO("SCTP InterleavedReassemblyStreams", "[sctp][interleavedreassemblystrea
278
278
  getTsn(3),
279
279
  std::vector<RTC::SCTP::AnyForwardTsnChunk::SkippedStream>{
280
280
  { /*unordered*/ false,
281
- /*streamId*/ 1,
282
- /*mid*/ 0 }
281
+ /*streamId*/ 1,
282
+ /*mid*/ 0 }
283
283
  }) == 6);
284
284
  }
285
285
 
@@ -333,8 +333,8 @@ SCENARIO("SCTP InterleavedReassemblyStreams", "[sctp][interleavedreassemblystrea
333
333
  getTsn(8),
334
334
  std::vector<RTC::SCTP::AnyForwardTsnChunk::SkippedStream>{
335
335
  { /*unordered*/ false,
336
- /*streamId*/ 1,
337
- /*mid*/ 2 }
336
+ /*streamId*/ 1,
337
+ /*mid*/ 2 }
338
338
  }) == 8);
339
339
  }
340
340
 
@@ -389,8 +389,8 @@ SCENARIO("SCTP InterleavedReassemblyStreams", "[sctp][interleavedreassemblystrea
389
389
  getTsn(4),
390
390
  std::vector<RTC::SCTP::AnyForwardTsnChunk::SkippedStream>{
391
391
  { /*unordered*/ false,
392
- /*streamId*/ 1,
393
- /*mid*/ 0 }
392
+ /*streamId*/ 1,
393
+ /*mid*/ 0 }
394
394
  }) == 8);
395
395
  }
396
396
 
@@ -406,8 +406,8 @@ SCENARIO("SCTP InterleavedReassemblyStreams", "[sctp][interleavedreassemblystrea
406
406
  getTsn(1),
407
407
  std::vector<RTC::SCTP::AnyForwardTsnChunk::SkippedStream>{
408
408
  { /*unordered*/ false,
409
- /*streamId*/ 1,
410
- /*mid*/ 0 }
409
+ /*streamId*/ 1,
410
+ /*mid*/ 0 }
411
411
  }) == 0);
412
412
 
413
413
  // Receive mid=1 (next after the skipped mid=0): should be delivered immediately.
@@ -22,7 +22,7 @@ SCENARIO("SCTP ReassemblyQueue", "[sctp][reassemblyqueue]")
22
22
  constexpr std::array<uint8_t, 8> MediumPayload1 = { 1, 2, 3, 4, 5, 6, 7, 8 };
23
23
  constexpr std::array<uint8_t, 8> MediumPayload2 = { 9, 10, 11, 12, 13, 14, 15, 16 };
24
24
  constexpr std::array<uint8_t, 16> LongPayload = { 1, 2, 3, 4, 5, 6, 7, 8,
25
- 9, 10, 11, 12, 13, 14, 15, 16 };
25
+ 9, 10, 11, 12, 13, 14, 15, 16 };
26
26
 
27
27
  auto flushMessages = [](RTC::SCTP::ReassemblyQueue& reassemblyQueue)
28
28
  {