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.
- package/CHANGELOG.md +12 -0
- package/node/lib/PipeTransportTypes.d.ts +6 -1
- package/node/lib/PipeTransportTypes.d.ts.map +1 -1
- package/node/lib/PlainTransportTypes.d.ts +6 -1
- package/node/lib/PlainTransportTypes.d.ts.map +1 -1
- package/node/lib/Router.d.ts +4 -4
- package/node/lib/Router.d.ts.map +1 -1
- package/node/lib/Router.js +10 -7
- package/node/lib/RouterTypes.d.ts +7 -1
- package/node/lib/RouterTypes.d.ts.map +1 -1
- package/node/lib/Transport.d.ts +2 -1
- package/node/lib/Transport.d.ts.map +1 -1
- package/node/lib/Transport.js +17 -6
- package/node/lib/TransportTypes.d.ts +12 -2
- package/node/lib/TransportTypes.d.ts.map +1 -1
- package/node/lib/WebRtcTransportTypes.d.ts +6 -1
- package/node/lib/WebRtcTransportTypes.d.ts.map +1 -1
- package/node/lib/fbs/transport/options.d.ts +6 -2
- package/node/lib/fbs/transport/options.d.ts.map +1 -1
- package/node/lib/fbs/transport/options.js +19 -7
- package/node/lib/fbs/transport/sctp-zero-checksum.d.ts +6 -0
- package/node/lib/fbs/transport/sctp-zero-checksum.d.ts.map +1 -0
- package/node/lib/fbs/transport/sctp-zero-checksum.js +11 -0
- package/node/lib/fbs/transport/stats.d.ts +2 -8
- package/node/lib/fbs/transport/stats.d.ts.map +1 -1
- package/node/lib/fbs/transport/stats.js +5 -29
- package/node/lib/fbs/transport.d.ts +1 -0
- package/node/lib/fbs/transport.d.ts.map +1 -1
- package/node/lib/fbs/transport.js +4 -2
- package/npm-scripts.mjs +35 -44
- package/package.json +10 -6
- package/worker/fbs/transport.fbs +9 -2
- package/worker/fuzzer/src/RTC/RTP/FuzzerRetransmissionBuffer.cpp +14 -1
- package/worker/fuzzer/src/RTC/RTP/FuzzerRtpStreamSend.cpp +17 -4
- package/worker/include/RTC/BWE/AimdRateControl.hpp +9 -9
- package/worker/include/RTC/BWE/BweTypes.hpp +54 -17
- package/worker/include/RTC/BWE/DelayBasedBwe.hpp +3 -3
- package/worker/include/RTC/BWE/FeedbackAdapter.hpp +2 -2
- package/worker/include/RTC/BWE/LossBasedController.hpp +4 -4
- package/worker/include/RTC/BWE/OveruseDetector.hpp +5 -4
- package/worker/include/RTC/BWE/ProbeBitrateEstimator.hpp +1 -1
- package/worker/include/RTC/BWE/ProbeController.hpp +6 -6
- package/worker/include/RTC/BWE/ProbePacketGenerator.hpp +2 -6
- package/worker/include/RTC/BWE/ProbingScheduler.hpp +3 -7
- package/worker/include/RTC/BWE/ReceiverTransportCongestionController.hpp +148 -0
- package/worker/include/RTC/BWE/RembGenerator.hpp +4 -3
- package/worker/include/RTC/BWE/RemoteBitrateEstimatorAbsSendTime.hpp +1 -1
- package/worker/include/RTC/BWE/SenderTransportCongestionController.hpp +343 -0
- package/worker/include/RTC/BWE/TargetRateController.hpp +4 -1
- package/worker/include/RTC/BWE/TransportWideCcFeedbackGenerator.hpp +5 -4
- package/worker/include/RTC/BWE/TrendlineEstimator.hpp +3 -3
- package/worker/include/RTC/Consumer.hpp +8 -1
- package/worker/include/RTC/RTP/RetransmissionBuffer.hpp +36 -10
- package/worker/include/RTC/RTP/RtpStream.hpp +21 -0
- package/worker/include/RTC/RTP/RtpStreamRecv.hpp +1 -0
- package/worker/include/RTC/RTP/RtpStreamSend.hpp +122 -9
- package/worker/include/RTC/SCTP/packet/parameters/ZeroChecksumAcceptableParameter.hpp +12 -3
- package/worker/include/RTC/TransportCongestionControlClient.hpp +0 -5
- package/worker/include/RTC/TransportCongestionControlServer.hpp +0 -5
- package/worker/include/Utils.hpp +9 -2
- package/worker/meson.build +4 -0
- package/worker/src/RTC/BWE/AimdRateControl.cpp +22 -22
- package/worker/src/RTC/BWE/DelayBasedBwe.cpp +16 -20
- package/worker/src/RTC/BWE/FeedbackAdapter.cpp +1 -1
- package/worker/src/RTC/BWE/OveruseDetector.cpp +8 -8
- package/worker/src/RTC/BWE/ProbeBitrateEstimator.cpp +2 -2
- package/worker/src/RTC/BWE/ProbeController.cpp +1 -1
- package/worker/src/RTC/BWE/ProbePacketGenerator.cpp +1 -6
- package/worker/src/RTC/BWE/ProbingScheduler.cpp +2 -7
- package/worker/src/RTC/BWE/ReceiverTransportCongestionController.cpp +207 -0
- package/worker/src/RTC/BWE/RembGenerator.cpp +1 -1
- package/worker/src/RTC/BWE/RemoteBitrateEstimatorAbsSendTime.cpp +1 -1
- package/worker/src/RTC/BWE/SenderTransportCongestionController.cpp +599 -0
- package/worker/src/RTC/BWE/TransportWideCcFeedbackGenerator.cpp +2 -3
- package/worker/src/RTC/BWE/TrendlineEstimator.cpp +5 -5
- package/worker/src/RTC/Consumer.cpp +3 -2
- package/worker/src/RTC/DataConsumer.cpp +2 -2
- package/worker/src/RTC/RTP/RetransmissionBuffer.cpp +21 -8
- package/worker/src/RTC/RTP/RtpStream.cpp +0 -3
- package/worker/src/RTC/RTP/RtpStreamRecv.cpp +57 -71
- package/worker/src/RTC/RTP/RtpStreamSend.cpp +428 -244
- package/worker/src/RTC/RTP/RtxStream.cpp +14 -19
- package/worker/src/RTC/SCTP/association/Association.cpp +3 -2
- package/worker/src/RTC/SCTP/association/StateCookie.cpp +26 -6
- package/worker/src/RTC/SCTP/packet/parameters/ZeroChecksumAcceptableParameter.cpp +4 -3
- package/worker/src/RTC/SCTP/rx/ReassemblyQueue.cpp +2 -1
- package/worker/src/RTC/SCTP/tx/RetransmissionQueue.cpp +4 -2
- package/worker/src/RTC/Transport.cpp +49 -20
- package/worker/src/RTC/TransportCongestionControlClient.cpp +0 -66
- package/worker/src/RTC/TransportCongestionControlServer.cpp +0 -55
- package/worker/src/Utils/Crypto.cpp +114 -98
- package/worker/subprojects/catch2.wrap +6 -6
- package/worker/subprojects/openssl.wrap +11 -12
- package/worker/subprojects/packagefiles/ankerl-unordered-dense/meson.build +1 -1
- package/worker/subprojects/unordered-dense.wrap +4 -4
- package/worker/test/src/RTC/BWE/TestDelayBasedBwe.cpp +5 -5
- package/worker/test/src/RTC/BWE/TestFeedbackAdapter.cpp +26 -23
- package/worker/test/src/RTC/BWE/TestInterArrivalDelta.cpp +8 -8
- package/worker/test/src/RTC/BWE/TestOveruseDetector.cpp +4 -4
- package/worker/test/src/RTC/BWE/TestProbeController.cpp +35 -32
- package/worker/test/src/RTC/BWE/TestProbePacketGenerator.cpp +2 -17
- package/worker/test/src/RTC/BWE/TestProbingScheduler.cpp +1 -25
- package/worker/test/src/RTC/BWE/TestReceiverTransportCongestionController.cpp +346 -0
- package/worker/test/src/RTC/BWE/TestRembGenerator.cpp +1 -1
- package/worker/test/src/RTC/BWE/TestRemoteBitrateEstimatorAbsSendTime.cpp +9 -9
- package/worker/test/src/RTC/BWE/TestSenderTransportCongestionController.cpp +510 -0
- package/worker/test/src/RTC/BWE/TestTransportWideCcFeedbackGenerator.cpp +16 -14
- package/worker/test/src/RTC/BWE/TestTrendlineEstimator.cpp +6 -6
- package/worker/test/src/RTC/BWE/helpers/RemoteBitrateEstimatorAbsSendTimeTestHelper.cpp +1 -2
- package/worker/test/src/RTC/RTCP/TestBye.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackPsAfb.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackPsFir.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackPsLei.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackPsPli.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackPsRemb.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackPsRpsi.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackPsSli.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackPsTst.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackPsVbcm.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackRtpEcn.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackRtpNack.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackRtpSrReq.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackRtpTllei.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackRtpTmmb.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackRtpTransport.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestReceiverReport.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestSenderReport.cpp +1 -1
- package/worker/test/src/RTC/RTP/TestRetransmissionBuffer.cpp +60 -28
- package/worker/test/src/RTC/RTP/TestRtpStreamRecv.cpp +1 -1
- package/worker/test/src/RTC/RTP/TestRtpStreamSend.cpp +746 -24
- package/worker/test/src/RTC/RTP/TestSharedPacket.cpp +1 -1
- package/worker/test/src/RTC/SCTP/association/TestAssociation.cpp +42 -0
- package/worker/test/src/RTC/SCTP/association/TestNegotiatedCapabilities.cpp +54 -5
- package/worker/test/src/RTC/SCTP/association/TestStateCookie.cpp +80 -15
- package/worker/test/src/RTC/SCTP/association/TestStreamResetHandler.cpp +410 -3
- package/worker/test/src/RTC/SCTP/association/TestTransmissionControlBlock.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestZeroChecksumAcceptableParameter.cpp +37 -5
- package/worker/test/src/RTC/SCTP/rx/TestDataTracker.cpp +5 -4
- package/worker/test/src/RTC/SCTP/rx/TestInterleavedReassemblyStreams.cpp +1 -1
- package/worker/test/src/RTC/SCTP/rx/TestReassemblyQueue.cpp +1 -1
- package/worker/test/src/RTC/SCTP/rx/TestTraditionalReassemblyStreams.cpp +1 -1
- package/worker/test/src/RTC/SCTP/tx/TestOutstandingData.cpp +1 -1
- package/worker/test/src/RTC/SCTP/tx/TestRetransmissionQueue.cpp +11 -10
- package/worker/test/src/RTC/SCTP/tx/TestRetransmissionTimeout.cpp +1 -1
- package/worker/test/src/RTC/TestNackGenerator.cpp +1 -1
- package/worker/test/src/RTC/TestPortManager.cpp +2 -2
- package/worker/test/src/RTC/TestRateCalculator.cpp +1 -1
- package/worker/test/src/RTC/TestRemoteCaptureTimeEstimator.cpp +21 -15
- package/worker/test/src/RTC/TestRemoteClockOffsetEstimator.cpp +13 -13
- package/worker/test/src/RTC/TestRtpEncodingParameters.cpp +1 -1
- package/worker/test/src/RTC/TestSubchannelsCodec.cpp +2 -2
- package/worker/test/src/RTC/TestTransportCongestionControlServer.cpp +1 -1
- package/worker/test/src/RTC/TestTransportTuple.cpp +3 -2
- package/worker/test/src/Utils/TestCrypto.cpp +71 -2
- 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
|
-
|
|
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(
|
|
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(
|
|
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 @@
|
|
|
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
|
|
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
|
-
|
|
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":"AAIA,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAGlE,qBAAa,KAAM,YAAW,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC;IACjE,EAAE,EAAE,WAAW,CAAC,UAAU,GAAC,IAAI,CAAQ;IACvC,MAAM,SAAK;IACX,MAAM,CAAC,CAAC,EAAC,MAAM,EAAE,EAAE,EAAC,WAAW,CAAC,UAAU,GAAE,KAAK;IAMnD,MAAM,CAAC,cAAc,CAAC,EAAE,EAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,EAAC,KAAK,GAAE,KAAK;IAIlE,MAAM,CAAC,0BAA0B,CAAC,EAAE,EAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,EAAC,KAAK,GAAE,KAAK;IAK9E,WAAW,IAAG,MAAM,GAAC,IAAI;IACzB,WAAW,CAAC,gBAAgB,EAAC,WAAW,CAAC,QAAQ,GAAE,MAAM,GAAC,UAAU,GAAC,IAAI;IAMzE,SAAS,IAAG,MAAM;IAKlB,SAAS,IAAG,SAAS,GAAC,IAAI;IAK1B,aAAa,IAAG,MAAM;IAKtB,WAAW,IAAG,MAAM;IAKpB,SAAS,IAAG,MAAM;IAKlB,WAAW,IAAG,MAAM;IAKpB,gBAAgB,IAAG,MAAM;IAKzB,cAAc,IAAG,MAAM;IAKvB,YAAY,IAAG,MAAM;IAKrB,cAAc,IAAG,MAAM;IAKvB,gBAAgB,IAAG,MAAM;IAKzB,cAAc,IAAG,MAAM;IAKvB,YAAY,IAAG,MAAM;IAKrB,cAAc,IAAG,MAAM;IAKvB,kBAAkB,IAAG,MAAM;IAK3B,oBAAoB,IAAG,MAAM;IAK7B,wBAAwB,IAAG,MAAM,GAAC,IAAI;IAKtC,wBAAwB,IAAG,MAAM,GAAC,IAAI;IAKtC,kBAAkB,IAAG,MAAM,GAAC,IAAI;IAKhC,kBAAkB,IAAG,MAAM,GAAC,IAAI;IAKhC,kBAAkB,IAAG,MAAM,GAAC,IAAI;IAKhC,
|
|
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(
|
|
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
|
|
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()
|
|
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
|
-
|
|
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
|
|
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.
|
|
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
|
-
//
|
|
626
|
-
//
|
|
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
|
-
|
|
838
|
-
|
|
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
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
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
|
-
|
|
848
|
+
if (idx === -1 || tokens[idx].text !== 'NEXT') {
|
|
849
|
+
throw new Error("first section in CHANGELOG.md is not '### NEXT'");
|
|
850
|
+
}
|
|
864
851
|
|
|
865
|
-
|
|
866
|
-
|
|
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
|
-
|
|
874
|
-
|
|
875
|
-
|
|
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.
|
|
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.
|
|
125
|
-
"eslint": "^10.
|
|
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.
|
|
133
|
-
"marked": "^18.0
|
|
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.
|
|
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
|
}
|
package/worker/fbs/transport.fbs
CHANGED
|
@@ -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 >=
|
|
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
|
-
|
|
59
|
-
|
|
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;
|