mediasoup 3.27.1 → 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 +26 -0
- package/node/lib/Consumer.d.ts.map +1 -1
- package/node/lib/Consumer.js +4 -51
- 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/Producer.d.ts.map +1 -1
- package/node/lib/Producer.js +4 -8
- package/node/lib/ProducerTypes.d.ts +4 -2
- package/node/lib/ProducerTypes.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 +14 -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 +24 -16
- 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/rtp-parameters/rtp-header-extension-uri.d.ts +3 -4
- package/node/lib/fbs/rtp-parameters/rtp-header-extension-uri.d.ts.map +1 -1
- package/node/lib/fbs/rtp-parameters/rtp-header-extension-uri.js +3 -4
- 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/node/lib/ortc.d.ts +0 -2
- package/node/lib/ortc.d.ts.map +1 -1
- package/node/lib/ortc.js +11 -21
- package/node/lib/rtpMappingFbsUtils.d.ts +6 -0
- package/node/lib/rtpMappingFbsUtils.d.ts.map +1 -0
- package/node/lib/rtpMappingFbsUtils.js +65 -0
- package/node/lib/rtpParametersFbsUtils.d.ts.map +1 -1
- package/node/lib/rtpParametersFbsUtils.js +0 -6
- package/node/lib/rtpParametersTypes.d.ts +1 -1
- package/node/lib/rtpParametersTypes.d.ts.map +1 -1
- package/node/lib/rtpStreamFbsUtils.d.ts +4 -0
- package/node/lib/rtpStreamFbsUtils.d.ts.map +1 -0
- package/node/lib/rtpStreamFbsUtils.js +51 -0
- package/node/lib/supportedRtpCapabilities.d.ts.map +1 -1
- package/node/lib/supportedRtpCapabilities.js +6 -13
- package/node/lib/test/test-Consumer.js +1 -13
- package/node/lib/test/test-DataConsumer.js +9 -0
- package/node/lib/test/test-DataProducer.js +38 -0
- package/node/lib/test/test-PipeTransport.js +27 -29
- package/node/lib/test/test-Producer.js +97 -0
- package/node/lib/test/test-ortc.js +34 -14
- package/npm-scripts.mjs +35 -44
- package/package.json +14 -10
- package/worker/fbs/rtpParameters.fbs +0 -1
- package/worker/fbs/transport.fbs +9 -2
- package/worker/fuzzer/src/FuzzerUtils.cpp +5 -3
- package/worker/fuzzer/src/RTC/RTP/FuzzerPacket.cpp +16 -2
- package/worker/fuzzer/src/RTC/RTP/FuzzerRetransmissionBuffer.cpp +14 -1
- package/worker/fuzzer/src/RTC/RTP/FuzzerRtpStreamSend.cpp +17 -4
- package/worker/include/DepLibUV.hpp +13 -0
- package/worker/include/RTC/BWE/AimdRateControl.hpp +9 -9
- package/worker/include/RTC/BWE/AlrDetector.hpp +97 -0
- package/worker/include/RTC/BWE/BitrateProber.hpp +217 -0
- package/worker/include/RTC/BWE/{Utils.hpp → BitrateUtils.hpp} +3 -3
- package/worker/include/RTC/BWE/BweTypes.hpp +207 -2
- package/worker/include/RTC/BWE/DelayBasedBwe.hpp +3 -3
- package/worker/include/RTC/BWE/FeedbackAdapter.hpp +2 -16
- package/worker/include/RTC/BWE/InterArrival.hpp +117 -0
- package/worker/include/RTC/BWE/IntervalBudget.hpp +81 -0
- package/worker/include/RTC/BWE/LossBasedController.hpp +109 -4
- package/worker/include/RTC/BWE/OveruseDetector.hpp +72 -0
- package/worker/include/RTC/BWE/OveruseEstimator.hpp +115 -0
- package/worker/include/RTC/BWE/ProbeBitrateEstimator.hpp +84 -0
- package/worker/include/RTC/BWE/ProbeController.hpp +379 -0
- package/worker/include/RTC/BWE/ProbePacketGenerator.hpp +126 -0
- package/worker/include/RTC/BWE/ProbingScheduler.hpp +183 -0
- package/worker/include/RTC/BWE/ReceiverTransportCongestionController.hpp +148 -0
- package/worker/include/RTC/BWE/RembGenerator.hpp +97 -0
- package/worker/include/RTC/BWE/RemoteBitrateEstimatorAbsSendTime.hpp +237 -0
- package/worker/include/RTC/BWE/RobustThroughputEstimator.hpp +26 -0
- package/worker/include/RTC/BWE/SendPacketHistory.hpp +161 -25
- 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 +147 -0
- package/worker/include/RTC/BWE/TrendlineEstimator.hpp +18 -3
- package/worker/include/RTC/Consts.hpp +70 -0
- package/worker/include/RTC/Consumer.hpp +8 -1
- package/worker/include/RTC/DataConsumer.hpp +3 -5
- package/worker/include/RTC/DirectTransport.hpp +4 -5
- package/worker/include/RTC/PipeTransport.hpp +4 -5
- package/worker/include/RTC/PlainTransport.hpp +4 -5
- package/worker/include/RTC/RTCP/FeedbackPsRemb.hpp +6 -7
- package/worker/include/RTC/RTCP/FeedbackRtpTransport.hpp +3 -1
- package/worker/include/RTC/RTP/Codecs/Tools.hpp +1 -1
- package/worker/include/RTC/RTP/HeaderExtensionIds.hpp +0 -1
- package/worker/include/RTC/RTP/Packet.hpp +16 -4
- package/worker/include/RTC/RTP/ProbationGenerator.hpp +0 -8
- package/worker/include/RTC/RTP/RetransmissionBuffer.hpp +36 -10
- package/worker/include/RTC/RTP/RtpStream.hpp +33 -9
- package/worker/include/RTC/RTP/RtpStreamRecv.hpp +23 -4
- package/worker/include/RTC/RTP/RtpStreamSend.hpp +126 -11
- package/worker/include/RTC/RTP/RtxStream.hpp +10 -4
- package/worker/include/RTC/RateCalculator.hpp +103 -24
- package/worker/include/RTC/RemoteCaptureTimeEstimator.hpp +33 -3
- package/worker/include/RTC/{RtcLogger.hpp → RtcLogger/RtpPacket.hpp} +5 -3
- package/worker/include/RTC/RtcLogger/SendBurst.hpp +88 -0
- package/worker/include/RTC/RtpDictionaries.hpp +3 -4
- package/worker/include/RTC/SCTP/association/Association.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/parameters/ZeroChecksumAcceptableParameter.hpp +12 -3
- package/worker/include/RTC/SCTP/public/AssociationMetrics.hpp +0 -1
- package/worker/include/RTC/SCTP/public/SctpTypes.hpp +4 -4
- package/worker/include/RTC/SCTP/rx/DataTracker.hpp +1 -1
- package/worker/include/RTC/SCTP/rx/ReassemblyQueue.hpp +1 -1
- package/worker/include/RTC/SctpDictionaries.hpp +2 -2
- package/worker/include/RTC/TcpConnection.hpp +2 -1
- package/worker/include/RTC/Transport.hpp +23 -8
- package/worker/include/RTC/TransportCongestionControlClient.hpp +0 -5
- package/worker/include/RTC/TransportCongestionControlServer.hpp +0 -5
- package/worker/include/RTC/TransportTuple.hpp +61 -6
- package/worker/include/RTC/WebRtcTransport.hpp +4 -5
- package/worker/include/Shared.hpp +5 -0
- package/worker/include/SharedInterface.hpp +10 -0
- package/worker/include/Utils.hpp +81 -5
- package/worker/include/common.hpp +12 -4
- package/worker/include/handles/SendCallbacks.hpp +34 -0
- package/worker/include/handles/TcpConnectionHandle.hpp +4 -12
- package/worker/include/handles/UdpSocketHandle.hpp +4 -8
- package/worker/meson.build +45 -3
- package/worker/meson_options.txt +1 -0
- package/worker/mocks/include/MockShared.hpp +16 -2
- package/worker/mocks/include/handles/MockBackoffTimerHandle.hpp +1 -1
- package/worker/scripts/package-lock.json +6 -6
- package/worker/src/RTC/BWE/AimdRateControl.cpp +26 -27
- package/worker/src/RTC/BWE/AlrDetector.cpp +80 -0
- package/worker/src/RTC/BWE/BitrateProber.cpp +256 -0
- package/worker/src/RTC/BWE/{Utils.cpp → BitrateUtils.cpp} +4 -4
- package/worker/src/RTC/BWE/DelayBasedBwe.cpp +18 -22
- package/worker/src/RTC/BWE/FeedbackAdapter.cpp +21 -38
- package/worker/src/RTC/BWE/InterArrival.cpp +216 -0
- package/worker/src/RTC/BWE/IntervalBudget.cpp +93 -0
- package/worker/src/RTC/BWE/LossBasedController.cpp +189 -41
- package/worker/src/RTC/BWE/OveruseDetector.cpp +128 -0
- package/worker/src/RTC/BWE/OveruseEstimator.cpp +166 -0
- package/worker/src/RTC/BWE/ProbeBitrateEstimator.cpp +222 -0
- package/worker/src/RTC/BWE/ProbeController.cpp +645 -0
- package/worker/src/RTC/BWE/ProbePacketGenerator.cpp +135 -0
- package/worker/src/RTC/BWE/ProbingScheduler.cpp +191 -0
- package/worker/src/RTC/BWE/ReceiverTransportCongestionController.cpp +207 -0
- package/worker/src/RTC/BWE/RembGenerator.cpp +169 -0
- package/worker/src/RTC/BWE/RemoteBitrateEstimatorAbsSendTime.cpp +497 -0
- package/worker/src/RTC/BWE/RobustThroughputEstimator.cpp +47 -0
- package/worker/src/RTC/BWE/SendPacketHistory.cpp +173 -50
- package/worker/src/RTC/BWE/SenderTransportCongestionController.cpp +599 -0
- package/worker/src/RTC/BWE/TargetRateController.cpp +12 -14
- package/worker/src/RTC/BWE/TransportWideCcFeedbackGenerator.cpp +376 -0
- package/worker/src/RTC/BWE/TrendlineEstimator.cpp +24 -5
- package/worker/src/RTC/Consumer.cpp +10 -7
- package/worker/src/RTC/DataConsumer.cpp +10 -12
- package/worker/src/RTC/DirectTransport.cpp +14 -8
- package/worker/src/RTC/DtlsTransport.cpp +8 -8
- package/worker/src/RTC/ICE/IceCandidate.cpp +4 -4
- package/worker/src/RTC/ICE/IceServer.cpp +1 -1
- package/worker/src/RTC/PipeTransport.cpp +13 -8
- package/worker/src/RTC/PlainTransport.cpp +13 -8
- package/worker/src/RTC/Producer.cpp +14 -31
- package/worker/src/RTC/RTCP/Bye.cpp +1 -1
- package/worker/src/RTC/RTCP/FeedbackPsRemb.cpp +18 -0
- package/worker/src/RTC/RTCP/FeedbackPsRpsi.cpp +2 -2
- package/worker/src/RTC/RTCP/FeedbackPsVbcm.cpp +2 -1
- package/worker/src/RTC/RTCP/FeedbackRtpTransport.cpp +2 -2
- package/worker/src/RTC/RTCP/Sdes.cpp +1 -1
- package/worker/src/RTC/RTP/Codecs/DependencyDescriptor.cpp +2 -1
- package/worker/src/RTC/RTP/Packet.cpp +26 -11
- package/worker/src/RTC/RTP/ProbationGenerator.cpp +5 -6
- package/worker/src/RTC/RTP/RetransmissionBuffer.cpp +21 -8
- package/worker/src/RTC/RTP/RtpStream.cpp +1 -4
- package/worker/src/RTC/RTP/RtpStreamRecv.cpp +109 -102
- package/worker/src/RTC/RTP/RtpStreamSend.cpp +442 -258
- package/worker/src/RTC/RTP/RtxStream.cpp +32 -22
- package/worker/src/RTC/RateCalculator.cpp +133 -28
- package/worker/src/RTC/RemoteCaptureTimeEstimator.cpp +56 -1
- package/worker/src/RTC/{RtcLogger.cpp → RtcLogger/RtpPacket.cpp} +2 -2
- package/worker/src/RTC/RtcLogger/SendBurst.cpp +124 -0
- package/worker/src/RTC/RtpDictionaries/RtpHeaderExtensionUri.cpp +2 -12
- package/worker/src/RTC/RtpDictionaries/RtpParameters.cpp +1 -1
- package/worker/src/RTC/SCTP/association/Association.cpp +4 -3
- 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/InterleavedReassemblyStreams.cpp +3 -3
- package/worker/src/RTC/SCTP/rx/ReassemblyQueue.cpp +4 -2
- package/worker/src/RTC/SCTP/rx/TraditionalReassemblyStreams.cpp +4 -4
- package/worker/src/RTC/SCTP/tx/RetransmissionQueue.cpp +4 -2
- package/worker/src/RTC/SCTP/tx/RetransmissionTimeout.cpp +4 -4
- package/worker/src/RTC/SctpDictionaries/SctpStreamParameters.cpp +6 -10
- package/worker/src/RTC/SimulcastProducerStreamManager.cpp +2 -2
- package/worker/src/RTC/SrtpSession.cpp +2 -2
- package/worker/src/RTC/SvcProducerStreamManager.cpp +2 -2
- package/worker/src/RTC/TcpConnection.cpp +2 -2
- package/worker/src/RTC/Transport.cpp +160 -113
- package/worker/src/RTC/TransportCongestionControlClient.cpp +0 -66
- package/worker/src/RTC/TransportCongestionControlServer.cpp +0 -55
- package/worker/src/RTC/TransportTuple.cpp +4 -4
- package/worker/src/RTC/WebRtcServer.cpp +4 -3
- package/worker/src/RTC/WebRtcTransport.cpp +20 -13
- package/worker/src/Utils/BitStream.cpp +24 -0
- package/worker/src/Utils/Crypto.cpp +114 -98
- package/worker/src/handles/BackoffTimerHandle.cpp +1 -1
- package/worker/src/handles/TcpConnectionHandle.cpp +13 -23
- package/worker/src/handles/UdpSocketHandle.cpp +14 -21
- 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/include/RTC/BWE/helpers/LinkSimulator.hpp +68 -14
- package/worker/test/include/RTC/BWE/helpers/RemoteBitrateEstimatorAbsSendTimeTestHelper.hpp +125 -0
- package/worker/test/src/RTC/BWE/TestAlrDetector.cpp +110 -0
- package/worker/test/src/RTC/BWE/TestBitrateProber.cpp +418 -0
- package/worker/test/src/RTC/BWE/TestBitrateUtils.cpp +61 -0
- package/worker/test/src/RTC/BWE/TestDelayBasedBwe.cpp +9 -9
- package/worker/test/src/RTC/BWE/TestFeedbackAdapter.cpp +79 -60
- package/worker/test/src/RTC/BWE/TestInterArrival.cpp +643 -0
- package/worker/test/src/RTC/BWE/TestInterArrivalDelta.cpp +8 -8
- package/worker/test/src/RTC/BWE/TestIntervalBudget.cpp +130 -0
- package/worker/test/src/RTC/BWE/TestOveruseDetector.cpp +519 -0
- package/worker/test/src/RTC/BWE/TestProbeBitrateEstimator.cpp +266 -0
- package/worker/test/src/RTC/BWE/TestProbeController.cpp +1685 -0
- package/worker/test/src/RTC/BWE/TestProbePacketGenerator.cpp +250 -0
- package/worker/test/src/RTC/BWE/TestProbingScheduler.cpp +236 -0
- package/worker/test/src/RTC/BWE/TestReceiverTransportCongestionController.cpp +346 -0
- package/worker/test/src/RTC/BWE/TestRembGenerator.cpp +285 -0
- package/worker/test/src/RTC/BWE/TestRemoteBitrateEstimatorAbsSendTime.cpp +414 -0
- package/worker/test/src/RTC/BWE/TestSendPacketHistory.cpp +296 -77
- package/worker/test/src/RTC/BWE/TestSenderTransportCongestionController.cpp +510 -0
- package/worker/test/src/RTC/BWE/TestTransportWideCcFeedbackGenerator.cpp +580 -0
- package/worker/test/src/RTC/BWE/TestTrendlineEstimator.cpp +6 -6
- package/worker/test/src/RTC/BWE/helpers/LinkSimulator.cpp +133 -29
- package/worker/test/src/RTC/BWE/helpers/RemoteBitrateEstimatorAbsSendTimeTestHelper.cpp +624 -0
- 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 +20 -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/TestPacket.cpp +58 -4
- package/worker/test/src/RTC/RTP/TestProbationGenerator.cpp +3 -2
- package/worker/test/src/RTC/RTP/TestRetransmissionBuffer.cpp +60 -28
- package/worker/test/src/RTC/RTP/TestRtpStreamRecv.cpp +50 -0
- package/worker/test/src/RTC/RTP/TestRtpStreamSend.cpp +804 -23
- 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 +323 -61
- package/worker/test/src/RTC/TestRemoteCaptureTimeEstimator.cpp +103 -9
- package/worker/test/src/RTC/TestRemoteClockOffsetEstimator.cpp +13 -13
- package/worker/test/src/RTC/TestRtpEncodingParameters.cpp +1 -1
- package/worker/test/src/RTC/TestSimpleProducerStreamManager.cpp +34 -16
- package/worker/test/src/RTC/TestSimulcastProducerStreamManager.cpp +31 -13
- package/worker/test/src/RTC/TestSubchannelsCodec.cpp +2 -2
- package/worker/test/src/RTC/TestSvcProducerStreamManager.cpp +37 -19
- package/worker/test/src/RTC/TestTransportCongestionControlServer.cpp +11 -11
- 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 +120 -21
- package/worker/test/src/RTC/BWE/TestUtils.cpp +0 -61
package/node/lib/ortc.js
CHANGED
|
@@ -42,13 +42,11 @@ exports.getConsumableRtpParameters = getConsumableRtpParameters;
|
|
|
42
42
|
exports.canConsume = canConsume;
|
|
43
43
|
exports.getConsumerRtpParameters = getConsumerRtpParameters;
|
|
44
44
|
exports.getPipeConsumerRtpParameters = getPipeConsumerRtpParameters;
|
|
45
|
-
exports.serializeRtpMapping = serializeRtpMapping;
|
|
46
45
|
const h264 = __importStar(require("h264-profile-level-id"));
|
|
47
46
|
const supportedRtpCapabilities_1 = require("./supportedRtpCapabilities");
|
|
48
47
|
const scalabilityModesUtils_1 = require("./scalabilityModesUtils");
|
|
49
48
|
const utils = __importStar(require("./utils"));
|
|
50
49
|
const errors_1 = require("./errors");
|
|
51
|
-
const FbsRtpParameters = __importStar(require("./fbs/rtp-parameters"));
|
|
52
50
|
const DynamicPayloadTypes = [
|
|
53
51
|
100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
|
|
54
52
|
115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 96, 97, 98,
|
|
@@ -162,24 +160,28 @@ function validateAndNormalizeSctpStreamParameters(params) {
|
|
|
162
160
|
params.ordered = true;
|
|
163
161
|
}
|
|
164
162
|
// maxPacketLifeTime is optional.
|
|
165
|
-
if (params.maxPacketLifeTime &&
|
|
163
|
+
if (params.maxPacketLifeTime !== undefined &&
|
|
166
164
|
typeof params.maxPacketLifeTime !== 'number') {
|
|
167
165
|
throw new TypeError('invalid params.maxPacketLifeTime');
|
|
168
166
|
}
|
|
169
167
|
// maxRetransmits is optional.
|
|
170
|
-
if (params.maxRetransmits
|
|
168
|
+
if (params.maxRetransmits !== undefined &&
|
|
169
|
+
typeof params.maxRetransmits !== 'number') {
|
|
171
170
|
throw new TypeError('invalid params.maxRetransmits');
|
|
172
171
|
}
|
|
173
|
-
if (params.maxPacketLifeTime
|
|
172
|
+
if (params.maxPacketLifeTime !== undefined &&
|
|
173
|
+
params.maxRetransmits !== undefined) {
|
|
174
174
|
throw new TypeError('cannot provide both maxPacketLifeTime and maxRetransmits');
|
|
175
175
|
}
|
|
176
176
|
if (orderedGiven &&
|
|
177
177
|
params.ordered &&
|
|
178
|
-
(params.maxPacketLifeTime
|
|
178
|
+
(params.maxPacketLifeTime !== undefined ||
|
|
179
|
+
params.maxRetransmits !== undefined)) {
|
|
179
180
|
throw new TypeError('cannot be ordered with maxPacketLifeTime or maxRetransmits');
|
|
180
181
|
}
|
|
181
182
|
else if (!orderedGiven &&
|
|
182
|
-
(params.maxPacketLifeTime
|
|
183
|
+
(params.maxPacketLifeTime !== undefined ||
|
|
184
|
+
params.maxRetransmits !== undefined)) {
|
|
183
185
|
params.ordered = false;
|
|
184
186
|
}
|
|
185
187
|
}
|
|
@@ -307,7 +309,8 @@ function getProducerRtpParametersMapping(params, caps) {
|
|
|
307
309
|
continue;
|
|
308
310
|
}
|
|
309
311
|
// Search for the associated media codec.
|
|
310
|
-
const associatedMediaCodec = params.codecs.find(mediaCodec => mediaCodec
|
|
312
|
+
const associatedMediaCodec = params.codecs.find(mediaCodec => !isRtxCodec(mediaCodec) &&
|
|
313
|
+
mediaCodec.payloadType === codec.parameters['apt']);
|
|
311
314
|
if (!associatedMediaCodec) {
|
|
312
315
|
throw new TypeError(`missing media codec found for RTX PT ${codec.payloadType}`);
|
|
313
316
|
}
|
|
@@ -619,19 +622,6 @@ function getPipeConsumerRtpParameters({ consumableRtpParameters, enableRtx, }) {
|
|
|
619
622
|
}
|
|
620
623
|
return consumerParams;
|
|
621
624
|
}
|
|
622
|
-
function serializeRtpMapping(builder, rtpMapping) {
|
|
623
|
-
const codecs = [];
|
|
624
|
-
for (const codec of rtpMapping.codecs) {
|
|
625
|
-
codecs.push(FbsRtpParameters.CodecMapping.createCodecMapping(builder, codec.payloadType, codec.mappedPayloadType));
|
|
626
|
-
}
|
|
627
|
-
const codecsOffset = FbsRtpParameters.RtpMapping.createCodecsVector(builder, codecs);
|
|
628
|
-
const encodings = [];
|
|
629
|
-
for (const encoding of rtpMapping.encodings) {
|
|
630
|
-
encodings.push(FbsRtpParameters.EncodingMapping.createEncodingMapping(builder, builder.createString(encoding.rid), encoding.ssrc ?? null, encoding.mappedSsrc));
|
|
631
|
-
}
|
|
632
|
-
const encodingsOffset = FbsRtpParameters.RtpMapping.createEncodingsVector(builder, encodings);
|
|
633
|
-
return FbsRtpParameters.RtpMapping.createRtpMapping(builder, codecsOffset, encodingsOffset);
|
|
634
|
-
}
|
|
635
625
|
function isRtxCodec(codec) {
|
|
636
626
|
return /.+\/rtx$/i.test(codec.mimeType);
|
|
637
627
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type * as flatbuffers from 'flatbuffers';
|
|
2
|
+
import type { RtpCodecsEncodingsMapping } from './ortc';
|
|
3
|
+
import * as FbsRtpParameters from './fbs/rtp-parameters';
|
|
4
|
+
export declare function serializeRtpMapping(builder: flatbuffers.Builder, rtpMapping: RtpCodecsEncodingsMapping): number;
|
|
5
|
+
export declare function parseRtpMapping(data: FbsRtpParameters.RtpMapping): RtpCodecsEncodingsMapping;
|
|
6
|
+
//# sourceMappingURL=rtpMappingFbsUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtpMappingFbsUtils.d.ts","sourceRoot":"","sources":["../src/rtpMappingFbsUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,WAAW,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AAExD,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;AAEzD,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,WAAW,CAAC,OAAO,EAC5B,UAAU,EAAE,yBAAyB,GACnC,MAAM,CAwCR;AAED,wBAAgB,eAAe,CAC9B,IAAI,EAAE,gBAAgB,CAAC,UAAU,GAC/B,yBAAyB,CAoB3B"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.serializeRtpMapping = serializeRtpMapping;
|
|
37
|
+
exports.parseRtpMapping = parseRtpMapping;
|
|
38
|
+
const fbsUtils = __importStar(require("./fbsUtils"));
|
|
39
|
+
const FbsRtpParameters = __importStar(require("./fbs/rtp-parameters"));
|
|
40
|
+
function serializeRtpMapping(builder, rtpMapping) {
|
|
41
|
+
const codecs = [];
|
|
42
|
+
for (const codec of rtpMapping.codecs) {
|
|
43
|
+
codecs.push(FbsRtpParameters.CodecMapping.createCodecMapping(builder, codec.payloadType, codec.mappedPayloadType));
|
|
44
|
+
}
|
|
45
|
+
const codecsOffset = FbsRtpParameters.RtpMapping.createCodecsVector(builder, codecs);
|
|
46
|
+
const encodings = [];
|
|
47
|
+
for (const encoding of rtpMapping.encodings) {
|
|
48
|
+
encodings.push(FbsRtpParameters.EncodingMapping.createEncodingMapping(builder, builder.createString(encoding.rid), encoding.ssrc ?? null, encoding.mappedSsrc));
|
|
49
|
+
}
|
|
50
|
+
const encodingsOffset = FbsRtpParameters.RtpMapping.createEncodingsVector(builder, encodings);
|
|
51
|
+
return FbsRtpParameters.RtpMapping.createRtpMapping(builder, codecsOffset, encodingsOffset);
|
|
52
|
+
}
|
|
53
|
+
function parseRtpMapping(data) {
|
|
54
|
+
return {
|
|
55
|
+
codecs: fbsUtils.parseVector(data, 'codecs', (codec) => ({
|
|
56
|
+
payloadType: codec.payloadType(),
|
|
57
|
+
mappedPayloadType: codec.mappedPayloadType(),
|
|
58
|
+
})),
|
|
59
|
+
encodings: fbsUtils.parseVector(data, 'encodings', (encoding) => ({
|
|
60
|
+
ssrc: encoding.ssrc() ?? undefined,
|
|
61
|
+
rid: encoding.rid() || undefined,
|
|
62
|
+
mappedSsrc: encoding.mappedSsrc(),
|
|
63
|
+
})),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtpParametersFbsUtils.d.ts","sourceRoot":"","sources":["../src/rtpParametersFbsUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,WAAW,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACX,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,EAE5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAON,YAAY,IAAI,eAAe,EAE/B,kBAAkB,IAAI,qBAAqB,EAC3C,qBAAqB,IAAI,wBAAwB,EACjD,4BAA4B,IAAI,+BAA+B,EAC/D,qBAAqB,IAAI,wBAAwB,EACjD,aAAa,IAAI,gBAAgB,EAGjC,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,WAAW,CAAC,OAAO,EAC5B,aAAa,EAAE,aAAa,GAC1B,MAAM,CAoGR;AAED,wBAAgB,8BAA8B,CAC7C,OAAO,EAAE,WAAW,CAAC,OAAO,EAC5B,qBAAqB,GAAE,qBAAqB,EAAO,GACjD,MAAM,CAuER;AAED,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,WAAW,CAAC,OAAO,EAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,MAAM,EAAE,CAmEV;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,CAKrE;AAGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuDlE;AAED,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,qBAAqB,GACzB,kBAAkB,CAqBpB;AAED,wBAAgB,4BAA4B,CAC3C,GAAG,EAAE,wBAAwB,GAC3B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"rtpParametersFbsUtils.d.ts","sourceRoot":"","sources":["../src/rtpParametersFbsUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,WAAW,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACX,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,EAE5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAON,YAAY,IAAI,eAAe,EAE/B,kBAAkB,IAAI,qBAAqB,EAC3C,qBAAqB,IAAI,wBAAwB,EACjD,4BAA4B,IAAI,+BAA+B,EAC/D,qBAAqB,IAAI,wBAAwB,EACjD,aAAa,IAAI,gBAAgB,EAGjC,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,WAAW,CAAC,OAAO,EAC5B,aAAa,EAAE,aAAa,GAC1B,MAAM,CAoGR;AAED,wBAAgB,8BAA8B,CAC7C,OAAO,EAAE,WAAW,CAAC,OAAO,EAC5B,qBAAqB,GAAE,qBAAqB,EAAO,GACjD,MAAM,CAuER;AAED,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,WAAW,CAAC,OAAO,EAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,MAAM,EAAE,CAmEV;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,CAKrE;AAGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuDlE;AAED,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,qBAAqB,GACzB,kBAAkB,CAqBpB;AAED,wBAAgB,4BAA4B,CAC3C,GAAG,EAAE,wBAAwB,GAC3B,qBAAqB,CA8CvB;AAED,wBAAgB,0BAA0B,CACzC,GAAG,EAAE,qBAAqB,GACxB,wBAAwB,CAkD1B;AAED,wBAAgB,iCAAiC,CAChD,IAAI,EAAE,+BAA+B,GACnC,4BAA4B,CAO9B;AAED,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,wBAAwB,GAC5B,qBAAqB,CAYvB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,aAAa,CA0CxE"}
|
|
@@ -259,9 +259,6 @@ function rtpHeaderExtensionUriFromFbs(uri) {
|
|
|
259
259
|
case rtp_parameters_1.RtpHeaderExtensionUri.VideoOrientation: {
|
|
260
260
|
return 'urn:3gpp:video-orientation';
|
|
261
261
|
}
|
|
262
|
-
case rtp_parameters_1.RtpHeaderExtensionUri.TimeOffset: {
|
|
263
|
-
return 'urn:ietf:params:rtp-hdrext:toffset';
|
|
264
|
-
}
|
|
265
262
|
case rtp_parameters_1.RtpHeaderExtensionUri.AbsCaptureTime: {
|
|
266
263
|
return 'http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time';
|
|
267
264
|
}
|
|
@@ -299,9 +296,6 @@ function rtpHeaderExtensionUriToFbs(uri) {
|
|
|
299
296
|
case 'urn:3gpp:video-orientation': {
|
|
300
297
|
return rtp_parameters_1.RtpHeaderExtensionUri.VideoOrientation;
|
|
301
298
|
}
|
|
302
|
-
case 'urn:ietf:params:rtp-hdrext:toffset': {
|
|
303
|
-
return rtp_parameters_1.RtpHeaderExtensionUri.TimeOffset;
|
|
304
|
-
}
|
|
305
299
|
case 'http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time': {
|
|
306
300
|
return rtp_parameters_1.RtpHeaderExtensionUri.AbsCaptureTime;
|
|
307
301
|
}
|
|
@@ -271,7 +271,7 @@ export type RtpEncodingParameters = {
|
|
|
271
271
|
*/
|
|
272
272
|
maxBitrate?: number;
|
|
273
273
|
};
|
|
274
|
-
export type RtpHeaderExtensionUri = 'urn:ietf:params:rtp-hdrext:sdes:mid' | 'urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id' | 'urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id' | 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time' | 'http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' | 'urn:ietf:params:rtp-hdrext:ssrc-audio-level' | 'https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension' | 'urn:3gpp:video-orientation' | 'http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time' | '
|
|
274
|
+
export type RtpHeaderExtensionUri = 'urn:ietf:params:rtp-hdrext:sdes:mid' | 'urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id' | 'urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id' | 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time' | 'http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' | 'urn:ietf:params:rtp-hdrext:ssrc-audio-level' | 'https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension' | 'urn:3gpp:video-orientation' | 'http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time' | 'http://www.webrtc.org/experiments/rtp-hdrext/playout-delay' | 'urn:mediasoup:params:rtp-hdrext:packet-id';
|
|
275
275
|
/**
|
|
276
276
|
* Defines a RTP header extension within the RTP parameters. The list of RTP
|
|
277
277
|
* header extensions supported by mediasoup is defined in the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtpParametersTypes.d.ts","sourceRoot":"","sources":["../src/rtpParametersTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rtpParametersTypes.d.ts","sourceRoot":"","sources":["../src/rtpParametersTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtpStreamFbsUtils.d.ts","sourceRoot":"","sources":["../src/rtpStreamFbsUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EAIb,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,YAAY,MAAM,kBAAkB,CAAC;AAGjD,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,GAAG,aAAa,CAcrE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseRtpStream = parseRtpStream;
|
|
4
|
+
function parseRtpStream(data) {
|
|
5
|
+
const params = parseRtpStreamParameters(data.params());
|
|
6
|
+
let rtxStream;
|
|
7
|
+
if (data.rtxStream()) {
|
|
8
|
+
rtxStream = parseRtxStream(data.rtxStream());
|
|
9
|
+
}
|
|
10
|
+
return {
|
|
11
|
+
params,
|
|
12
|
+
score: data.score(),
|
|
13
|
+
rtxStream,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function parseRtpStreamParameters(data) {
|
|
17
|
+
return {
|
|
18
|
+
encodingIdx: data.encodingIdx(),
|
|
19
|
+
ssrc: data.ssrc(),
|
|
20
|
+
payloadType: data.payloadType(),
|
|
21
|
+
mimeType: data.mimeType(),
|
|
22
|
+
clockRate: data.clockRate(),
|
|
23
|
+
rid: data.rid().length > 0 ? data.rid() : undefined,
|
|
24
|
+
cname: data.cname(),
|
|
25
|
+
rtxSsrc: data.rtxSsrc() !== null ? data.rtxSsrc() : undefined,
|
|
26
|
+
rtxPayloadType: data.rtxPayloadType() !== null ? data.rtxPayloadType() : undefined,
|
|
27
|
+
useNack: data.useNack(),
|
|
28
|
+
usePli: data.usePli(),
|
|
29
|
+
useFir: data.useFir(),
|
|
30
|
+
useInBandFec: data.useInBandFec(),
|
|
31
|
+
useDtx: data.useDtx(),
|
|
32
|
+
spatialLayers: data.spatialLayers(),
|
|
33
|
+
temporalLayers: data.temporalLayers(),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function parseRtxStream(data) {
|
|
37
|
+
const params = parseRtxStreamParameters(data.params());
|
|
38
|
+
return {
|
|
39
|
+
params,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function parseRtxStreamParameters(data) {
|
|
43
|
+
return {
|
|
44
|
+
ssrc: data.ssrc(),
|
|
45
|
+
payloadType: data.payloadType(),
|
|
46
|
+
mimeType: data.mimeType(),
|
|
47
|
+
clockRate: data.clockRate(),
|
|
48
|
+
rrid: data.rrid().length > 0 ? data.rrid() : undefined,
|
|
49
|
+
cname: data.cname(),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supportedRtpCapabilities.d.ts","sourceRoot":"","sources":["../src/supportedRtpCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,QAAA,MAAM,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"supportedRtpCapabilities.d.ts","sourceRoot":"","sources":["../src/supportedRtpCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,QAAA,MAAM,wBAAwB,EAAE,qBAqU/B,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -282,52 +282,45 @@ const supportedRtpCapabilities = {
|
|
|
282
282
|
preferredEncrypt: false,
|
|
283
283
|
direction: 'sendrecv',
|
|
284
284
|
},
|
|
285
|
-
{
|
|
286
|
-
kind: 'video',
|
|
287
|
-
uri: 'urn:ietf:params:rtp-hdrext:toffset',
|
|
288
|
-
preferredId: 9,
|
|
289
|
-
preferredEncrypt: false,
|
|
290
|
-
direction: 'sendrecv',
|
|
291
|
-
},
|
|
292
285
|
{
|
|
293
286
|
kind: 'audio',
|
|
294
287
|
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time',
|
|
295
|
-
preferredId:
|
|
288
|
+
preferredId: 9,
|
|
296
289
|
preferredEncrypt: false,
|
|
297
290
|
direction: 'sendrecv',
|
|
298
291
|
},
|
|
299
292
|
{
|
|
300
293
|
kind: 'video',
|
|
301
294
|
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time',
|
|
302
|
-
preferredId:
|
|
295
|
+
preferredId: 9,
|
|
303
296
|
preferredEncrypt: false,
|
|
304
297
|
direction: 'sendrecv',
|
|
305
298
|
},
|
|
306
299
|
{
|
|
307
300
|
kind: 'audio',
|
|
308
301
|
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/playout-delay',
|
|
309
|
-
preferredId:
|
|
302
|
+
preferredId: 10,
|
|
310
303
|
preferredEncrypt: false,
|
|
311
304
|
direction: 'sendrecv',
|
|
312
305
|
},
|
|
313
306
|
{
|
|
314
307
|
kind: 'video',
|
|
315
308
|
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/playout-delay',
|
|
316
|
-
preferredId:
|
|
309
|
+
preferredId: 10,
|
|
317
310
|
preferredEncrypt: false,
|
|
318
311
|
direction: 'sendrecv',
|
|
319
312
|
},
|
|
320
313
|
{
|
|
321
314
|
kind: 'audio',
|
|
322
315
|
uri: 'urn:mediasoup:params:rtp-hdrext:packet-id',
|
|
323
|
-
preferredId:
|
|
316
|
+
preferredId: 11,
|
|
324
317
|
preferredEncrypt: false,
|
|
325
318
|
direction: 'sendrecv',
|
|
326
319
|
},
|
|
327
320
|
{
|
|
328
321
|
kind: 'video',
|
|
329
322
|
uri: 'urn:mediasoup:params:rtp-hdrext:packet-id',
|
|
330
|
-
preferredId:
|
|
323
|
+
preferredId: 11,
|
|
331
324
|
preferredEncrypt: false,
|
|
332
325
|
direction: 'sendrecv',
|
|
333
326
|
},
|
|
@@ -233,12 +233,6 @@ const ctx = {
|
|
|
233
233
|
preferredId: 8,
|
|
234
234
|
preferredEncrypt: false,
|
|
235
235
|
},
|
|
236
|
-
{
|
|
237
|
-
kind: 'video',
|
|
238
|
-
uri: 'urn:ietf:params:rtp-hdrext:toffset',
|
|
239
|
-
preferredId: 9,
|
|
240
|
-
preferredEncrypt: false,
|
|
241
|
-
},
|
|
242
236
|
],
|
|
243
237
|
}),
|
|
244
238
|
vpxMediaCodecs: utils.deepFreeze([
|
|
@@ -745,7 +739,7 @@ test('consumer.dump() succeeds', async () => {
|
|
|
745
739
|
{ type: 'goog-remb' },
|
|
746
740
|
]);
|
|
747
741
|
expect(Array.isArray(dump2.rtpParameters.headerExtensions)).toBe(true);
|
|
748
|
-
expect(dump2.rtpParameters.headerExtensions.length).toBe(
|
|
742
|
+
expect(dump2.rtpParameters.headerExtensions.length).toBe(3);
|
|
749
743
|
expect(dump2.rtpParameters.headerExtensions).toEqual([
|
|
750
744
|
{
|
|
751
745
|
uri: 'urn:ietf:params:rtp-hdrext:sdes:mid',
|
|
@@ -765,12 +759,6 @@ test('consumer.dump() succeeds', async () => {
|
|
|
765
759
|
parameters: {},
|
|
766
760
|
encrypt: false,
|
|
767
761
|
},
|
|
768
|
-
{
|
|
769
|
-
uri: 'urn:ietf:params:rtp-hdrext:toffset',
|
|
770
|
-
id: 9,
|
|
771
|
-
parameters: {},
|
|
772
|
-
encrypt: false,
|
|
773
|
-
},
|
|
774
762
|
]);
|
|
775
763
|
expect(Array.isArray(dump2.rtpParameters.encodings)).toBe(true);
|
|
776
764
|
expect(dump2.rtpParameters.encodings.length).toBe(1);
|
|
@@ -114,6 +114,15 @@ test('transport.consumeData() with unknown dataProducerId fails', async () => {
|
|
|
114
114
|
dataProducerId: '12345678',
|
|
115
115
|
})).rejects.toThrow(errors_1.NotFoundError);
|
|
116
116
|
}, 2000);
|
|
117
|
+
test('transport.consumeData() with maxRetransmits replaces DataProducer maxPacketLifeTime', async () => {
|
|
118
|
+
const dataConsumer = await ctx.webRtcTransport2.consumeData({
|
|
119
|
+
dataProducerId: ctx.sctpDataProducer.id,
|
|
120
|
+
maxRetransmits: 2,
|
|
121
|
+
});
|
|
122
|
+
expect(dataConsumer.sctpStreamParameters.ordered).toBe(false);
|
|
123
|
+
expect(dataConsumer.sctpStreamParameters.maxPacketLifeTime).toBeUndefined();
|
|
124
|
+
expect(dataConsumer.sctpStreamParameters.maxRetransmits).toBe(2);
|
|
125
|
+
}, 2000);
|
|
117
126
|
test('dataConsumer.dump() succeeds', async () => {
|
|
118
127
|
const dataConsumer = await ctx.webRtcTransport2.consumeData({
|
|
119
128
|
dataProducerId: ctx.sctpDataProducer.id,
|
|
@@ -154,6 +154,44 @@ test('transport.produceData() with ordered and maxPacketLifeTime rejects with Ty
|
|
|
154
154
|
},
|
|
155
155
|
})).rejects.toThrow(TypeError);
|
|
156
156
|
}, 2000);
|
|
157
|
+
test('transport.produceData() with maxRetransmits 0 or maxPacketLifeTime 0 creates an unordered DataProducer', async () => {
|
|
158
|
+
const dataProducer1 = await ctx.webRtcTransport1.produceData({
|
|
159
|
+
sctpStreamParameters: {
|
|
160
|
+
streamId: 888,
|
|
161
|
+
maxRetransmits: 0,
|
|
162
|
+
},
|
|
163
|
+
});
|
|
164
|
+
expect(dataProducer1.sctpStreamParameters?.ordered).toBe(false);
|
|
165
|
+
expect(dataProducer1.sctpStreamParameters?.maxPacketLifeTime).toBeUndefined();
|
|
166
|
+
expect(dataProducer1.sctpStreamParameters?.maxRetransmits).toBe(0);
|
|
167
|
+
const dataProducer2 = await ctx.webRtcTransport1.produceData({
|
|
168
|
+
sctpStreamParameters: {
|
|
169
|
+
streamId: 999,
|
|
170
|
+
maxPacketLifeTime: 0,
|
|
171
|
+
},
|
|
172
|
+
});
|
|
173
|
+
expect(dataProducer2.sctpStreamParameters?.ordered).toBe(false);
|
|
174
|
+
expect(dataProducer2.sctpStreamParameters?.maxPacketLifeTime).toBe(0);
|
|
175
|
+
expect(dataProducer2.sctpStreamParameters?.maxRetransmits).toBeUndefined();
|
|
176
|
+
}, 2000);
|
|
177
|
+
test('transport.produceData() with ordered and maxRetransmits 0 rejects with TypeError', async () => {
|
|
178
|
+
await expect(ctx.webRtcTransport1.produceData({
|
|
179
|
+
sctpStreamParameters: {
|
|
180
|
+
streamId: 999,
|
|
181
|
+
ordered: true,
|
|
182
|
+
maxRetransmits: 0,
|
|
183
|
+
},
|
|
184
|
+
})).rejects.toThrow(TypeError);
|
|
185
|
+
}, 2000);
|
|
186
|
+
test('transport.produceData() with maxPacketLifeTime 0 and maxRetransmits rejects with TypeError', async () => {
|
|
187
|
+
await expect(ctx.webRtcTransport1.produceData({
|
|
188
|
+
sctpStreamParameters: {
|
|
189
|
+
streamId: 999,
|
|
190
|
+
maxPacketLifeTime: 0,
|
|
191
|
+
maxRetransmits: 5,
|
|
192
|
+
},
|
|
193
|
+
})).rejects.toThrow(TypeError);
|
|
194
|
+
}, 2000);
|
|
157
195
|
test('dataProducer.dump() succeeds', async () => {
|
|
158
196
|
const dataProducer1 = await ctx.webRtcTransport1.produceData(ctx.dataProducerOptions1);
|
|
159
197
|
const dump1 = await dataProducer1.dump();
|
|
@@ -262,13 +262,13 @@ test('router.pipeToRouter() succeeds with audio', async () => {
|
|
|
262
262
|
},
|
|
263
263
|
{
|
|
264
264
|
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/playout-delay',
|
|
265
|
-
id:
|
|
265
|
+
id: 10,
|
|
266
266
|
encrypt: false,
|
|
267
267
|
parameters: {},
|
|
268
268
|
},
|
|
269
269
|
{
|
|
270
270
|
uri: 'urn:mediasoup:params:rtp-hdrext:packet-id',
|
|
271
|
-
id:
|
|
271
|
+
id: 11,
|
|
272
272
|
encrypt: false,
|
|
273
273
|
parameters: {},
|
|
274
274
|
},
|
|
@@ -315,13 +315,13 @@ test('router.pipeToRouter() succeeds with audio', async () => {
|
|
|
315
315
|
},
|
|
316
316
|
{
|
|
317
317
|
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/playout-delay',
|
|
318
|
-
id:
|
|
318
|
+
id: 10,
|
|
319
319
|
encrypt: false,
|
|
320
320
|
parameters: {},
|
|
321
321
|
},
|
|
322
322
|
{
|
|
323
323
|
uri: 'urn:mediasoup:params:rtp-hdrext:packet-id',
|
|
324
|
-
id:
|
|
324
|
+
id: 11,
|
|
325
325
|
encrypt: false,
|
|
326
326
|
parameters: {},
|
|
327
327
|
},
|
|
@@ -370,21 +370,15 @@ test('router.pipeToRouter() succeeds with video', async () => {
|
|
|
370
370
|
encrypt: false,
|
|
371
371
|
parameters: {},
|
|
372
372
|
},
|
|
373
|
-
{
|
|
374
|
-
uri: 'urn:ietf:params:rtp-hdrext:toffset',
|
|
375
|
-
id: 9,
|
|
376
|
-
encrypt: false,
|
|
377
|
-
parameters: {},
|
|
378
|
-
},
|
|
379
373
|
{
|
|
380
374
|
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/playout-delay',
|
|
381
|
-
id:
|
|
375
|
+
id: 10,
|
|
382
376
|
encrypt: false,
|
|
383
377
|
parameters: {},
|
|
384
378
|
},
|
|
385
379
|
{
|
|
386
380
|
uri: 'urn:mediasoup:params:rtp-hdrext:packet-id',
|
|
387
|
-
id:
|
|
381
|
+
id: 11,
|
|
388
382
|
encrypt: false,
|
|
389
383
|
parameters: {},
|
|
390
384
|
},
|
|
@@ -428,21 +422,15 @@ test('router.pipeToRouter() succeeds with video', async () => {
|
|
|
428
422
|
encrypt: false,
|
|
429
423
|
parameters: {},
|
|
430
424
|
},
|
|
431
|
-
{
|
|
432
|
-
uri: 'urn:ietf:params:rtp-hdrext:toffset',
|
|
433
|
-
id: 9,
|
|
434
|
-
encrypt: false,
|
|
435
|
-
parameters: {},
|
|
436
|
-
},
|
|
437
425
|
{
|
|
438
426
|
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/playout-delay',
|
|
439
|
-
id:
|
|
427
|
+
id: 10,
|
|
440
428
|
encrypt: false,
|
|
441
429
|
parameters: {},
|
|
442
430
|
},
|
|
443
431
|
{
|
|
444
432
|
uri: 'urn:mediasoup:params:rtp-hdrext:packet-id',
|
|
445
|
-
id:
|
|
433
|
+
id: 11,
|
|
446
434
|
encrypt: false,
|
|
447
435
|
parameters: {},
|
|
448
436
|
},
|
|
@@ -479,7 +467,7 @@ test('router.pipeToRouter() gives abs-capture-time to the pipe Consumer if the P
|
|
|
479
467
|
}));
|
|
480
468
|
expect(pipeConsumer.rtpParameters.headerExtensions).toContainEqual({
|
|
481
469
|
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time',
|
|
482
|
-
id:
|
|
470
|
+
id: 9,
|
|
483
471
|
encrypt: false,
|
|
484
472
|
parameters: {},
|
|
485
473
|
});
|
|
@@ -502,6 +490,22 @@ test('router.pipeToRouter() with unknown router, producerId or dataProducerId fa
|
|
|
502
490
|
dataProducerId: '12345678',
|
|
503
491
|
})).rejects.toThrow(errors_1.NotFoundError);
|
|
504
492
|
}, 2000);
|
|
493
|
+
test('router.pipeToRouter() can be retried after failing to create the PipeTransport pair', async () => {
|
|
494
|
+
// Fails because the IP is not assigned to any local network interface.
|
|
495
|
+
await expect(ctx.router1.pipeToRouter({
|
|
496
|
+
router: ctx.router2,
|
|
497
|
+
producerId: ctx.videoProducer.id,
|
|
498
|
+
listenInfo: { protocol: 'udp', ip: '203.0.113.1' },
|
|
499
|
+
})).rejects.toThrow();
|
|
500
|
+
const { pipeConsumer, pipeProducer } = await ctx.router1.pipeToRouter({
|
|
501
|
+
router: ctx.router2,
|
|
502
|
+
producerId: ctx.videoProducer.id,
|
|
503
|
+
listenInfo: { protocol: 'udp', ip: '127.0.0.1' },
|
|
504
|
+
});
|
|
505
|
+
expect(pipeConsumer).toBeDefined();
|
|
506
|
+
expect(pipeProducer).toBeDefined();
|
|
507
|
+
expect(pipeProducer.id).toBe(ctx.videoProducer.id);
|
|
508
|
+
}, 5000);
|
|
505
509
|
test('router.createPipeTransport() with wrong arguments rejects with TypeError', async () => {
|
|
506
510
|
// @ts-expect-error --- Testing purposes.
|
|
507
511
|
await expect(ctx.router1.createPipeTransport({})).rejects.toThrow(TypeError);
|
|
@@ -576,21 +580,15 @@ test('router.createPipeTransport() with enableRtx succeeds', async () => {
|
|
|
576
580
|
encrypt: false,
|
|
577
581
|
parameters: {},
|
|
578
582
|
},
|
|
579
|
-
{
|
|
580
|
-
uri: 'urn:ietf:params:rtp-hdrext:toffset',
|
|
581
|
-
id: 9,
|
|
582
|
-
encrypt: false,
|
|
583
|
-
parameters: {},
|
|
584
|
-
},
|
|
585
583
|
{
|
|
586
584
|
uri: 'http://www.webrtc.org/experiments/rtp-hdrext/playout-delay',
|
|
587
|
-
id:
|
|
585
|
+
id: 10,
|
|
588
586
|
encrypt: false,
|
|
589
587
|
parameters: {},
|
|
590
588
|
},
|
|
591
589
|
{
|
|
592
590
|
uri: 'urn:mediasoup:params:rtp-hdrext:packet-id',
|
|
593
|
-
id:
|
|
591
|
+
id: 11,
|
|
594
592
|
encrypt: false,
|
|
595
593
|
parameters: {},
|
|
596
594
|
},
|