mediasoup 3.28.0 → 3.29.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 (155) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/node/lib/PipeTransportTypes.d.ts +6 -1
  3. package/node/lib/PipeTransportTypes.d.ts.map +1 -1
  4. package/node/lib/PlainTransportTypes.d.ts +6 -1
  5. package/node/lib/PlainTransportTypes.d.ts.map +1 -1
  6. package/node/lib/Router.d.ts +4 -4
  7. package/node/lib/Router.d.ts.map +1 -1
  8. package/node/lib/Router.js +10 -7
  9. package/node/lib/RouterTypes.d.ts +7 -1
  10. package/node/lib/RouterTypes.d.ts.map +1 -1
  11. package/node/lib/Transport.d.ts +2 -1
  12. package/node/lib/Transport.d.ts.map +1 -1
  13. package/node/lib/Transport.js +17 -6
  14. package/node/lib/TransportTypes.d.ts +12 -2
  15. package/node/lib/TransportTypes.d.ts.map +1 -1
  16. package/node/lib/WebRtcTransportTypes.d.ts +6 -1
  17. package/node/lib/WebRtcTransportTypes.d.ts.map +1 -1
  18. package/node/lib/fbs/transport/options.d.ts +6 -2
  19. package/node/lib/fbs/transport/options.d.ts.map +1 -1
  20. package/node/lib/fbs/transport/options.js +19 -7
  21. package/node/lib/fbs/transport/sctp-zero-checksum.d.ts +6 -0
  22. package/node/lib/fbs/transport/sctp-zero-checksum.d.ts.map +1 -0
  23. package/node/lib/fbs/transport/sctp-zero-checksum.js +11 -0
  24. package/node/lib/fbs/transport/stats.d.ts +2 -8
  25. package/node/lib/fbs/transport/stats.d.ts.map +1 -1
  26. package/node/lib/fbs/transport/stats.js +5 -29
  27. package/node/lib/fbs/transport.d.ts +1 -0
  28. package/node/lib/fbs/transport.d.ts.map +1 -1
  29. package/node/lib/fbs/transport.js +4 -2
  30. package/npm-scripts.mjs +35 -44
  31. package/package.json +10 -6
  32. package/worker/fbs/transport.fbs +9 -2
  33. package/worker/fuzzer/src/RTC/RTP/FuzzerRetransmissionBuffer.cpp +14 -1
  34. package/worker/fuzzer/src/RTC/RTP/FuzzerRtpStreamSend.cpp +17 -4
  35. package/worker/include/RTC/BWE/AimdRateControl.hpp +9 -9
  36. package/worker/include/RTC/BWE/BweTypes.hpp +54 -17
  37. package/worker/include/RTC/BWE/DelayBasedBwe.hpp +3 -3
  38. package/worker/include/RTC/BWE/FeedbackAdapter.hpp +2 -2
  39. package/worker/include/RTC/BWE/LossBasedController.hpp +4 -4
  40. package/worker/include/RTC/BWE/OveruseDetector.hpp +5 -4
  41. package/worker/include/RTC/BWE/ProbeBitrateEstimator.hpp +1 -1
  42. package/worker/include/RTC/BWE/ProbeController.hpp +6 -6
  43. package/worker/include/RTC/BWE/ProbePacketGenerator.hpp +2 -6
  44. package/worker/include/RTC/BWE/ProbingScheduler.hpp +3 -7
  45. package/worker/include/RTC/BWE/ReceiverTransportCongestionController.hpp +148 -0
  46. package/worker/include/RTC/BWE/RembGenerator.hpp +4 -3
  47. package/worker/include/RTC/BWE/RemoteBitrateEstimatorAbsSendTime.hpp +1 -1
  48. package/worker/include/RTC/BWE/SenderTransportCongestionController.hpp +343 -0
  49. package/worker/include/RTC/BWE/TargetRateController.hpp +4 -1
  50. package/worker/include/RTC/BWE/TransportWideCcFeedbackGenerator.hpp +5 -4
  51. package/worker/include/RTC/BWE/TrendlineEstimator.hpp +3 -3
  52. package/worker/include/RTC/Consumer.hpp +8 -1
  53. package/worker/include/RTC/RTP/RetransmissionBuffer.hpp +36 -10
  54. package/worker/include/RTC/RTP/RtpStream.hpp +21 -0
  55. package/worker/include/RTC/RTP/RtpStreamRecv.hpp +1 -0
  56. package/worker/include/RTC/RTP/RtpStreamSend.hpp +122 -9
  57. package/worker/include/RTC/SCTP/packet/parameters/ZeroChecksumAcceptableParameter.hpp +12 -3
  58. package/worker/include/RTC/TransportCongestionControlClient.hpp +0 -5
  59. package/worker/include/RTC/TransportCongestionControlServer.hpp +0 -5
  60. package/worker/include/Utils.hpp +9 -2
  61. package/worker/meson.build +4 -0
  62. package/worker/src/RTC/BWE/AimdRateControl.cpp +22 -22
  63. package/worker/src/RTC/BWE/DelayBasedBwe.cpp +16 -20
  64. package/worker/src/RTC/BWE/FeedbackAdapter.cpp +1 -1
  65. package/worker/src/RTC/BWE/OveruseDetector.cpp +8 -8
  66. package/worker/src/RTC/BWE/ProbeBitrateEstimator.cpp +2 -2
  67. package/worker/src/RTC/BWE/ProbeController.cpp +1 -1
  68. package/worker/src/RTC/BWE/ProbePacketGenerator.cpp +1 -6
  69. package/worker/src/RTC/BWE/ProbingScheduler.cpp +2 -7
  70. package/worker/src/RTC/BWE/ReceiverTransportCongestionController.cpp +207 -0
  71. package/worker/src/RTC/BWE/RembGenerator.cpp +1 -1
  72. package/worker/src/RTC/BWE/RemoteBitrateEstimatorAbsSendTime.cpp +1 -1
  73. package/worker/src/RTC/BWE/SenderTransportCongestionController.cpp +599 -0
  74. package/worker/src/RTC/BWE/TransportWideCcFeedbackGenerator.cpp +2 -3
  75. package/worker/src/RTC/BWE/TrendlineEstimator.cpp +5 -5
  76. package/worker/src/RTC/Consumer.cpp +3 -2
  77. package/worker/src/RTC/DataConsumer.cpp +2 -2
  78. package/worker/src/RTC/RTP/RetransmissionBuffer.cpp +21 -8
  79. package/worker/src/RTC/RTP/RtpStream.cpp +0 -3
  80. package/worker/src/RTC/RTP/RtpStreamRecv.cpp +57 -71
  81. package/worker/src/RTC/RTP/RtpStreamSend.cpp +428 -244
  82. package/worker/src/RTC/RTP/RtxStream.cpp +14 -19
  83. package/worker/src/RTC/SCTP/association/Association.cpp +3 -2
  84. package/worker/src/RTC/SCTP/association/StateCookie.cpp +26 -6
  85. package/worker/src/RTC/SCTP/packet/parameters/ZeroChecksumAcceptableParameter.cpp +4 -3
  86. package/worker/src/RTC/SCTP/rx/ReassemblyQueue.cpp +2 -1
  87. package/worker/src/RTC/SCTP/tx/RetransmissionQueue.cpp +4 -2
  88. package/worker/src/RTC/Transport.cpp +49 -20
  89. package/worker/src/RTC/TransportCongestionControlClient.cpp +0 -66
  90. package/worker/src/RTC/TransportCongestionControlServer.cpp +0 -55
  91. package/worker/src/Utils/Crypto.cpp +114 -98
  92. package/worker/subprojects/catch2.wrap +6 -6
  93. package/worker/subprojects/openssl.wrap +11 -12
  94. package/worker/subprojects/packagefiles/ankerl-unordered-dense/meson.build +1 -1
  95. package/worker/subprojects/unordered-dense.wrap +4 -4
  96. package/worker/test/src/RTC/BWE/TestDelayBasedBwe.cpp +5 -5
  97. package/worker/test/src/RTC/BWE/TestFeedbackAdapter.cpp +26 -23
  98. package/worker/test/src/RTC/BWE/TestInterArrivalDelta.cpp +8 -8
  99. package/worker/test/src/RTC/BWE/TestOveruseDetector.cpp +4 -4
  100. package/worker/test/src/RTC/BWE/TestProbeController.cpp +35 -32
  101. package/worker/test/src/RTC/BWE/TestProbePacketGenerator.cpp +2 -17
  102. package/worker/test/src/RTC/BWE/TestProbingScheduler.cpp +1 -25
  103. package/worker/test/src/RTC/BWE/TestReceiverTransportCongestionController.cpp +346 -0
  104. package/worker/test/src/RTC/BWE/TestRembGenerator.cpp +1 -1
  105. package/worker/test/src/RTC/BWE/TestRemoteBitrateEstimatorAbsSendTime.cpp +9 -9
  106. package/worker/test/src/RTC/BWE/TestSenderTransportCongestionController.cpp +510 -0
  107. package/worker/test/src/RTC/BWE/TestTransportWideCcFeedbackGenerator.cpp +16 -14
  108. package/worker/test/src/RTC/BWE/TestTrendlineEstimator.cpp +6 -6
  109. package/worker/test/src/RTC/BWE/helpers/RemoteBitrateEstimatorAbsSendTimeTestHelper.cpp +1 -2
  110. package/worker/test/src/RTC/RTCP/TestBye.cpp +1 -1
  111. package/worker/test/src/RTC/RTCP/TestFeedbackPsAfb.cpp +1 -1
  112. package/worker/test/src/RTC/RTCP/TestFeedbackPsFir.cpp +1 -1
  113. package/worker/test/src/RTC/RTCP/TestFeedbackPsLei.cpp +1 -1
  114. package/worker/test/src/RTC/RTCP/TestFeedbackPsPli.cpp +1 -1
  115. package/worker/test/src/RTC/RTCP/TestFeedbackPsRemb.cpp +1 -1
  116. package/worker/test/src/RTC/RTCP/TestFeedbackPsRpsi.cpp +1 -1
  117. package/worker/test/src/RTC/RTCP/TestFeedbackPsSli.cpp +1 -1
  118. package/worker/test/src/RTC/RTCP/TestFeedbackPsTst.cpp +1 -1
  119. package/worker/test/src/RTC/RTCP/TestFeedbackPsVbcm.cpp +1 -1
  120. package/worker/test/src/RTC/RTCP/TestFeedbackRtpEcn.cpp +1 -1
  121. package/worker/test/src/RTC/RTCP/TestFeedbackRtpNack.cpp +1 -1
  122. package/worker/test/src/RTC/RTCP/TestFeedbackRtpSrReq.cpp +1 -1
  123. package/worker/test/src/RTC/RTCP/TestFeedbackRtpTllei.cpp +1 -1
  124. package/worker/test/src/RTC/RTCP/TestFeedbackRtpTmmb.cpp +1 -1
  125. package/worker/test/src/RTC/RTCP/TestFeedbackRtpTransport.cpp +1 -1
  126. package/worker/test/src/RTC/RTCP/TestReceiverReport.cpp +1 -1
  127. package/worker/test/src/RTC/RTCP/TestSenderReport.cpp +1 -1
  128. package/worker/test/src/RTC/RTP/TestRetransmissionBuffer.cpp +60 -28
  129. package/worker/test/src/RTC/RTP/TestRtpStreamRecv.cpp +1 -1
  130. package/worker/test/src/RTC/RTP/TestRtpStreamSend.cpp +746 -24
  131. package/worker/test/src/RTC/RTP/TestSharedPacket.cpp +1 -1
  132. package/worker/test/src/RTC/SCTP/association/TestAssociation.cpp +42 -0
  133. package/worker/test/src/RTC/SCTP/association/TestNegotiatedCapabilities.cpp +54 -5
  134. package/worker/test/src/RTC/SCTP/association/TestStateCookie.cpp +80 -15
  135. package/worker/test/src/RTC/SCTP/association/TestStreamResetHandler.cpp +410 -3
  136. package/worker/test/src/RTC/SCTP/association/TestTransmissionControlBlock.cpp +1 -1
  137. package/worker/test/src/RTC/SCTP/packet/parameters/TestZeroChecksumAcceptableParameter.cpp +37 -5
  138. package/worker/test/src/RTC/SCTP/rx/TestDataTracker.cpp +5 -4
  139. package/worker/test/src/RTC/SCTP/rx/TestInterleavedReassemblyStreams.cpp +1 -1
  140. package/worker/test/src/RTC/SCTP/rx/TestReassemblyQueue.cpp +1 -1
  141. package/worker/test/src/RTC/SCTP/rx/TestTraditionalReassemblyStreams.cpp +1 -1
  142. package/worker/test/src/RTC/SCTP/tx/TestOutstandingData.cpp +1 -1
  143. package/worker/test/src/RTC/SCTP/tx/TestRetransmissionQueue.cpp +11 -10
  144. package/worker/test/src/RTC/SCTP/tx/TestRetransmissionTimeout.cpp +1 -1
  145. package/worker/test/src/RTC/TestNackGenerator.cpp +1 -1
  146. package/worker/test/src/RTC/TestPortManager.cpp +2 -2
  147. package/worker/test/src/RTC/TestRateCalculator.cpp +1 -1
  148. package/worker/test/src/RTC/TestRemoteCaptureTimeEstimator.cpp +21 -15
  149. package/worker/test/src/RTC/TestRemoteClockOffsetEstimator.cpp +13 -13
  150. package/worker/test/src/RTC/TestRtpEncodingParameters.cpp +1 -1
  151. package/worker/test/src/RTC/TestSubchannelsCodec.cpp +2 -2
  152. package/worker/test/src/RTC/TestTransportCongestionControlServer.cpp +1 -1
  153. package/worker/test/src/RTC/TestTransportTuple.cpp +3 -2
  154. package/worker/test/src/Utils/TestCrypto.cpp +71 -2
  155. package/worker/test/src/Utils/TestTime.cpp +2 -2
@@ -37,6 +37,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
37
37
  exports.OptionsT = exports.Options = void 0;
38
38
  /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
39
39
  const flatbuffers = __importStar(require("flatbuffers"));
40
+ const sctp_zero_checksum_1 = require("../../fbs/transport/sctp-zero-checksum");
40
41
  class Options {
41
42
  bb = null;
42
43
  bb_pos = 0;
@@ -88,12 +89,16 @@ class Options {
88
89
  const offset = this.bb.__offset(this.bb_pos, 20);
89
90
  return offset ? this.bb.readUint32(this.bb_pos + offset) : 0;
90
91
  }
91
- isDataChannel() {
92
+ sctpZeroChecksum() {
92
93
  const offset = this.bb.__offset(this.bb_pos, 22);
94
+ return offset ? this.bb.readUint32(this.bb_pos + offset) : sctp_zero_checksum_1.SctpZeroChecksum.NONE;
95
+ }
96
+ isDataChannel() {
97
+ const offset = this.bb.__offset(this.bb_pos, 24);
93
98
  return offset ? !!this.bb.readInt8(this.bb_pos + offset) : false;
94
99
  }
95
100
  static startOptions(builder) {
96
- builder.startObject(10);
101
+ builder.startObject(11);
97
102
  }
98
103
  static addDirect(builder, direct) {
99
104
  builder.addFieldInt8(0, +direct, +false);
@@ -122,14 +127,17 @@ class Options {
122
127
  static addSctpDefaultStreamBufferedAmountLowThreshold(builder, sctpDefaultStreamBufferedAmountLowThreshold) {
123
128
  builder.addFieldInt32(8, sctpDefaultStreamBufferedAmountLowThreshold, 0);
124
129
  }
130
+ static addSctpZeroChecksum(builder, sctpZeroChecksum) {
131
+ builder.addFieldInt32(9, sctpZeroChecksum, sctp_zero_checksum_1.SctpZeroChecksum.NONE);
132
+ }
125
133
  static addIsDataChannel(builder, isDataChannel) {
126
- builder.addFieldInt8(9, +isDataChannel, +false);
134
+ builder.addFieldInt8(10, +isDataChannel, +false);
127
135
  }
128
136
  static endOptions(builder) {
129
137
  const offset = builder.endObject();
130
138
  return offset;
131
139
  }
132
- static createOptions(builder, direct, initialAvailableOutgoingBitrate, enableSctp, maxSendMessageSize, maxReceiveMessageSize, sctpSendBufferSize, sctpPerStreamSendQueueLimit, sctpMaxReceiverWindowBufferSize, sctpDefaultStreamBufferedAmountLowThreshold, isDataChannel) {
140
+ static createOptions(builder, direct, initialAvailableOutgoingBitrate, enableSctp, maxSendMessageSize, maxReceiveMessageSize, sctpSendBufferSize, sctpPerStreamSendQueueLimit, sctpMaxReceiverWindowBufferSize, sctpDefaultStreamBufferedAmountLowThreshold, sctpZeroChecksum, isDataChannel) {
133
141
  Options.startOptions(builder);
134
142
  Options.addDirect(builder, direct);
135
143
  if (initialAvailableOutgoingBitrate !== null)
@@ -141,11 +149,12 @@ class Options {
141
149
  Options.addSctpPerStreamSendQueueLimit(builder, sctpPerStreamSendQueueLimit);
142
150
  Options.addSctpMaxReceiverWindowBufferSize(builder, sctpMaxReceiverWindowBufferSize);
143
151
  Options.addSctpDefaultStreamBufferedAmountLowThreshold(builder, sctpDefaultStreamBufferedAmountLowThreshold);
152
+ Options.addSctpZeroChecksum(builder, sctpZeroChecksum);
144
153
  Options.addIsDataChannel(builder, isDataChannel);
145
154
  return Options.endOptions(builder);
146
155
  }
147
156
  unpack() {
148
- return new OptionsT(this.direct(), this.initialAvailableOutgoingBitrate(), this.enableSctp(), this.maxSendMessageSize(), this.maxReceiveMessageSize(), this.sctpSendBufferSize(), this.sctpPerStreamSendQueueLimit(), this.sctpMaxReceiverWindowBufferSize(), this.sctpDefaultStreamBufferedAmountLowThreshold(), this.isDataChannel());
157
+ return new OptionsT(this.direct(), this.initialAvailableOutgoingBitrate(), this.enableSctp(), this.maxSendMessageSize(), this.maxReceiveMessageSize(), this.sctpSendBufferSize(), this.sctpPerStreamSendQueueLimit(), this.sctpMaxReceiverWindowBufferSize(), this.sctpDefaultStreamBufferedAmountLowThreshold(), this.sctpZeroChecksum(), this.isDataChannel());
149
158
  }
150
159
  unpackTo(_o) {
151
160
  _o.direct = this.direct();
@@ -157,6 +166,7 @@ class Options {
157
166
  _o.sctpPerStreamSendQueueLimit = this.sctpPerStreamSendQueueLimit();
158
167
  _o.sctpMaxReceiverWindowBufferSize = this.sctpMaxReceiverWindowBufferSize();
159
168
  _o.sctpDefaultStreamBufferedAmountLowThreshold = this.sctpDefaultStreamBufferedAmountLowThreshold();
169
+ _o.sctpZeroChecksum = this.sctpZeroChecksum();
160
170
  _o.isDataChannel = this.isDataChannel();
161
171
  }
162
172
  }
@@ -171,8 +181,9 @@ class OptionsT {
171
181
  sctpPerStreamSendQueueLimit;
172
182
  sctpMaxReceiverWindowBufferSize;
173
183
  sctpDefaultStreamBufferedAmountLowThreshold;
184
+ sctpZeroChecksum;
174
185
  isDataChannel;
175
- constructor(direct = false, initialAvailableOutgoingBitrate = null, enableSctp = false, maxSendMessageSize = 0, maxReceiveMessageSize = 0, sctpSendBufferSize = 0, sctpPerStreamSendQueueLimit = 0, sctpMaxReceiverWindowBufferSize = 0, sctpDefaultStreamBufferedAmountLowThreshold = 0, isDataChannel = false) {
186
+ constructor(direct = false, initialAvailableOutgoingBitrate = null, enableSctp = false, maxSendMessageSize = 0, maxReceiveMessageSize = 0, sctpSendBufferSize = 0, sctpPerStreamSendQueueLimit = 0, sctpMaxReceiverWindowBufferSize = 0, sctpDefaultStreamBufferedAmountLowThreshold = 0, sctpZeroChecksum = sctp_zero_checksum_1.SctpZeroChecksum.NONE, isDataChannel = false) {
176
187
  this.direct = direct;
177
188
  this.initialAvailableOutgoingBitrate = initialAvailableOutgoingBitrate;
178
189
  this.enableSctp = enableSctp;
@@ -182,10 +193,11 @@ class OptionsT {
182
193
  this.sctpPerStreamSendQueueLimit = sctpPerStreamSendQueueLimit;
183
194
  this.sctpMaxReceiverWindowBufferSize = sctpMaxReceiverWindowBufferSize;
184
195
  this.sctpDefaultStreamBufferedAmountLowThreshold = sctpDefaultStreamBufferedAmountLowThreshold;
196
+ this.sctpZeroChecksum = sctpZeroChecksum;
185
197
  this.isDataChannel = isDataChannel;
186
198
  }
187
199
  pack(builder) {
188
- return Options.createOptions(builder, this.direct, this.initialAvailableOutgoingBitrate, this.enableSctp, this.maxSendMessageSize, this.maxReceiveMessageSize, this.sctpSendBufferSize, this.sctpPerStreamSendQueueLimit, this.sctpMaxReceiverWindowBufferSize, this.sctpDefaultStreamBufferedAmountLowThreshold, this.isDataChannel);
200
+ return Options.createOptions(builder, this.direct, this.initialAvailableOutgoingBitrate, this.enableSctp, this.maxSendMessageSize, this.maxReceiveMessageSize, this.sctpSendBufferSize, this.sctpPerStreamSendQueueLimit, this.sctpMaxReceiverWindowBufferSize, this.sctpDefaultStreamBufferedAmountLowThreshold, this.sctpZeroChecksum, this.isDataChannel);
189
201
  }
190
202
  }
191
203
  exports.OptionsT = OptionsT;
@@ -0,0 +1,6 @@
1
+ export declare enum SctpZeroChecksum {
2
+ NONE = 0,
3
+ SCTP_OVER_DTLS = 1,
4
+ TRUSTED_NETWORK = 4294967294
5
+ }
6
+ //# sourceMappingURL=sctp-zero-checksum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sctp-zero-checksum.d.ts","sourceRoot":"","sources":["../../../src/fbs/transport/sctp-zero-checksum.ts"],"names":[],"mappings":"AAIA,oBAAY,gBAAgB;IAC1B,IAAI,IAAI;IACR,cAAc,IAAI;IAClB,eAAe,aAAa;CAC7B"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ // automatically generated by the FlatBuffers compiler, do not modify
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.SctpZeroChecksum = void 0;
5
+ /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
6
+ var SctpZeroChecksum;
7
+ (function (SctpZeroChecksum) {
8
+ SctpZeroChecksum[SctpZeroChecksum["NONE"] = 0] = "NONE";
9
+ SctpZeroChecksum[SctpZeroChecksum["SCTP_OVER_DTLS"] = 1] = "SCTP_OVER_DTLS";
10
+ SctpZeroChecksum[SctpZeroChecksum["TRUSTED_NETWORK"] = 4294967294] = "TRUSTED_NETWORK";
11
+ })(SctpZeroChecksum || (exports.SctpZeroChecksum = SctpZeroChecksum = {}));
@@ -29,8 +29,6 @@ export declare class Stats implements flatbuffers.IUnpackableObject<StatsT> {
29
29
  maxIncomingBitrate(): bigint | null;
30
30
  maxOutgoingBitrate(): bigint | null;
31
31
  minOutgoingBitrate(): bigint | null;
32
- rtpPacketLossReceived(): number | null;
33
- rtpPacketLossSent(): number | null;
34
32
  static startStats(builder: flatbuffers.Builder): void;
35
33
  static addTransportId(builder: flatbuffers.Builder, transportIdOffset: flatbuffers.Offset): void;
36
34
  static addTimestamp(builder: flatbuffers.Builder, timestamp: bigint): void;
@@ -54,10 +52,8 @@ export declare class Stats implements flatbuffers.IUnpackableObject<StatsT> {
54
52
  static addMaxIncomingBitrate(builder: flatbuffers.Builder, maxIncomingBitrate: bigint): void;
55
53
  static addMaxOutgoingBitrate(builder: flatbuffers.Builder, maxOutgoingBitrate: bigint): void;
56
54
  static addMinOutgoingBitrate(builder: flatbuffers.Builder, minOutgoingBitrate: bigint): void;
57
- static addRtpPacketLossReceived(builder: flatbuffers.Builder, rtpPacketLossReceived: number): void;
58
- static addRtpPacketLossSent(builder: flatbuffers.Builder, rtpPacketLossSent: number): void;
59
55
  static endStats(builder: flatbuffers.Builder): flatbuffers.Offset;
60
- static createStats(builder: flatbuffers.Builder, transportIdOffset: flatbuffers.Offset, timestamp: bigint, sctpState: SctpState | null, bytesReceived: bigint, recvBitrate: bigint, bytesSent: bigint, sendBitrate: bigint, rtpBytesReceived: bigint, rtpRecvBitrate: bigint, rtpBytesSent: bigint, rtpSendBitrate: bigint, rtxBytesReceived: bigint, rtxRecvBitrate: bigint, rtxBytesSent: bigint, rtxSendBitrate: bigint, probationBytesSent: bigint, probationSendBitrate: bigint, availableOutgoingBitrate: bigint | null, availableIncomingBitrate: bigint | null, maxIncomingBitrate: bigint | null, maxOutgoingBitrate: bigint | null, minOutgoingBitrate: bigint | null, rtpPacketLossReceived: number | null, rtpPacketLossSent: number | null): flatbuffers.Offset;
56
+ static createStats(builder: flatbuffers.Builder, transportIdOffset: flatbuffers.Offset, timestamp: bigint, sctpState: SctpState | null, bytesReceived: bigint, recvBitrate: bigint, bytesSent: bigint, sendBitrate: bigint, rtpBytesReceived: bigint, rtpRecvBitrate: bigint, rtpBytesSent: bigint, rtpSendBitrate: bigint, rtxBytesReceived: bigint, rtxRecvBitrate: bigint, rtxBytesSent: bigint, rtxSendBitrate: bigint, probationBytesSent: bigint, probationSendBitrate: bigint, availableOutgoingBitrate: bigint | null, availableIncomingBitrate: bigint | null, maxIncomingBitrate: bigint | null, maxOutgoingBitrate: bigint | null, minOutgoingBitrate: bigint | null): flatbuffers.Offset;
61
57
  unpack(): StatsT;
62
58
  unpackTo(_o: StatsT): void;
63
59
  }
@@ -84,9 +80,7 @@ export declare class StatsT implements flatbuffers.IGeneratedObject {
84
80
  maxIncomingBitrate: bigint | null;
85
81
  maxOutgoingBitrate: bigint | null;
86
82
  minOutgoingBitrate: bigint | null;
87
- rtpPacketLossReceived: number | null;
88
- rtpPacketLossSent: number | null;
89
- constructor(transportId?: string | Uint8Array | null, timestamp?: bigint, sctpState?: SctpState | null, bytesReceived?: bigint, recvBitrate?: bigint, bytesSent?: bigint, sendBitrate?: bigint, rtpBytesReceived?: bigint, rtpRecvBitrate?: bigint, rtpBytesSent?: bigint, rtpSendBitrate?: bigint, rtxBytesReceived?: bigint, rtxRecvBitrate?: bigint, rtxBytesSent?: bigint, rtxSendBitrate?: bigint, probationBytesSent?: bigint, probationSendBitrate?: bigint, availableOutgoingBitrate?: bigint | null, availableIncomingBitrate?: bigint | null, maxIncomingBitrate?: bigint | null, maxOutgoingBitrate?: bigint | null, minOutgoingBitrate?: bigint | null, rtpPacketLossReceived?: number | null, rtpPacketLossSent?: number | null);
83
+ constructor(transportId?: string | Uint8Array | null, timestamp?: bigint, sctpState?: SctpState | null, bytesReceived?: bigint, recvBitrate?: bigint, bytesSent?: bigint, sendBitrate?: bigint, rtpBytesReceived?: bigint, rtpRecvBitrate?: bigint, rtpBytesSent?: bigint, rtpSendBitrate?: bigint, rtxBytesReceived?: bigint, rtxRecvBitrate?: bigint, rtxBytesSent?: bigint, rtxSendBitrate?: bigint, probationBytesSent?: bigint, probationSendBitrate?: bigint, availableOutgoingBitrate?: bigint | null, availableIncomingBitrate?: bigint | null, maxIncomingBitrate?: bigint | null, maxOutgoingBitrate?: bigint | null, minOutgoingBitrate?: bigint | null);
90
84
  pack(builder: flatbuffers.Builder): flatbuffers.Offset;
91
85
  }
92
86
  //# sourceMappingURL=stats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/fbs/transport/stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/fbs/transport/stats.ts"],"names":[],"mappings":"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"}
@@ -140,16 +140,8 @@ class Stats {
140
140
  const offset = this.bb.__offset(this.bb_pos, 46);
141
141
  return offset ? this.bb.readUint64(this.bb_pos + offset) : null;
142
142
  }
143
- rtpPacketLossReceived() {
144
- const offset = this.bb.__offset(this.bb_pos, 48);
145
- return offset ? this.bb.readFloat64(this.bb_pos + offset) : null;
146
- }
147
- rtpPacketLossSent() {
148
- const offset = this.bb.__offset(this.bb_pos, 50);
149
- return offset ? this.bb.readFloat64(this.bb_pos + offset) : null;
150
- }
151
143
  static startStats(builder) {
152
- builder.startObject(24);
144
+ builder.startObject(22);
153
145
  }
154
146
  static addTransportId(builder, transportIdOffset) {
155
147
  builder.addFieldOffset(0, transportIdOffset, 0);
@@ -217,18 +209,12 @@ class Stats {
217
209
  static addMinOutgoingBitrate(builder, minOutgoingBitrate) {
218
210
  builder.addFieldInt64(21, minOutgoingBitrate, null);
219
211
  }
220
- static addRtpPacketLossReceived(builder, rtpPacketLossReceived) {
221
- builder.addFieldFloat64(22, rtpPacketLossReceived, null);
222
- }
223
- static addRtpPacketLossSent(builder, rtpPacketLossSent) {
224
- builder.addFieldFloat64(23, rtpPacketLossSent, null);
225
- }
226
212
  static endStats(builder) {
227
213
  const offset = builder.endObject();
228
214
  builder.requiredField(offset, 4); // transport_id
229
215
  return offset;
230
216
  }
231
- static createStats(builder, transportIdOffset, timestamp, sctpState, bytesReceived, recvBitrate, bytesSent, sendBitrate, rtpBytesReceived, rtpRecvBitrate, rtpBytesSent, rtpSendBitrate, rtxBytesReceived, rtxRecvBitrate, rtxBytesSent, rtxSendBitrate, probationBytesSent, probationSendBitrate, availableOutgoingBitrate, availableIncomingBitrate, maxIncomingBitrate, maxOutgoingBitrate, minOutgoingBitrate, rtpPacketLossReceived, rtpPacketLossSent) {
217
+ static createStats(builder, transportIdOffset, timestamp, sctpState, bytesReceived, recvBitrate, bytesSent, sendBitrate, rtpBytesReceived, rtpRecvBitrate, rtpBytesSent, rtpSendBitrate, rtxBytesReceived, rtxRecvBitrate, rtxBytesSent, rtxSendBitrate, probationBytesSent, probationSendBitrate, availableOutgoingBitrate, availableIncomingBitrate, maxIncomingBitrate, maxOutgoingBitrate, minOutgoingBitrate) {
232
218
  Stats.startStats(builder);
233
219
  Stats.addTransportId(builder, transportIdOffset);
234
220
  Stats.addTimestamp(builder, timestamp);
@@ -258,14 +244,10 @@ class Stats {
258
244
  Stats.addMaxOutgoingBitrate(builder, maxOutgoingBitrate);
259
245
  if (minOutgoingBitrate !== null)
260
246
  Stats.addMinOutgoingBitrate(builder, minOutgoingBitrate);
261
- if (rtpPacketLossReceived !== null)
262
- Stats.addRtpPacketLossReceived(builder, rtpPacketLossReceived);
263
- if (rtpPacketLossSent !== null)
264
- Stats.addRtpPacketLossSent(builder, rtpPacketLossSent);
265
247
  return Stats.endStats(builder);
266
248
  }
267
249
  unpack() {
268
- return new StatsT(this.transportId(), this.timestamp(), this.sctpState(), this.bytesReceived(), this.recvBitrate(), this.bytesSent(), this.sendBitrate(), this.rtpBytesReceived(), this.rtpRecvBitrate(), this.rtpBytesSent(), this.rtpSendBitrate(), this.rtxBytesReceived(), this.rtxRecvBitrate(), this.rtxBytesSent(), this.rtxSendBitrate(), this.probationBytesSent(), this.probationSendBitrate(), this.availableOutgoingBitrate(), this.availableIncomingBitrate(), this.maxIncomingBitrate(), this.maxOutgoingBitrate(), this.minOutgoingBitrate(), this.rtpPacketLossReceived(), this.rtpPacketLossSent());
250
+ return new StatsT(this.transportId(), this.timestamp(), this.sctpState(), this.bytesReceived(), this.recvBitrate(), this.bytesSent(), this.sendBitrate(), this.rtpBytesReceived(), this.rtpRecvBitrate(), this.rtpBytesSent(), this.rtpSendBitrate(), this.rtxBytesReceived(), this.rtxRecvBitrate(), this.rtxBytesSent(), this.rtxSendBitrate(), this.probationBytesSent(), this.probationSendBitrate(), this.availableOutgoingBitrate(), this.availableIncomingBitrate(), this.maxIncomingBitrate(), this.maxOutgoingBitrate(), this.minOutgoingBitrate());
269
251
  }
270
252
  unpackTo(_o) {
271
253
  _o.transportId = this.transportId();
@@ -290,8 +272,6 @@ class Stats {
290
272
  _o.maxIncomingBitrate = this.maxIncomingBitrate();
291
273
  _o.maxOutgoingBitrate = this.maxOutgoingBitrate();
292
274
  _o.minOutgoingBitrate = this.minOutgoingBitrate();
293
- _o.rtpPacketLossReceived = this.rtpPacketLossReceived();
294
- _o.rtpPacketLossSent = this.rtpPacketLossSent();
295
275
  }
296
276
  }
297
277
  exports.Stats = Stats;
@@ -318,9 +298,7 @@ class StatsT {
318
298
  maxIncomingBitrate;
319
299
  maxOutgoingBitrate;
320
300
  minOutgoingBitrate;
321
- rtpPacketLossReceived;
322
- rtpPacketLossSent;
323
- constructor(transportId = null, timestamp = BigInt('0'), sctpState = null, bytesReceived = BigInt('0'), recvBitrate = BigInt('0'), bytesSent = BigInt('0'), sendBitrate = BigInt('0'), rtpBytesReceived = BigInt('0'), rtpRecvBitrate = BigInt('0'), rtpBytesSent = BigInt('0'), rtpSendBitrate = BigInt('0'), rtxBytesReceived = BigInt('0'), rtxRecvBitrate = BigInt('0'), rtxBytesSent = BigInt('0'), rtxSendBitrate = BigInt('0'), probationBytesSent = BigInt('0'), probationSendBitrate = BigInt('0'), availableOutgoingBitrate = null, availableIncomingBitrate = null, maxIncomingBitrate = null, maxOutgoingBitrate = null, minOutgoingBitrate = null, rtpPacketLossReceived = null, rtpPacketLossSent = null) {
301
+ constructor(transportId = null, timestamp = BigInt('0'), sctpState = null, bytesReceived = BigInt('0'), recvBitrate = BigInt('0'), bytesSent = BigInt('0'), sendBitrate = BigInt('0'), rtpBytesReceived = BigInt('0'), rtpRecvBitrate = BigInt('0'), rtpBytesSent = BigInt('0'), rtpSendBitrate = BigInt('0'), rtxBytesReceived = BigInt('0'), rtxRecvBitrate = BigInt('0'), rtxBytesSent = BigInt('0'), rtxSendBitrate = BigInt('0'), probationBytesSent = BigInt('0'), probationSendBitrate = BigInt('0'), availableOutgoingBitrate = null, availableIncomingBitrate = null, maxIncomingBitrate = null, maxOutgoingBitrate = null, minOutgoingBitrate = null) {
324
302
  this.transportId = transportId;
325
303
  this.timestamp = timestamp;
326
304
  this.sctpState = sctpState;
@@ -343,12 +321,10 @@ class StatsT {
343
321
  this.maxIncomingBitrate = maxIncomingBitrate;
344
322
  this.maxOutgoingBitrate = maxOutgoingBitrate;
345
323
  this.minOutgoingBitrate = minOutgoingBitrate;
346
- this.rtpPacketLossReceived = rtpPacketLossReceived;
347
- this.rtpPacketLossSent = rtpPacketLossSent;
348
324
  }
349
325
  pack(builder) {
350
326
  const transportId = (this.transportId !== null ? builder.createString(this.transportId) : 0);
351
- return Stats.createStats(builder, transportId, this.timestamp, this.sctpState, this.bytesReceived, this.recvBitrate, this.bytesSent, this.sendBitrate, this.rtpBytesReceived, this.rtpRecvBitrate, this.rtpBytesSent, this.rtpSendBitrate, this.rtxBytesReceived, this.rtxRecvBitrate, this.rtxBytesSent, this.rtxSendBitrate, this.probationBytesSent, this.probationSendBitrate, this.availableOutgoingBitrate, this.availableIncomingBitrate, this.maxIncomingBitrate, this.maxOutgoingBitrate, this.minOutgoingBitrate, this.rtpPacketLossReceived, this.rtpPacketLossSent);
327
+ return Stats.createStats(builder, transportId, this.timestamp, this.sctpState, this.bytesReceived, this.recvBitrate, this.bytesSent, this.sendBitrate, this.rtpBytesReceived, this.rtpRecvBitrate, this.rtpBytesSent, this.rtpSendBitrate, this.rtxBytesReceived, this.rtxRecvBitrate, this.rtxBytesSent, this.rtxSendBitrate, this.probationBytesSent, this.probationSendBitrate, this.availableOutgoingBitrate, this.availableIncomingBitrate, this.maxIncomingBitrate, this.maxOutgoingBitrate, this.minOutgoingBitrate);
352
328
  }
353
329
  }
354
330
  exports.StatsT = StatsT;
@@ -22,6 +22,7 @@ export { RtpListener, RtpListenerT } from './transport/rtp-listener';
22
22
  export { SctpListener, SctpListenerT } from './transport/sctp-listener';
23
23
  export { SctpNegotiatedCapabilitiesNotification, SctpNegotiatedCapabilitiesNotificationT } from './transport/sctp-negotiated-capabilities-notification';
24
24
  export { SctpStateChangeNotification, SctpStateChangeNotificationT } from './transport/sctp-state-change-notification';
25
+ export { SctpZeroChecksum } from './transport/sctp-zero-checksum';
25
26
  export { SendRtcpNotification, SendRtcpNotificationT } from './transport/send-rtcp-notification';
26
27
  export { SetMaxIncomingBitrateRequest, SetMaxIncomingBitrateRequestT } from './transport/set-max-incoming-bitrate-request';
27
28
  export { SetMaxOutgoingBitrateRequest, SetMaxOutgoingBitrateRequestT } from './transport/set-max-outgoing-bitrate-request';
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/fbs/transport.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAC9G,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,sCAAsC,EAAE,uCAAuC,EAAE,MAAM,uDAAuD,CAAC;AACxJ,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AACvH,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC3H,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC3H,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC3H,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/fbs/transport.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAC9G,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,sCAAsC,EAAE,uCAAuC,EAAE,MAAM,uDAAuD,CAAC;AACxJ,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AACvH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC3H,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC3H,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC3H,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  // automatically generated by the FlatBuffers compiler, do not modify
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.SetMaxIncomingBitrateRequestT = exports.SetMaxIncomingBitrateRequest = exports.SendRtcpNotificationT = exports.SendRtcpNotification = exports.SctpStateChangeNotificationT = exports.SctpStateChangeNotification = exports.SctpNegotiatedCapabilitiesNotificationT = exports.SctpNegotiatedCapabilitiesNotification = exports.SctpListenerT = exports.SctpListener = exports.RtpListenerT = exports.RtpListener = exports.RestartIceResponseT = exports.RestartIceResponse = exports.RecvRtpHeaderExtensionsT = exports.RecvRtpHeaderExtensions = exports.Protocol = exports.ProduceResponseT = exports.ProduceResponse = exports.ProduceRequestT = exports.ProduceRequest = exports.ProduceDataRequestT = exports.ProduceDataRequest = exports.PortRangeT = exports.PortRange = exports.OptionsT = exports.Options = exports.ListenInfoT = exports.ListenInfo = exports.EnableTraceEventRequestT = exports.EnableTraceEventRequest = exports.DumpT = exports.Dump = exports.ConsumeResponseT = exports.ConsumeResponse = exports.ConsumeRequestT = exports.ConsumeRequest = exports.ConsumeDataRequestT = exports.ConsumeDataRequest = exports.CloseProducerRequestT = exports.CloseProducerRequest = exports.CloseDataProducerRequestT = exports.CloseDataProducerRequest = exports.CloseDataConsumerRequestT = exports.CloseDataConsumerRequest = exports.CloseConsumerRequestT = exports.CloseConsumerRequest = exports.BweType = exports.BweTraceInfoT = exports.BweTraceInfo = void 0;
5
- exports.TupleT = exports.Tuple = exports.TraceNotificationT = exports.TraceNotification = exports.TraceInfo = exports.TraceEventType = exports.StatsT = exports.Stats = exports.SocketFlagsT = exports.SocketFlags = exports.SetMinOutgoingBitrateRequestT = exports.SetMinOutgoingBitrateRequest = exports.SetMaxOutgoingBitrateRequestT = exports.SetMaxOutgoingBitrateRequest = void 0;
4
+ exports.SetMaxIncomingBitrateRequest = exports.SendRtcpNotificationT = exports.SendRtcpNotification = exports.SctpZeroChecksum = exports.SctpStateChangeNotificationT = exports.SctpStateChangeNotification = exports.SctpNegotiatedCapabilitiesNotificationT = exports.SctpNegotiatedCapabilitiesNotification = exports.SctpListenerT = exports.SctpListener = exports.RtpListenerT = exports.RtpListener = exports.RestartIceResponseT = exports.RestartIceResponse = exports.RecvRtpHeaderExtensionsT = exports.RecvRtpHeaderExtensions = exports.Protocol = exports.ProduceResponseT = exports.ProduceResponse = exports.ProduceRequestT = exports.ProduceRequest = exports.ProduceDataRequestT = exports.ProduceDataRequest = exports.PortRangeT = exports.PortRange = exports.OptionsT = exports.Options = exports.ListenInfoT = exports.ListenInfo = exports.EnableTraceEventRequestT = exports.EnableTraceEventRequest = exports.DumpT = exports.Dump = exports.ConsumeResponseT = exports.ConsumeResponse = exports.ConsumeRequestT = exports.ConsumeRequest = exports.ConsumeDataRequestT = exports.ConsumeDataRequest = exports.CloseProducerRequestT = exports.CloseProducerRequest = exports.CloseDataProducerRequestT = exports.CloseDataProducerRequest = exports.CloseDataConsumerRequestT = exports.CloseDataConsumerRequest = exports.CloseConsumerRequestT = exports.CloseConsumerRequest = exports.BweType = exports.BweTraceInfoT = exports.BweTraceInfo = void 0;
5
+ exports.TupleT = exports.Tuple = exports.TraceNotificationT = exports.TraceNotification = exports.TraceInfo = exports.TraceEventType = exports.StatsT = exports.Stats = exports.SocketFlagsT = exports.SocketFlags = exports.SetMinOutgoingBitrateRequestT = exports.SetMinOutgoingBitrateRequest = exports.SetMaxOutgoingBitrateRequestT = exports.SetMaxOutgoingBitrateRequest = exports.SetMaxIncomingBitrateRequestT = void 0;
6
6
  /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
7
7
  var bwe_trace_info_1 = require("./transport/bwe-trace-info");
8
8
  Object.defineProperty(exports, "BweTraceInfo", { enumerable: true, get: function () { return bwe_trace_info_1.BweTraceInfo; } });
@@ -74,6 +74,8 @@ Object.defineProperty(exports, "SctpNegotiatedCapabilitiesNotificationT", { enum
74
74
  var sctp_state_change_notification_1 = require("./transport/sctp-state-change-notification");
75
75
  Object.defineProperty(exports, "SctpStateChangeNotification", { enumerable: true, get: function () { return sctp_state_change_notification_1.SctpStateChangeNotification; } });
76
76
  Object.defineProperty(exports, "SctpStateChangeNotificationT", { enumerable: true, get: function () { return sctp_state_change_notification_1.SctpStateChangeNotificationT; } });
77
+ var sctp_zero_checksum_1 = require("./transport/sctp-zero-checksum");
78
+ Object.defineProperty(exports, "SctpZeroChecksum", { enumerable: true, get: function () { return sctp_zero_checksum_1.SctpZeroChecksum; } });
77
79
  var send_rtcp_notification_1 = require("./transport/send-rtcp-notification");
78
80
  Object.defineProperty(exports, "SendRtcpNotification", { enumerable: true, get: function () { return send_rtcp_notification_1.SendRtcpNotification; } });
79
81
  Object.defineProperty(exports, "SendRtcpNotificationT", { enumerable: true, get: function () { return send_rtcp_notification_1.SendRtcpNotificationT; } });
package/npm-scripts.mjs CHANGED
@@ -566,18 +566,6 @@ function publishDryRun() {
566
566
  async function checkRelease() {
567
567
  logInfo('checkRelease()');
568
568
 
569
- // Verify that CHANGELOG.md has an entry for the new version (and grab its
570
- // changes, used as the GitHub release body) before the slow build steps.
571
- let versionChanges;
572
-
573
- try {
574
- versionChanges = await getVersionChanges();
575
- } catch (error) {
576
- logError(`checkRelease() | ${error.message}`);
577
-
578
- exitWithError();
579
- }
580
-
581
569
  installNodeDeps();
582
570
  await flatcNode({ force: true });
583
571
  buildTypescript({ force: true });
@@ -589,8 +577,6 @@ async function checkRelease() {
589
577
  // Validate packaging (the `files` list in package.json) before the
590
578
  // irreversible release steps (git push, GitHub release, npm publish).
591
579
  publishDryRun();
592
-
593
- return { versionChanges };
594
580
  }
595
581
 
596
582
  async function release({ args = '' } = {}) {
@@ -622,8 +608,17 @@ async function release({ args = '' } = {}) {
622
608
  // Clean working tree required before bumping the version.
623
609
  checkGitClean();
624
610
 
625
- // Lint, test, build, publish dry-run, and verify the CHANGELOG entry (of the
626
- // previous version still in package.json, which is harmless).
611
+ // CHANGELOG.md must have unreleased changes in its "### NEXT" section.
612
+ // Checked before the slow build steps.
613
+ try {
614
+ await checkChangelog();
615
+ } catch (error) {
616
+ logError(`release() | ${error.message}`);
617
+
618
+ exitWithError();
619
+ }
620
+
621
+ // Lint, test, build and publish dry-run.
627
622
  await checkRelease();
628
623
 
629
624
  // Bump the version in package.json + package-lock.json and in CHANGELOG.md.
@@ -834,46 +829,42 @@ function checkGitClean() {
834
829
  }
835
830
  }
836
831
 
837
- async function getVersionChanges() {
838
- logInfo('getVersionChanges()');
832
+ /**
833
+ * Verifies that the first section of CHANGELOG.md is "### NEXT" and that it is
834
+ * not empty.
835
+ */
836
+ async function checkChangelog() {
837
+ logInfo('checkChangelog()');
839
838
 
840
839
  // NOTE: Load dep on demand since it's a devDependency.
841
840
  const marked = await import('marked');
842
841
 
843
842
  const changelog = fs.readFileSync('./CHANGELOG.md', { encoding: 'utf-8' });
844
- const entries = marked.lexer(changelog);
845
-
846
- for (let idx = 0; idx < entries.length; ++idx) {
847
- const entry = entries[idx];
848
-
849
- if (entry.type === 'heading' && entry.text === pkg.version) {
850
- // Collect every token after the matching heading until the next heading.
851
- // NOTE: We cannot just use `entries[idx + 1].raw` because `marked`
852
- // inserts a `space` token between the heading and its content.
853
- let changes = '';
854
-
855
- for (let next = idx + 1; next < entries.length; ++next) {
856
- if (entries[next].type === 'heading') {
857
- break;
858
- }
859
-
860
- changes += entries[next].raw;
861
- }
843
+ const tokens = marked.lexer(changelog);
844
+ const idx = tokens.findIndex(
845
+ token => token.type === 'heading' && token.depth === 3
846
+ );
862
847
 
863
- changes = changes.trim();
848
+ if (idx === -1 || tokens[idx].text !== 'NEXT') {
849
+ throw new Error("first section in CHANGELOG.md is not '### NEXT'");
850
+ }
864
851
 
865
- if (changes) {
866
- return changes;
867
- }
852
+ // Collect every token after the "### NEXT" heading until the next heading.
853
+ // NOTE: We cannot just use `tokens[idx + 1].raw` because `marked` inserts a
854
+ // `space` token between the heading and its content.
855
+ let changes = '';
868
856
 
857
+ for (let next = idx + 1; next < tokens.length; ++next) {
858
+ if (tokens[next].type === 'heading') {
869
859
  break;
870
860
  }
861
+
862
+ changes += tokens[next].raw;
871
863
  }
872
864
 
873
- // This should not happen (unless author forgot to update CHANGELOG).
874
- throw new Error(
875
- `no entry found in CHANGELOG.md for version '${pkg.version}'`
876
- );
865
+ if (!changes.trim()) {
866
+ throw new Error("'### NEXT' section in CHANGELOG.md is empty");
867
+ }
877
868
  }
878
869
 
879
870
  async function updateChangelog(version) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mediasoup",
3
- "version": "3.28.0",
3
+ "version": "3.29.0",
4
4
  "description": "Cutting Edge WebRTC Video Conferencing",
5
5
  "contributors": [
6
6
  "Iñaki Baz Castillo <ibc@aliax.net> (https://inakibaz.me)",
@@ -121,22 +121,26 @@
121
121
  "@types/debug": "^4.1.13",
122
122
  "@types/ini": "^4.1.1",
123
123
  "@types/jest": "^30.0.0",
124
- "@types/node": "^26.6.3",
125
- "eslint": "^10.11.0",
124
+ "@types/node": "^26.6.4",
125
+ "eslint": "^10.12.0",
126
126
  "eslint-config-prettier": "^10.1.8",
127
127
  "eslint-plugin-jest": "^29.16.6",
128
128
  "eslint-plugin-prettier": "^5.5.6",
129
129
  "globals": "^17.13.0",
130
130
  "ini": "^7.0.0",
131
131
  "jest": "^30.5.2",
132
- "knip": "^6.39.0",
133
- "marked": "^18.0.14",
132
+ "knip": "^6.40.0",
133
+ "marked": "^18.1.0",
134
134
  "open-cli": "^9.0.0",
135
135
  "pick-port": "^2.2.1",
136
136
  "prettier": "^3.9.9",
137
137
  "ts-jest": "^29.4.14",
138
138
  "typescript": "^6.0.3",
139
- "typescript-eslint": "^8.71.0",
139
+ "typescript-eslint": "^8.71.1",
140
140
  "werift-sctp": "^0.0.11"
141
+ },
142
+ "allowScripts": {
143
+ "@parcel/watcher@2.6.0": true,
144
+ "unrs-resolver@1.12.2": true
141
145
  }
142
146
  }
@@ -121,6 +121,14 @@ table RecvRtpHeaderExtensions {
121
121
  transport_wide_cc01: uint8 = null;
122
122
  }
123
123
 
124
+ // Values match the SCTP Zero Checksum Alternate Error Detection Method
125
+ // Identifiers (EDMID).
126
+ enum SctpZeroChecksum: uint32 {
127
+ NONE = 0,
128
+ SCTP_OVER_DTLS = 1,
129
+ TRUSTED_NETWORK = 4294967294
130
+ }
131
+
124
132
  table Options {
125
133
  direct: bool = false;
126
134
  initial_available_outgoing_bitrate: uint64 = null;
@@ -131,6 +139,7 @@ table Options {
131
139
  sctp_per_stream_send_queue_limit: uint32;
132
140
  sctp_max_receiver_window_buffer_size: uint32;
133
141
  sctp_default_stream_buffered_amount_low_threshold: uint32;
142
+ sctp_zero_checksum: SctpZeroChecksum = NONE;
134
143
  is_data_channel: bool = false;
135
144
  }
136
145
 
@@ -182,8 +191,6 @@ table Stats {
182
191
  max_incoming_bitrate: uint64 = null;
183
192
  max_outgoing_bitrate: uint64 = null;
184
193
  min_outgoing_bitrate: uint64 = null;
185
- rtp_packet_loss_received: float64 = null;
186
- rtp_packet_loss_sent: float64 = null;
187
194
  }
188
195
 
189
196
  table SetMaxIncomingBitrateRequest {
@@ -1,4 +1,5 @@
1
1
  #include "RTC/RTP/FuzzerRetransmissionBuffer.hpp"
2
+ #include "DepLibUV.hpp"
2
3
  #include "RTC/RTP/Packet.hpp"
3
4
  #include "RTC/RTP/RetransmissionBuffer.hpp"
4
5
  #include "RTC/RTP/SharedPacket.hpp"
@@ -26,6 +27,7 @@ void FuzzerRtcRtpRetransmissionBuffer::Fuzz(const uint8_t* data, size_t len)
26
27
  // Create base RtpPacket instance.
27
28
  auto* packet = RTC::RTP::Packet::Parse(buffer, 12);
28
29
  size_t offset{ 0 };
30
+ int64_t nowMs = DepLibUV::GetTimeMs();
29
31
 
30
32
  while (len >= 4)
31
33
  {
@@ -35,7 +37,18 @@ void FuzzerRtcRtpRetransmissionBuffer::Fuzz(const uint8_t* data, size_t len)
35
37
  packet->SetSequenceNumber(Utils::Byte::Get2Bytes(data, offset));
36
38
  packet->SetTimestamp(Utils::Byte::Get4Bytes(data, offset));
37
39
 
38
- retransmissionBuffer.Insert(packet, sharedPacket);
40
+ retransmissionBuffer.Insert(packet, sharedPacket, nowMs);
41
+
42
+ // Let some 'random' time pass and check whether the packet is too old.
43
+ nowMs += static_cast<int64_t>(Utils::Crypto::GetRandomUInt<uint64_t>(0, 1000));
44
+
45
+ const RTC::RTP::RetransmissionBuffer::Item* const item =
46
+ retransmissionBuffer.Get(packet->GetSequenceNumber());
47
+
48
+ if (item)
49
+ {
50
+ retransmissionBuffer.IsTooOld(item, nowMs);
51
+ }
39
52
 
40
53
  len -= 4;
41
54
  offset += 4;
@@ -1,4 +1,5 @@
1
1
  #include "RTC/RTP/FuzzerRtpStreamSend.hpp"
2
+ #include "RTC/RTCP/ReceiverReport.hpp"
2
3
  #include "RTC/RTP/SharedPacket.hpp"
3
4
  #include "Utils.hpp"
4
5
  #include "mocks/include/MockShared.hpp"
@@ -45,18 +46,30 @@ void FuzzerRtcRtpStreamSend::Fuzz(const uint8_t* data, size_t len)
45
46
  std::addressof(testRtpStreamListener), std::addressof(shared), params, mid);
46
47
  size_t offset{ 0u };
47
48
 
48
- while (len >= 4u)
49
+ while (len >= 12)
49
50
  {
50
51
  const RTC::RTP::SharedPacket sharedPacket;
51
52
 
52
53
  // Set 'random' sequence number and timestamp.
53
54
  packet->SetSequenceNumber(Utils::Byte::Get2Bytes(data, offset));
54
- packet->SetTimestamp(Utils::Byte::Get4Bytes(data, offset));
55
+ packet->SetTimestamp(Utils::Byte::Get4Bytes(data, offset + 2));
55
56
 
56
57
  stream->ReceivePacket(packet, sharedPacket);
57
58
 
58
- len -= 4u;
59
- offset += 4;
59
+ // Feed a 'random' Receiver Report, which is what the loss of the stream is
60
+ // worked out from.
61
+ RTC::RTCP::ReceiverReport report;
62
+
63
+ report.SetSsrc(params.ssrc);
64
+ report.SetLastSeq(Utils::Byte::Get4Bytes(data, offset + 6));
65
+ // NOTE: Signed on purpose, since a duplicate makes a remote endpoint report
66
+ // fewer packets lost than it reported before.
67
+ report.SetTotalLost(static_cast<int16_t>(Utils::Byte::Get2Bytes(data, offset + 10)));
68
+
69
+ stream->ReceiveRtcpReceiverReport(std::addressof(report), shared.GetTimeUs());
70
+
71
+ len -= 12;
72
+ offset += 12;
60
73
  }
61
74
 
62
75
  delete stream;