mediasoup 3.26.0 → 3.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/node/lib/DataConsumer.js +1 -1
- package/node/lib/Router.js +1 -1
- package/node/lib/Transport.js +15 -15
- package/node/lib/fbs/rtp-parameters/encoding-mapping.d.ts +2 -6
- package/node/lib/fbs/rtp-parameters/encoding-mapping.d.ts.map +1 -1
- package/node/lib/fbs/rtp-parameters/encoding-mapping.js +7 -19
- package/node/lib/fbs/rtp-parameters/rtp-encoding-parameters.d.ts +4 -4
- package/node/lib/fbs/rtp-parameters/rtp-encoding-parameters.js +2 -2
- package/node/lib/fbs/rtp-stream/bitrate-by-layer.d.ts +5 -5
- package/node/lib/fbs/rtp-stream/bitrate-by-layer.d.ts.map +1 -1
- package/node/lib/fbs/rtp-stream/bitrate-by-layer.js +3 -3
- package/node/lib/fbs/rtp-stream/recv-stats.d.ts +5 -5
- package/node/lib/fbs/rtp-stream/recv-stats.d.ts.map +1 -1
- package/node/lib/fbs/rtp-stream/recv-stats.js +3 -3
- package/node/lib/fbs/rtp-stream/send-stats.d.ts +5 -5
- package/node/lib/fbs/rtp-stream/send-stats.d.ts.map +1 -1
- package/node/lib/fbs/rtp-stream/send-stats.js +3 -3
- package/node/lib/fbs/transport/bwe-trace-info.d.ts +23 -23
- package/node/lib/fbs/transport/bwe-trace-info.d.ts.map +1 -1
- package/node/lib/fbs/transport/bwe-trace-info.js +15 -15
- package/node/lib/fbs/transport/options.d.ts +5 -5
- package/node/lib/fbs/transport/options.js +2 -2
- package/node/lib/fbs/transport/set-max-incoming-bitrate-request.d.ts +5 -5
- package/node/lib/fbs/transport/set-max-incoming-bitrate-request.d.ts.map +1 -1
- package/node/lib/fbs/transport/set-max-incoming-bitrate-request.js +3 -3
- package/node/lib/fbs/transport/set-max-outgoing-bitrate-request.d.ts +5 -5
- package/node/lib/fbs/transport/set-max-outgoing-bitrate-request.d.ts.map +1 -1
- package/node/lib/fbs/transport/set-max-outgoing-bitrate-request.js +3 -3
- package/node/lib/fbs/transport/set-min-outgoing-bitrate-request.d.ts +5 -5
- package/node/lib/fbs/transport/set-min-outgoing-bitrate-request.d.ts.map +1 -1
- package/node/lib/fbs/transport/set-min-outgoing-bitrate-request.js +3 -3
- package/node/lib/fbs/transport/stats.d.ts +38 -38
- package/node/lib/fbs/transport/stats.d.ts.map +1 -1
- package/node/lib/fbs/transport/stats.js +25 -25
- package/node/lib/ortc.d.ts +0 -1
- package/node/lib/ortc.d.ts.map +1 -1
- package/node/lib/ortc.js +1 -2
- package/node/lib/rtpParametersFbsUtils.d.ts.map +1 -1
- package/node/lib/rtpParametersFbsUtils.js +2 -2
- package/package.json +9 -9
- package/worker/deps/libwebrtc/libwebrtc/call/rtp_transport_controller_send.cc +10 -10
- package/worker/deps/libwebrtc/libwebrtc/mediasoup_helpers.h +6 -6
- package/worker/deps/libwebrtc/libwebrtc/modules/congestion_controller/goog_cc/alr_detector.cc +1 -1
- package/worker/deps/libwebrtc/libwebrtc/modules/pacing/paced_sender.cc +7 -7
- package/worker/deps/libwebrtc/libwebrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h +1 -1
- package/worker/deps/libwebrtc/libwebrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc +1 -1
- package/worker/fbs/rtpParameters.fbs +1 -2
- package/worker/fbs/rtpStream.fbs +3 -3
- package/worker/fbs/transport.fbs +23 -23
- package/worker/fuzzer/include/RTC/FuzzerDtlsTransport.hpp +4 -1
- package/worker/fuzzer/src/FuzzerUtils.cpp +5 -3
- package/worker/fuzzer/src/RTC/FuzzerDtlsTransport.cpp +8 -5
- package/worker/fuzzer/src/RTC/FuzzerRateCalculator.cpp +3 -3
- package/worker/fuzzer/src/RTC/FuzzerTrendCalculator.cpp +6 -6
- package/worker/fuzzer/src/RTC/RTCP/FuzzerFeedbackRtpTransport.cpp +3 -3
- package/worker/fuzzer/src/RTC/RTP/FuzzerPacket.cpp +2 -2
- package/worker/fuzzer/src/RTC/RTP/FuzzerRetransmissionBuffer.cpp +5 -5
- package/worker/fuzzer/src/RTC/RTP/FuzzerRtpStreamSend.cpp +3 -3
- package/worker/fuzzer/src/fuzzer.cpp +4 -0
- package/worker/include/Channel/ChannelNotification.hpp +3 -3
- package/worker/include/Channel/ChannelRequest.hpp +1 -1
- package/worker/include/Channel/ChannelSocket.hpp +11 -0
- package/worker/include/DepLibUV.hpp +16 -33
- package/worker/include/RTC/ActiveSpeakerObserver.hpp +11 -11
- package/worker/include/RTC/AudioLevelObserver.hpp +4 -4
- package/worker/include/RTC/BWE/AcknowledgedBitrateEstimatorInterface.hpp +55 -0
- package/worker/include/RTC/BWE/AimdRateControl.hpp +190 -0
- package/worker/include/RTC/BWE/BweTypes.hpp +211 -0
- package/worker/include/RTC/BWE/DelayBasedBwe.hpp +173 -0
- package/worker/include/RTC/BWE/FeedbackAdapter.hpp +72 -0
- package/worker/include/RTC/BWE/InterArrivalDelta.hpp +106 -0
- package/worker/include/RTC/BWE/LinkCapacityEstimator.hpp +84 -0
- package/worker/include/RTC/BWE/RobustThroughputEstimator.hpp +94 -0
- package/worker/include/RTC/BWE/SendPacketHistory.hpp +137 -0
- package/worker/include/RTC/BWE/TrendlineEstimator.hpp +101 -0
- package/worker/include/RTC/Consts.hpp +6 -6
- package/worker/include/RTC/Consumer.hpp +14 -12
- package/worker/include/RTC/DataConsumer.hpp +3 -3
- package/worker/include/RTC/DataProducer.hpp +3 -3
- package/worker/include/RTC/DtlsTransport.hpp +5 -2
- package/worker/include/RTC/ICE/IceCandidate.hpp +2 -2
- package/worker/include/RTC/ICE/IceServer.hpp +3 -3
- package/worker/include/RTC/KeyFrameRequestManager.hpp +3 -3
- package/worker/include/RTC/NEW_RTCP/packet/Packet.hpp +1 -1
- package/worker/include/RTC/NackGenerator.hpp +12 -12
- package/worker/include/RTC/PipeProducerStreamManager.hpp +3 -4
- package/worker/include/RTC/PipeTransport.hpp +18 -5
- package/worker/include/RTC/PlainTransport.hpp +18 -5
- package/worker/include/RTC/PortManager.hpp +4 -4
- package/worker/include/RTC/Producer.hpp +21 -12
- package/worker/include/RTC/ProducerStreamManager.hpp +12 -6
- package/worker/include/RTC/RTCP/Bye.hpp +2 -2
- package/worker/include/RTC/RTCP/FeedbackPsRemb.hpp +4 -4
- package/worker/include/RTC/RTCP/FeedbackRtpTmmb.hpp +3 -3
- package/worker/include/RTC/RTCP/FeedbackRtpTransport.hpp +54 -39
- package/worker/include/RTC/RTCP/Packet.hpp +3 -3
- package/worker/include/RTC/RTCP/ReceiverReport.hpp +3 -3
- package/worker/include/RTC/RTCP/Sdes.hpp +2 -2
- package/worker/include/RTC/RTCP/XR.hpp +2 -2
- package/worker/include/RTC/RTCP/XrDelaySinceLastRr.hpp +1 -1
- package/worker/include/RTC/RTP/Codecs/H264.hpp +1 -1
- package/worker/include/RTC/RTP/Codecs/Opus.hpp +2 -2
- package/worker/include/RTC/RTP/Codecs/PayloadDescriptorHandler.hpp +3 -3
- package/worker/include/RTC/RTP/Codecs/VP8.hpp +2 -2
- package/worker/include/RTC/RTP/Codecs/VP9.hpp +2 -2
- package/worker/include/RTC/RTP/HeaderExtensionIds.hpp +12 -12
- package/worker/include/RTC/RTP/Packet.hpp +13 -13
- package/worker/include/RTC/RTP/ProbationGenerator.hpp +1 -1
- package/worker/include/RTC/RTP/RetransmissionBuffer.hpp +7 -7
- package/worker/include/RTC/RTP/RtpStream.hpp +37 -51
- package/worker/include/RTC/RTP/RtpStreamRecv.hpp +59 -41
- package/worker/include/RTC/RTP/RtpStreamSend.hpp +20 -14
- package/worker/include/RTC/RTP/RtxStream.hpp +12 -13
- package/worker/include/RTC/RateCalculator.hpp +50 -44
- package/worker/include/RTC/RemoteCaptureTimeEstimator.hpp +5 -4
- package/worker/include/RTC/RemoteClockOffsetEstimator.hpp +11 -11
- package/worker/include/RTC/Router.hpp +6 -0
- package/worker/include/RTC/RtcLogger.hpp +1 -1
- package/worker/include/RTC/RtpDictionaries.hpp +10 -10
- package/worker/include/RTC/SCTP/association/Association.hpp +56 -28
- package/worker/include/RTC/SCTP/association/HeartbeatHandler.hpp +4 -4
- package/worker/include/RTC/SCTP/association/StateCookie.hpp +14 -14
- package/worker/include/RTC/SCTP/association/StreamResetHandler.hpp +2 -2
- package/worker/include/RTC/SCTP/association/TransmissionControlBlock.hpp +12 -12
- package/worker/include/RTC/SCTP/association/TransmissionControlBlockContextInterface.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/TLV.hpp +1 -1
- package/worker/include/RTC/SCTP/packet/parameters/StateCookieParameter.hpp +3 -3
- package/worker/include/RTC/SCTP/public/AssociationInterface.hpp +4 -1
- package/worker/include/RTC/SCTP/public/AssociationMetrics.hpp +1 -1
- package/worker/include/RTC/SCTP/public/SctpOptions.hpp +12 -12
- package/worker/include/RTC/SCTP/public/SctpTypes.hpp +1 -1
- package/worker/include/RTC/SCTP/tx/OutstandingData.hpp +15 -16
- package/worker/include/RTC/SCTP/tx/RetransmissionQueue.hpp +7 -8
- package/worker/include/RTC/SCTP/tx/RetransmissionTimeout.hpp +20 -16
- package/worker/include/RTC/SCTP/tx/RoundRobinSendQueue.hpp +5 -6
- package/worker/include/RTC/SCTP/tx/SendQueueInterface.hpp +2 -2
- package/worker/include/RTC/SCTP/tx/StreamScheduler.hpp +5 -5
- package/worker/include/RTC/SctpDictionaries.hpp +3 -3
- package/worker/include/RTC/Serializable.hpp +1 -1
- package/worker/include/RTC/SimpleProducerStreamManager.hpp +3 -4
- package/worker/include/RTC/SimulcastProducerStreamManager.hpp +6 -7
- package/worker/include/RTC/SvcProducerStreamManager.hpp +6 -5
- package/worker/include/RTC/TcpConnection.hpp +9 -3
- package/worker/include/RTC/TcpServer.hpp +3 -0
- package/worker/include/RTC/Transport.hpp +52 -45
- package/worker/include/RTC/TransportCongestionControlClient.hpp +30 -25
- package/worker/include/RTC/TransportCongestionControlServer.hpp +17 -17
- package/worker/include/RTC/TrendCalculator.hpp +5 -5
- package/worker/include/RTC/UdpSocket.hpp +11 -2
- package/worker/include/RTC/WebRtcServer.hpp +20 -5
- package/worker/include/RTC/WebRtcTransport.hpp +35 -10
- package/worker/include/Settings.hpp +4 -2
- package/worker/include/Shared.hpp +5 -20
- package/worker/include/SharedInterface.hpp +6 -28
- package/worker/include/Utils.hpp +40 -21
- package/worker/include/common.hpp +4 -0
- package/worker/include/handles/BackoffTimerHandle.hpp +4 -4
- package/worker/include/handles/BackoffTimerHandleInterface.hpp +5 -5
- package/worker/include/handles/TcpConnectionHandle.hpp +6 -6
- package/worker/include/handles/TcpServerHandle.hpp +1 -1
- package/worker/include/handles/TimerHandle.hpp +15 -9
- package/worker/include/handles/TimerHandleInterface.hpp +10 -4
- package/worker/include/handles/UdpSocketHandle.hpp +3 -3
- package/worker/include/handles/UnixStreamSocketHandle.hpp +2 -2
- package/worker/meson.build +81 -36
- package/worker/meson_options.txt +1 -0
- package/worker/mocks/include/MockShared.hpp +24 -23
- package/worker/mocks/include/RTC/SCTP/association/MockTransmissionControlBlockContext.hpp +51 -27
- package/worker/mocks/include/RTC/SCTP/tx/MockSendQueue.hpp +11 -11
- package/worker/mocks/include/handles/MockBackoffTimerHandle.hpp +10 -10
- package/worker/mocks/include/handles/MockTimerHandle.hpp +60 -22
- package/worker/mocks/src/MockShared.cpp +51 -5
- package/worker/mocks/src/handles/MockBackoffTimerHandle.cpp +29 -15
- package/worker/mocks/src/handles/MockTimerHandle.cpp +117 -0
- package/worker/scripts/clang-scripts.mjs +2 -2
- package/worker/src/Channel/ChannelNotification.cpp +5 -6
- package/worker/src/Channel/ChannelSocket.cpp +20 -2
- package/worker/src/DepLibUV.cpp +4 -5
- package/worker/src/RTC/ActiveSpeakerObserver.cpp +59 -47
- package/worker/src/RTC/AudioLevelObserver.cpp +7 -7
- package/worker/src/RTC/BWE/AimdRateControl.cpp +468 -0
- package/worker/src/RTC/BWE/BweTypes.cpp +61 -0
- package/worker/src/RTC/BWE/DelayBasedBwe.cpp +275 -0
- package/worker/src/RTC/BWE/FeedbackAdapter.cpp +148 -0
- package/worker/src/RTC/BWE/InterArrivalDelta.cpp +181 -0
- package/worker/src/RTC/BWE/LinkCapacityEstimator.cpp +133 -0
- package/worker/src/RTC/BWE/RobustThroughputEstimator.cpp +245 -0
- package/worker/src/RTC/BWE/SendPacketHistory.cpp +184 -0
- package/worker/src/RTC/BWE/TrendlineEstimator.cpp +233 -0
- package/worker/src/RTC/Consumer.cpp +48 -35
- package/worker/src/RTC/DataConsumer.cpp +4 -4
- package/worker/src/RTC/DataProducer.cpp +3 -3
- package/worker/src/RTC/DirectTransport.cpp +2 -2
- package/worker/src/RTC/DtlsTransport.cpp +14 -11
- package/worker/src/RTC/ICE/IceServer.cpp +2 -2
- package/worker/src/RTC/KeyFrameRequestManager.cpp +16 -12
- package/worker/src/RTC/NackGenerator.cpp +12 -12
- package/worker/src/RTC/PipeProducerStreamManager.cpp +6 -6
- package/worker/src/RTC/PipeTransport.cpp +16 -13
- package/worker/src/RTC/PlainTransport.cpp +25 -16
- package/worker/src/RTC/Producer.cpp +50 -36
- package/worker/src/RTC/RTCP/FeedbackPsRemb.cpp +13 -6
- package/worker/src/RTC/RTCP/FeedbackRtpTmmb.cpp +14 -5
- package/worker/src/RTC/RTCP/FeedbackRtpTransport.cpp +76 -50
- package/worker/src/RTC/RTP/Codecs/VP8.cpp +1 -1
- package/worker/src/RTC/RTP/Codecs/VP9.cpp +4 -4
- package/worker/src/RTC/RTP/Packet.cpp +9 -10
- package/worker/src/RTC/RTP/RetransmissionBuffer.cpp +6 -6
- package/worker/src/RTC/RTP/RtpStream.cpp +19 -19
- package/worker/src/RTC/RTP/RtpStreamRecv.cpp +146 -81
- package/worker/src/RTC/RTP/RtpStreamSend.cpp +49 -44
- package/worker/src/RTC/RTP/RtxStream.cpp +7 -10
- package/worker/src/RTC/RateCalculator.cpp +99 -136
- package/worker/src/RTC/RemoteCaptureTimeEstimator.cpp +13 -13
- package/worker/src/RTC/RemoteClockOffsetEstimator.cpp +18 -17
- package/worker/src/RTC/Router.cpp +18 -1
- package/worker/src/RTC/RtpDictionaries/RtpEncodingParameters.cpp +5 -2
- package/worker/src/RTC/SCTP/association/Association.cpp +131 -102
- package/worker/src/RTC/SCTP/association/AssociationListenerDeferrer.cpp +4 -4
- package/worker/src/RTC/SCTP/association/Capabilities.cpp +1 -1
- package/worker/src/RTC/SCTP/association/HeartbeatHandler.cpp +25 -18
- package/worker/src/RTC/SCTP/association/StateCookie.cpp +7 -6
- package/worker/src/RTC/SCTP/association/StreamResetHandler.cpp +16 -13
- package/worker/src/RTC/SCTP/association/TransmissionControlBlock.cpp +28 -26
- package/worker/src/RTC/SCTP/packet/chunks/SackChunk.cpp +0 -1
- package/worker/src/RTC/SCTP/packet/parameters/StateCookieParameter.cpp +2 -2
- package/worker/src/RTC/SCTP/public/AssociationMetrics.cpp +1 -1
- package/worker/src/RTC/SCTP/public/SctpOptions.cpp +13 -13
- package/worker/src/RTC/SCTP/rx/DataTracker.cpp +1 -1
- package/worker/src/RTC/SCTP/rx/ReassemblyQueue.cpp +5 -5
- package/worker/src/RTC/SCTP/tx/OutstandingData.cpp +15 -15
- package/worker/src/RTC/SCTP/tx/RetransmissionQueue.cpp +15 -15
- package/worker/src/RTC/SCTP/tx/RetransmissionTimeout.cpp +29 -26
- package/worker/src/RTC/SCTP/tx/RoundRobinSendQueue.cpp +12 -11
- package/worker/src/RTC/SCTP/tx/StreamScheduler.cpp +4 -4
- package/worker/src/RTC/SctpDictionaries/SctpStreamParameters.cpp +2 -2
- package/worker/src/RTC/SimpleProducerStreamManager.cpp +10 -10
- package/worker/src/RTC/SimulcastProducerStreamManager.cpp +39 -37
- package/worker/src/RTC/SvcProducerStreamManager.cpp +39 -25
- package/worker/src/RTC/TcpConnection.cpp +9 -3
- package/worker/src/RTC/TcpServer.cpp +7 -2
- package/worker/src/RTC/Transport.cpp +242 -302
- package/worker/src/RTC/TransportCongestionControlClient.cpp +78 -71
- package/worker/src/RTC/TransportCongestionControlServer.cpp +38 -40
- package/worker/src/RTC/TrendCalculator.cpp +3 -3
- package/worker/src/RTC/UdpSocket.cpp +14 -3
- package/worker/src/RTC/WebRtcServer.cpp +20 -14
- package/worker/src/RTC/WebRtcTransport.cpp +35 -30
- package/worker/src/Settings.cpp +10 -0
- package/worker/src/Shared.cpp +2 -2
- package/worker/src/Utils/Crypto.cpp +2 -2
- package/worker/src/Worker.cpp +5 -1
- package/worker/src/handles/BackoffTimerHandle.cpp +24 -11
- package/worker/src/handles/TimerHandle.cpp +74 -25
- package/worker/src/lib.cpp +6 -0
- package/worker/tasks.py +171 -44
- package/worker/test/include/RTC/BWE/helpers/LinkSimulator.hpp +117 -0
- package/worker/test/src/RTC/BWE/TestAimdRateControl.cpp +400 -0
- package/worker/test/src/RTC/BWE/TestDelayBasedBwe.cpp +568 -0
- package/worker/test/src/RTC/BWE/TestFeedbackAdapter.cpp +546 -0
- package/worker/test/src/RTC/BWE/TestInterArrivalDelta.cpp +301 -0
- package/worker/test/src/RTC/BWE/TestLinkCapacityEstimator.cpp +115 -0
- package/worker/test/src/RTC/BWE/TestRobustThroughputEstimator.cpp +433 -0
- package/worker/test/src/RTC/BWE/TestSendPacketHistory.cpp +259 -0
- package/worker/test/src/RTC/BWE/TestTrendlineEstimator.cpp +137 -0
- package/worker/test/src/RTC/BWE/helpers/LinkSimulator.cpp +171 -0
- package/worker/test/src/RTC/RTCP/TestFeedbackPsRemb.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackRtpTmmb.cpp +1 -1
- package/worker/test/src/RTC/RTCP/TestFeedbackRtpTransport.cpp +246 -208
- package/worker/test/src/RTC/RTP/TestPacket.cpp +11 -11
- package/worker/test/src/RTC/RTP/TestRetransmissionBuffer.cpp +12 -12
- package/worker/test/src/RTC/RTP/TestRtpStreamRecv.cpp +23 -16
- package/worker/test/src/RTC/RTP/TestRtpStreamSend.cpp +13 -13
- package/worker/test/src/RTC/SCTP/association/TestAssociation.cpp +27 -22
- package/worker/test/src/RTC/SCTP/association/TestHeartbeatHandler.cpp +21 -15
- package/worker/test/src/RTC/SCTP/association/TestStateCookie.cpp +6 -6
- package/worker/test/src/RTC/SCTP/association/TestStreamResetHandler.cpp +17 -13
- package/worker/test/src/RTC/SCTP/association/TestTransmissionControlBlock.cpp +3 -3
- package/worker/test/src/RTC/SCTP/packet/chunks/TestForwardTsnChunk.cpp +2 -2
- package/worker/test/src/RTC/SCTP/packet/chunks/TestIForwardTsnChunk.cpp +23 -23
- package/worker/test/src/RTC/SCTP/packet/chunks/TestInitChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/chunks/TestSackChunk.cpp +1 -1
- package/worker/test/src/RTC/SCTP/packet/parameters/TestIPv6AddressParameter.cpp +1 -1
- package/worker/test/src/RTC/SCTP/rx/TestDataTracker.cpp +37 -37
- package/worker/test/src/RTC/SCTP/rx/TestInterleavedReassemblyStreams.cpp +10 -10
- package/worker/test/src/RTC/SCTP/rx/TestReassemblyQueue.cpp +1 -1
- package/worker/test/src/RTC/SCTP/tx/TestOutstandingData.cpp +93 -93
- package/worker/test/src/RTC/SCTP/tx/TestRetransmissionQueue.cpp +247 -247
- package/worker/test/src/RTC/SCTP/tx/TestRetransmissionTimeout.cpp +100 -80
- package/worker/test/src/RTC/SCTP/tx/TestRoundRobinSendQueue.cpp +163 -163
- package/worker/test/src/RTC/SCTP/tx/TestStreamScheduler.cpp +76 -77
- package/worker/test/src/RTC/TestConsumer.cpp +8 -3
- package/worker/test/src/RTC/TestKeyFrameRequestManager.cpp +3 -3
- package/worker/test/src/RTC/TestNackGenerator.cpp +3 -3
- package/worker/test/src/RTC/TestPipeProducerStreamManager.cpp +5 -5
- package/worker/test/src/RTC/TestRateCalculator.cpp +110 -14
- package/worker/test/src/RTC/TestRemoteCaptureTimeEstimator.cpp +22 -17
- package/worker/test/src/RTC/TestRemoteClockOffsetEstimator.cpp +87 -85
- package/worker/test/src/RTC/TestSimpleProducerStreamManager.cpp +54 -47
- package/worker/test/src/RTC/TestSimulcastProducerStreamManager.cpp +83 -69
- package/worker/test/src/RTC/TestSvcProducerStreamManager.cpp +76 -65
- package/worker/test/src/RTC/TestTransportCongestionControlServer.cpp +72 -66
- package/worker/test/src/RTC/TestTransportTuple.cpp +19 -4
- package/worker/test/src/TestDepLibUV.cpp +19 -0
- package/worker/test/src/Utils/TestTime.cpp +57 -26
- package/worker/test/src/testHelpers.cpp +1 -1
- package/worker/test/src/tests.cpp +6 -0
- package/worker/include/RTC/SenderBandwidthEstimator.hpp +0 -118
- package/worker/src/RTC/SenderBandwidthEstimator.cpp +0 -269
|
@@ -70,7 +70,7 @@ class Stats {
|
|
|
70
70
|
}
|
|
71
71
|
recvBitrate() {
|
|
72
72
|
const offset = this.bb.__offset(this.bb_pos, 12);
|
|
73
|
-
return offset ? this.bb.
|
|
73
|
+
return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
|
|
74
74
|
}
|
|
75
75
|
bytesSent() {
|
|
76
76
|
const offset = this.bb.__offset(this.bb_pos, 14);
|
|
@@ -78,7 +78,7 @@ class Stats {
|
|
|
78
78
|
}
|
|
79
79
|
sendBitrate() {
|
|
80
80
|
const offset = this.bb.__offset(this.bb_pos, 16);
|
|
81
|
-
return offset ? this.bb.
|
|
81
|
+
return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
|
|
82
82
|
}
|
|
83
83
|
rtpBytesReceived() {
|
|
84
84
|
const offset = this.bb.__offset(this.bb_pos, 18);
|
|
@@ -86,7 +86,7 @@ class Stats {
|
|
|
86
86
|
}
|
|
87
87
|
rtpRecvBitrate() {
|
|
88
88
|
const offset = this.bb.__offset(this.bb_pos, 20);
|
|
89
|
-
return offset ? this.bb.
|
|
89
|
+
return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
|
|
90
90
|
}
|
|
91
91
|
rtpBytesSent() {
|
|
92
92
|
const offset = this.bb.__offset(this.bb_pos, 22);
|
|
@@ -94,7 +94,7 @@ class Stats {
|
|
|
94
94
|
}
|
|
95
95
|
rtpSendBitrate() {
|
|
96
96
|
const offset = this.bb.__offset(this.bb_pos, 24);
|
|
97
|
-
return offset ? this.bb.
|
|
97
|
+
return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
|
|
98
98
|
}
|
|
99
99
|
rtxBytesReceived() {
|
|
100
100
|
const offset = this.bb.__offset(this.bb_pos, 26);
|
|
@@ -102,7 +102,7 @@ class Stats {
|
|
|
102
102
|
}
|
|
103
103
|
rtxRecvBitrate() {
|
|
104
104
|
const offset = this.bb.__offset(this.bb_pos, 28);
|
|
105
|
-
return offset ? this.bb.
|
|
105
|
+
return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
|
|
106
106
|
}
|
|
107
107
|
rtxBytesSent() {
|
|
108
108
|
const offset = this.bb.__offset(this.bb_pos, 30);
|
|
@@ -110,7 +110,7 @@ class Stats {
|
|
|
110
110
|
}
|
|
111
111
|
rtxSendBitrate() {
|
|
112
112
|
const offset = this.bb.__offset(this.bb_pos, 32);
|
|
113
|
-
return offset ? this.bb.
|
|
113
|
+
return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
|
|
114
114
|
}
|
|
115
115
|
probationBytesSent() {
|
|
116
116
|
const offset = this.bb.__offset(this.bb_pos, 34);
|
|
@@ -118,27 +118,27 @@ class Stats {
|
|
|
118
118
|
}
|
|
119
119
|
probationSendBitrate() {
|
|
120
120
|
const offset = this.bb.__offset(this.bb_pos, 36);
|
|
121
|
-
return offset ? this.bb.
|
|
121
|
+
return offset ? this.bb.readUint64(this.bb_pos + offset) : BigInt('0');
|
|
122
122
|
}
|
|
123
123
|
availableOutgoingBitrate() {
|
|
124
124
|
const offset = this.bb.__offset(this.bb_pos, 38);
|
|
125
|
-
return offset ? this.bb.
|
|
125
|
+
return offset ? this.bb.readUint64(this.bb_pos + offset) : null;
|
|
126
126
|
}
|
|
127
127
|
availableIncomingBitrate() {
|
|
128
128
|
const offset = this.bb.__offset(this.bb_pos, 40);
|
|
129
|
-
return offset ? this.bb.
|
|
129
|
+
return offset ? this.bb.readUint64(this.bb_pos + offset) : null;
|
|
130
130
|
}
|
|
131
131
|
maxIncomingBitrate() {
|
|
132
132
|
const offset = this.bb.__offset(this.bb_pos, 42);
|
|
133
|
-
return offset ? this.bb.
|
|
133
|
+
return offset ? this.bb.readUint64(this.bb_pos + offset) : null;
|
|
134
134
|
}
|
|
135
135
|
maxOutgoingBitrate() {
|
|
136
136
|
const offset = this.bb.__offset(this.bb_pos, 44);
|
|
137
|
-
return offset ? this.bb.
|
|
137
|
+
return offset ? this.bb.readUint64(this.bb_pos + offset) : null;
|
|
138
138
|
}
|
|
139
139
|
minOutgoingBitrate() {
|
|
140
140
|
const offset = this.bb.__offset(this.bb_pos, 46);
|
|
141
|
-
return offset ? this.bb.
|
|
141
|
+
return offset ? this.bb.readUint64(this.bb_pos + offset) : null;
|
|
142
142
|
}
|
|
143
143
|
rtpPacketLossReceived() {
|
|
144
144
|
const offset = this.bb.__offset(this.bb_pos, 48);
|
|
@@ -164,58 +164,58 @@ class Stats {
|
|
|
164
164
|
builder.addFieldInt64(3, bytesReceived, BigInt('0'));
|
|
165
165
|
}
|
|
166
166
|
static addRecvBitrate(builder, recvBitrate) {
|
|
167
|
-
builder.
|
|
167
|
+
builder.addFieldInt64(4, recvBitrate, BigInt('0'));
|
|
168
168
|
}
|
|
169
169
|
static addBytesSent(builder, bytesSent) {
|
|
170
170
|
builder.addFieldInt64(5, bytesSent, BigInt('0'));
|
|
171
171
|
}
|
|
172
172
|
static addSendBitrate(builder, sendBitrate) {
|
|
173
|
-
builder.
|
|
173
|
+
builder.addFieldInt64(6, sendBitrate, BigInt('0'));
|
|
174
174
|
}
|
|
175
175
|
static addRtpBytesReceived(builder, rtpBytesReceived) {
|
|
176
176
|
builder.addFieldInt64(7, rtpBytesReceived, BigInt('0'));
|
|
177
177
|
}
|
|
178
178
|
static addRtpRecvBitrate(builder, rtpRecvBitrate) {
|
|
179
|
-
builder.
|
|
179
|
+
builder.addFieldInt64(8, rtpRecvBitrate, BigInt('0'));
|
|
180
180
|
}
|
|
181
181
|
static addRtpBytesSent(builder, rtpBytesSent) {
|
|
182
182
|
builder.addFieldInt64(9, rtpBytesSent, BigInt('0'));
|
|
183
183
|
}
|
|
184
184
|
static addRtpSendBitrate(builder, rtpSendBitrate) {
|
|
185
|
-
builder.
|
|
185
|
+
builder.addFieldInt64(10, rtpSendBitrate, BigInt('0'));
|
|
186
186
|
}
|
|
187
187
|
static addRtxBytesReceived(builder, rtxBytesReceived) {
|
|
188
188
|
builder.addFieldInt64(11, rtxBytesReceived, BigInt('0'));
|
|
189
189
|
}
|
|
190
190
|
static addRtxRecvBitrate(builder, rtxRecvBitrate) {
|
|
191
|
-
builder.
|
|
191
|
+
builder.addFieldInt64(12, rtxRecvBitrate, BigInt('0'));
|
|
192
192
|
}
|
|
193
193
|
static addRtxBytesSent(builder, rtxBytesSent) {
|
|
194
194
|
builder.addFieldInt64(13, rtxBytesSent, BigInt('0'));
|
|
195
195
|
}
|
|
196
196
|
static addRtxSendBitrate(builder, rtxSendBitrate) {
|
|
197
|
-
builder.
|
|
197
|
+
builder.addFieldInt64(14, rtxSendBitrate, BigInt('0'));
|
|
198
198
|
}
|
|
199
199
|
static addProbationBytesSent(builder, probationBytesSent) {
|
|
200
200
|
builder.addFieldInt64(15, probationBytesSent, BigInt('0'));
|
|
201
201
|
}
|
|
202
202
|
static addProbationSendBitrate(builder, probationSendBitrate) {
|
|
203
|
-
builder.
|
|
203
|
+
builder.addFieldInt64(16, probationSendBitrate, BigInt('0'));
|
|
204
204
|
}
|
|
205
205
|
static addAvailableOutgoingBitrate(builder, availableOutgoingBitrate) {
|
|
206
|
-
builder.
|
|
206
|
+
builder.addFieldInt64(17, availableOutgoingBitrate, null);
|
|
207
207
|
}
|
|
208
208
|
static addAvailableIncomingBitrate(builder, availableIncomingBitrate) {
|
|
209
|
-
builder.
|
|
209
|
+
builder.addFieldInt64(18, availableIncomingBitrate, null);
|
|
210
210
|
}
|
|
211
211
|
static addMaxIncomingBitrate(builder, maxIncomingBitrate) {
|
|
212
|
-
builder.
|
|
212
|
+
builder.addFieldInt64(19, maxIncomingBitrate, null);
|
|
213
213
|
}
|
|
214
214
|
static addMaxOutgoingBitrate(builder, maxOutgoingBitrate) {
|
|
215
|
-
builder.
|
|
215
|
+
builder.addFieldInt64(20, maxOutgoingBitrate, null);
|
|
216
216
|
}
|
|
217
217
|
static addMinOutgoingBitrate(builder, minOutgoingBitrate) {
|
|
218
|
-
builder.
|
|
218
|
+
builder.addFieldInt64(21, minOutgoingBitrate, null);
|
|
219
219
|
}
|
|
220
220
|
static addRtpPacketLossReceived(builder, rtpPacketLossReceived) {
|
|
221
221
|
builder.addFieldFloat64(22, rtpPacketLossReceived, null);
|
|
@@ -320,7 +320,7 @@ class StatsT {
|
|
|
320
320
|
minOutgoingBitrate;
|
|
321
321
|
rtpPacketLossReceived;
|
|
322
322
|
rtpPacketLossSent;
|
|
323
|
-
constructor(transportId = null, timestamp = BigInt('0'), sctpState = null, bytesReceived = BigInt('0'), recvBitrate = 0, bytesSent = BigInt('0'), sendBitrate = 0, rtpBytesReceived = BigInt('0'), rtpRecvBitrate = 0, rtpBytesSent = BigInt('0'), rtpSendBitrate = 0, rtxBytesReceived = BigInt('0'), rtxRecvBitrate = 0, rtxBytesSent = BigInt('0'), rtxSendBitrate = 0, probationBytesSent = BigInt('0'), probationSendBitrate = 0, availableOutgoingBitrate = null, availableIncomingBitrate = null, maxIncomingBitrate = null, maxOutgoingBitrate = null, minOutgoingBitrate = null, rtpPacketLossReceived = null, rtpPacketLossSent = null) {
|
|
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) {
|
|
324
324
|
this.transportId = transportId;
|
|
325
325
|
this.timestamp = timestamp;
|
|
326
326
|
this.sctpState = sctpState;
|
package/node/lib/ortc.d.ts
CHANGED
package/node/lib/ortc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ortc.d.ts","sourceRoot":"","sources":["../src/ortc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,WAAW,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EACX,eAAe,EACf,qBAAqB,EAGrB,wBAAwB,EAExB,aAAa,EAMb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAKlE,MAAM,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;IACJ,SAAS,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,
|
|
1
|
+
{"version":3,"file":"ortc.d.ts","sourceRoot":"","sources":["../src/ortc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,WAAW,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EACX,eAAe,EACf,qBAAqB,EAGrB,wBAAwB,EAExB,aAAa,EAMb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAKlE,MAAM,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;IACJ,SAAS,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACJ,CAAC;AAoBF;;;;GAIG;AACH,wBAAgB,mCAAmC,CAClD,IAAI,EAAE,eAAe,GAAG,qBAAqB,GAC3C,IAAI,CA0BN;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAsD7E;AAED;;;;GAIG;AACH,wBAAgB,wCAAwC,CACvD,MAAM,EAAE,oBAAoB,GAC1B,IAAI,CAoDN;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC5C,WAAW,GAAE,wBAAwB,EAAO,GAC1C,eAAe,CA+HjB;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC9C,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,eAAe,GACnB,yBAAyB,CAwF3B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,eAAe,EACrB,UAAU,EAAE,yBAAyB,GACnC,aAAa,CA+Gf;AAED;;GAEG;AACH,wBAAgB,UAAU,CACzB,gBAAgB,EAAE,aAAa,EAC/B,IAAI,EAAE,eAAe,GACnB,OAAO,CAwBT;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,EACxC,uBAAuB,EACvB,qBAAqB,EACrB,IAAI,EACJ,SAAS,GACT,EAAE;IACF,uBAAuB,EAAE,aAAa,CAAC;IACvC,qBAAqB,EAAE,eAAe,CAAC;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACnB,GAAG,aAAa,CAiLhB;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,EAC5C,uBAAuB,EACvB,SAAS,GACT,EAAE;IACF,uBAAuB,EAAE,aAAa,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;CACnB,GAAG,aAAa,CA4EhB;AAED,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,WAAW,CAAC,OAAO,EAC5B,UAAU,EAAE,yBAAyB,GACnC,MAAM,CAwCR"}
|
package/node/lib/ortc.js
CHANGED
|
@@ -333,7 +333,6 @@ function getProducerRtpParametersMapping(params, caps) {
|
|
|
333
333
|
const mappedEncoding = {
|
|
334
334
|
ssrc: encoding.ssrc,
|
|
335
335
|
rid: encoding.rid,
|
|
336
|
-
scalabilityMode: encoding.scalabilityMode,
|
|
337
336
|
mappedSsrc: mappedSsrc++,
|
|
338
337
|
};
|
|
339
338
|
rtpMapping.encodings.push(mappedEncoding);
|
|
@@ -628,7 +627,7 @@ function serializeRtpMapping(builder, rtpMapping) {
|
|
|
628
627
|
const codecsOffset = FbsRtpParameters.RtpMapping.createCodecsVector(builder, codecs);
|
|
629
628
|
const encodings = [];
|
|
630
629
|
for (const encoding of rtpMapping.encodings) {
|
|
631
|
-
encodings.push(FbsRtpParameters.EncodingMapping.createEncodingMapping(builder, builder.createString(encoding.rid), encoding.ssrc ?? null,
|
|
630
|
+
encodings.push(FbsRtpParameters.EncodingMapping.createEncodingMapping(builder, builder.createString(encoding.rid), encoding.ssrc ?? null, encoding.mappedSsrc));
|
|
632
631
|
}
|
|
633
632
|
const encodingsOffset = FbsRtpParameters.RtpMapping.createEncodingsVector(builder, encodings);
|
|
634
633
|
return FbsRtpParameters.RtpMapping.createRtpMapping(builder, codecsOffset, encodingsOffset);
|
|
@@ -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,
|
|
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,CAkDvB;AAED,wBAAgB,0BAA0B,CACzC,GAAG,EAAE,qBAAqB,GACxB,wBAAwB,CAsD1B;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"}
|
|
@@ -129,7 +129,7 @@ function serializeRtpEncodingParameters(builder, rtpEncodingParameters = []) {
|
|
|
129
129
|
}
|
|
130
130
|
// Add max bitrate.
|
|
131
131
|
if (encoding.maxBitrate !== undefined) {
|
|
132
|
-
rtp_parameters_1.RtpEncodingParameters.addMaxBitrate(builder, encoding.maxBitrate);
|
|
132
|
+
rtp_parameters_1.RtpEncodingParameters.addMaxBitrate(builder, BigInt(encoding.maxBitrate));
|
|
133
133
|
}
|
|
134
134
|
// End serialization.
|
|
135
135
|
encodings.push(rtp_parameters_1.RtpEncodingParameters.endRtpEncodingParameters(builder));
|
|
@@ -332,7 +332,7 @@ function parseRtpEncodingParameters(data) {
|
|
|
332
332
|
rtx: data.rtx() ? { ssrc: data.rtx().ssrc() } : undefined,
|
|
333
333
|
dtx: data.dtx(),
|
|
334
334
|
scalabilityMode: data.scalabilityMode() || undefined,
|
|
335
|
-
maxBitrate: data.maxBitrate() !== null ? data.maxBitrate() : undefined,
|
|
335
|
+
maxBitrate: data.maxBitrate() !== null ? Number(data.maxBitrate()) : undefined,
|
|
336
336
|
};
|
|
337
337
|
}
|
|
338
338
|
function parseRtpParameters(data) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mediasoup",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.27.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,22 @@
|
|
|
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.
|
|
125
|
-
"eslint": "^10.
|
|
124
|
+
"@types/node": "^26.5.1",
|
|
125
|
+
"eslint": "^10.10.0",
|
|
126
126
|
"eslint-config-prettier": "^10.1.8",
|
|
127
|
-
"eslint-plugin-jest": "^29.16.
|
|
127
|
+
"eslint-plugin-jest": "^29.16.6",
|
|
128
128
|
"eslint-plugin-prettier": "^5.5.6",
|
|
129
|
-
"globals": "^17.
|
|
129
|
+
"globals": "^17.12.0",
|
|
130
130
|
"ini": "^7.0.0",
|
|
131
|
-
"jest": "^30.
|
|
132
|
-
"knip": "^6.
|
|
133
|
-
"marked": "^18.0.
|
|
131
|
+
"jest": "^30.5.1",
|
|
132
|
+
"knip": "^6.35.1",
|
|
133
|
+
"marked": "^18.0.13",
|
|
134
134
|
"open-cli": "^9.0.0",
|
|
135
135
|
"pick-port": "^2.2.1",
|
|
136
136
|
"prettier": "^3.9.6",
|
|
137
137
|
"ts-jest": "^29.4.12",
|
|
138
138
|
"typescript": "^6.0.3",
|
|
139
|
-
"typescript-eslint": "^8.
|
|
139
|
+
"typescript-eslint": "^8.70.0",
|
|
140
140
|
"werift-sctp": "^0.0.11"
|
|
141
141
|
}
|
|
142
142
|
}
|
|
@@ -36,7 +36,7 @@ TargetRateConstraints ConvertConstraints(int min_bitrate_bps,
|
|
|
36
36
|
int max_bitrate_bps,
|
|
37
37
|
int start_bitrate_bps) {
|
|
38
38
|
TargetRateConstraints msg;
|
|
39
|
-
msg.at_time = Timestamp::ms(DepLibUV::
|
|
39
|
+
msg.at_time = Timestamp::ms(DepLibUV::GetTimeMs());
|
|
40
40
|
msg.min_data_rate =
|
|
41
41
|
min_bitrate_bps >= 0 ? DataRate::bps(min_bitrate_bps) : DataRate::Zero();
|
|
42
42
|
msg.max_data_rate = max_bitrate_bps > 0 ? DataRate::bps(max_bitrate_bps)
|
|
@@ -63,7 +63,7 @@ RtpTransportControllerSend::RtpTransportControllerSend(
|
|
|
63
63
|
observer_(nullptr),
|
|
64
64
|
controller_factory_override_(controller_factory),
|
|
65
65
|
process_interval_(controller_factory_override_->GetProcessInterval()),
|
|
66
|
-
last_report_block_time_(Timestamp::ms(DepLibUV::
|
|
66
|
+
last_report_block_time_(Timestamp::ms(DepLibUV::GetTimeMs())),
|
|
67
67
|
send_side_bwe_with_overhead_(
|
|
68
68
|
webrtc::field_trial::IsEnabled("WebRTC-SendSideBwe-WithOverhead")),
|
|
69
69
|
transport_overhead_bytes_per_packet_(0),
|
|
@@ -147,7 +147,7 @@ void RtpTransportControllerSend::OnNetworkAvailability(bool network_available) {
|
|
|
147
147
|
MS_DEBUG_DEV("<<<<< network_available:%s", network_available ? "true" : "false");
|
|
148
148
|
|
|
149
149
|
NetworkAvailability msg;
|
|
150
|
-
msg.at_time = Timestamp::ms(DepLibUV::
|
|
150
|
+
msg.at_time = Timestamp::ms(DepLibUV::GetTimeMs());
|
|
151
151
|
msg.network_available = network_available;
|
|
152
152
|
|
|
153
153
|
if (network_available_ == msg.network_available)
|
|
@@ -200,7 +200,7 @@ void RtpTransportControllerSend::OnReceivedEstimatedBitrate(uint32_t bitrate) {
|
|
|
200
200
|
MS_DEBUG_DEV("<<<<< bitrate:%zu", bitrate);
|
|
201
201
|
|
|
202
202
|
RemoteBitrateReport msg;
|
|
203
|
-
msg.receive_time = Timestamp::ms(DepLibUV::
|
|
203
|
+
msg.receive_time = Timestamp::ms(DepLibUV::GetTimeMs());
|
|
204
204
|
msg.bandwidth = DataRate::bps(bitrate);
|
|
205
205
|
|
|
206
206
|
PostUpdates(controller_->OnRemoteBitrateReport(msg));
|
|
@@ -228,7 +228,7 @@ void RtpTransportControllerSend::OnAddPacket(
|
|
|
228
228
|
packet_info,
|
|
229
229
|
send_side_bwe_with_overhead_ ? transport_overhead_bytes_per_packet_.load()
|
|
230
230
|
: 0,
|
|
231
|
-
Timestamp::ms(DepLibUV::
|
|
231
|
+
Timestamp::ms(DepLibUV::GetTimeMs()));
|
|
232
232
|
}
|
|
233
233
|
|
|
234
234
|
void RtpTransportControllerSend::OnTransportFeedback(
|
|
@@ -237,7 +237,7 @@ void RtpTransportControllerSend::OnTransportFeedback(
|
|
|
237
237
|
|
|
238
238
|
absl::optional<TransportPacketsFeedback> feedback_msg =
|
|
239
239
|
transport_feedback_adapter_.ProcessTransportFeedback(
|
|
240
|
-
feedback, Timestamp::ms(DepLibUV::
|
|
240
|
+
feedback, Timestamp::ms(DepLibUV::GetTimeMs()));
|
|
241
241
|
if (feedback_msg)
|
|
242
242
|
PostUpdates(controller_->OnTransportPacketsFeedback(*feedback_msg));
|
|
243
243
|
pacer_.UpdateOutstandingData(
|
|
@@ -246,7 +246,7 @@ void RtpTransportControllerSend::OnTransportFeedback(
|
|
|
246
246
|
|
|
247
247
|
void RtpTransportControllerSend::OnRemoteNetworkEstimate(
|
|
248
248
|
NetworkStateEstimate estimate) {
|
|
249
|
-
estimate.update_time = Timestamp::ms(DepLibUV::
|
|
249
|
+
estimate.update_time = Timestamp::ms(DepLibUV::GetTimeMs());
|
|
250
250
|
controller_->OnNetworkStateEstimate(estimate);
|
|
251
251
|
}
|
|
252
252
|
|
|
@@ -268,7 +268,7 @@ void RtpTransportControllerSend::MaybeCreateControllers() {
|
|
|
268
268
|
control_handler_ = absl::make_unique<CongestionControlHandler>();
|
|
269
269
|
|
|
270
270
|
initial_config_.constraints.at_time =
|
|
271
|
-
Timestamp::ms(DepLibUV::
|
|
271
|
+
Timestamp::ms(DepLibUV::GetTimeMs());
|
|
272
272
|
|
|
273
273
|
controller_ = controller_factory_override_->Create(initial_config_);
|
|
274
274
|
process_interval_ = controller_factory_override_->GetProcessInterval();
|
|
@@ -283,7 +283,7 @@ void RtpTransportControllerSend::UpdateControllerWithTimeInterval() {
|
|
|
283
283
|
MS_ASSERT(controller_, "controller not set");
|
|
284
284
|
|
|
285
285
|
ProcessInterval msg;
|
|
286
|
-
msg.at_time = Timestamp::ms(DepLibUV::
|
|
286
|
+
msg.at_time = Timestamp::ms(DepLibUV::GetTimeMs());
|
|
287
287
|
|
|
288
288
|
PostUpdates(controller_->OnProcessInterval(msg));
|
|
289
289
|
}
|
|
@@ -291,7 +291,7 @@ void RtpTransportControllerSend::UpdateControllerWithTimeInterval() {
|
|
|
291
291
|
void RtpTransportControllerSend::UpdateStreamsConfig() {
|
|
292
292
|
MS_DEBUG_DEV("<<<<<");
|
|
293
293
|
|
|
294
|
-
streams_config_.at_time = Timestamp::ms(DepLibUV::
|
|
294
|
+
streams_config_.at_time = Timestamp::ms(DepLibUV::GetTimeMs());
|
|
295
295
|
if (controller_)
|
|
296
296
|
PostUpdates(controller_->OnStreamsConfig(streams_config_));
|
|
297
297
|
}
|
|
@@ -18,11 +18,11 @@ namespace mediasoup_helpers
|
|
|
18
18
|
{
|
|
19
19
|
std::vector<webrtc::rtcp::ReceivedPacket> receivedPackets;
|
|
20
20
|
|
|
21
|
-
for (auto&
|
|
21
|
+
for (auto& packetStatus : packet->GetPacketStatuses())
|
|
22
22
|
{
|
|
23
|
-
if (
|
|
23
|
+
if (packetStatus.received)
|
|
24
24
|
{
|
|
25
|
-
receivedPackets.emplace_back(
|
|
25
|
+
receivedPackets.emplace_back(packetStatus.sequenceNumber, packetStatus.delta);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
|
|
@@ -30,11 +30,11 @@ namespace mediasoup_helpers
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
|
-
* Get the reference time in microseconds
|
|
33
|
+
* Get the reference time in microseconds.
|
|
34
34
|
*/
|
|
35
35
|
int64_t GetBaseTimeUs(const RTC::RTCP::FeedbackRtpTransportPacket* packet)
|
|
36
36
|
{
|
|
37
|
-
return packet->
|
|
37
|
+
return packet->GetReferenceTimestampUs();
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
/**
|
|
@@ -42,7 +42,7 @@ namespace mediasoup_helpers
|
|
|
42
42
|
*/
|
|
43
43
|
int64_t GetBaseDeltaUs(const RTC::RTCP::FeedbackRtpTransportPacket* packet, int64_t prev_timestamp_us)
|
|
44
44
|
{
|
|
45
|
-
return packet->
|
|
45
|
+
return packet->GetBaseDeltaUs(prev_timestamp_us);
|
|
46
46
|
}
|
|
47
47
|
} // namespace FeedbackRtpTransport
|
|
48
48
|
} // namespace mediasoup_helpers
|
package/worker/deps/libwebrtc/libwebrtc/modules/congestion_controller/goog_cc/alr_detector.cc
CHANGED
|
@@ -90,7 +90,7 @@ void AlrDetector::OnBytesSent(size_t bytes_sent, int64_t send_time_ms) {
|
|
|
90
90
|
bool state_changed = false;
|
|
91
91
|
if (alr_budget_.budget_ratio() > start_budget_level_ratio_ &&
|
|
92
92
|
!alr_started_time_ms_) {
|
|
93
|
-
alr_started_time_ms_.emplace(DepLibUV::
|
|
93
|
+
alr_started_time_ms_.emplace(DepLibUV::GetTimeMs());
|
|
94
94
|
state_changed = true;
|
|
95
95
|
} else if (alr_budget_.budget_ratio() < stop_budget_level_ratio_ &&
|
|
96
96
|
alr_started_time_ms_) {
|
|
@@ -53,7 +53,7 @@ PacedSender::PacedSender(PacketRouter* packet_router,
|
|
|
53
53
|
prober_(*field_trials_),
|
|
54
54
|
probing_send_failure_(false),
|
|
55
55
|
pacing_bitrate_kbps_(0),
|
|
56
|
-
time_last_process_us_(DepLibUV::
|
|
56
|
+
time_last_process_us_(DepLibUV::GetTimeUs()),
|
|
57
57
|
first_sent_packet_ms_(-1),
|
|
58
58
|
packet_counter_(0),
|
|
59
59
|
account_for_audio_(false) {
|
|
@@ -66,7 +66,7 @@ void PacedSender::CreateProbeCluster(int bitrate_bps, int cluster_id) {
|
|
|
66
66
|
// TODO: REMOVE
|
|
67
67
|
// MS_DEBUG_DEV("---- bitrate_bps:%d, cluster_id:%d", bitrate_bps, cluster_id);
|
|
68
68
|
|
|
69
|
-
prober_.CreateProbeCluster(bitrate_bps, DepLibUV::
|
|
69
|
+
prober_.CreateProbeCluster(bitrate_bps, DepLibUV::GetTimeMs(), cluster_id);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
void PacedSender::Pause() {
|
|
@@ -147,7 +147,7 @@ void PacedSender::SetAccountForAudioPackets(bool account_for_audio) {
|
|
|
147
147
|
|
|
148
148
|
int64_t PacedSender::TimeUntilNextProcess() {
|
|
149
149
|
int64_t elapsed_time_us =
|
|
150
|
-
DepLibUV::
|
|
150
|
+
DepLibUV::GetTimeUs() - time_last_process_us_;
|
|
151
151
|
int64_t elapsed_time_ms = (elapsed_time_us + 500) / 1000;
|
|
152
152
|
// When paused we wake up every 500 ms to send a padding packet to ensure
|
|
153
153
|
// we won't get stuck in the paused state due to no feedback being received.
|
|
@@ -155,7 +155,7 @@ int64_t PacedSender::TimeUntilNextProcess() {
|
|
|
155
155
|
return std::max<int64_t>(kPausedProcessIntervalMs - elapsed_time_ms, 0);
|
|
156
156
|
|
|
157
157
|
if (prober_.IsProbing()) {
|
|
158
|
-
int64_t ret = prober_.TimeUntilNextProbe(DepLibUV::
|
|
158
|
+
int64_t ret = prober_.TimeUntilNextProbe(DepLibUV::GetTimeMs());
|
|
159
159
|
if (ret > 0 || (ret == 0 && !probing_send_failure_))
|
|
160
160
|
return ret;
|
|
161
161
|
}
|
|
@@ -176,7 +176,7 @@ int64_t PacedSender::UpdateTimeAndGetElapsedMs(int64_t now_us) {
|
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
void PacedSender::Process() {
|
|
179
|
-
int64_t now_us = DepLibUV::
|
|
179
|
+
int64_t now_us = DepLibUV::GetTimeUs();
|
|
180
180
|
int64_t elapsed_time_ms = UpdateTimeAndGetElapsedMs(now_us);
|
|
181
181
|
|
|
182
182
|
if (paused_)
|
|
@@ -230,7 +230,7 @@ void PacedSender::Process() {
|
|
|
230
230
|
|
|
231
231
|
if (bytes_sent != 0)
|
|
232
232
|
{
|
|
233
|
-
auto now = DepLibUV::
|
|
233
|
+
auto now = DepLibUV::GetTimeUs();
|
|
234
234
|
|
|
235
235
|
OnPaddingSent(now, bytes_sent);
|
|
236
236
|
prober_.ProbeSent((now + 500) / 1000, bytes_sent);
|
|
@@ -265,7 +265,7 @@ size_t PacedSender::PaddingBytesToAdd(
|
|
|
265
265
|
|
|
266
266
|
void PacedSender::OnPacketSent(size_t size) {
|
|
267
267
|
if (first_sent_packet_ms_ == -1)
|
|
268
|
-
first_sent_packet_ms_ = DepLibUV::
|
|
268
|
+
first_sent_packet_ms_ = DepLibUV::GetTimeMs();
|
|
269
269
|
|
|
270
270
|
// Update media bytes sent.
|
|
271
271
|
UpdateBudgetWithBytesSent(size);
|
|
@@ -36,7 +36,7 @@ class RemoteBitrateObserver {
|
|
|
36
36
|
virtual void OnRembServerAvailableBitrate(
|
|
37
37
|
const RemoteBitrateEstimator* remoteBitrateEstimator,
|
|
38
38
|
const std::vector<uint32_t>& ssrcs,
|
|
39
|
-
|
|
39
|
+
int64_t availableBitrate) = 0;
|
|
40
40
|
|
|
41
41
|
virtual ~RemoteBitrateObserver() {}
|
|
42
42
|
};
|
|
@@ -252,7 +252,7 @@ void RemoteBitrateEstimatorAbsSendTime::IncomingPacketInfo(
|
|
|
252
252
|
uint32_t timestamp = send_time_24bits << kAbsSendTimeInterArrivalUpshift;
|
|
253
253
|
int64_t send_time_ms = static_cast<int64_t>(timestamp) * kTimestampToMs;
|
|
254
254
|
|
|
255
|
-
int64_t now_ms = DepLibUV::
|
|
255
|
+
int64_t now_ms = DepLibUV::GetTimeMs();
|
|
256
256
|
// TODO(holmer): SSRCs are only needed for REMB, should be broken out from
|
|
257
257
|
// here.
|
|
258
258
|
|
|
@@ -94,7 +94,7 @@ table RtpEncodingParameters {
|
|
|
94
94
|
rtx: Rtx;
|
|
95
95
|
dtx: bool = false;
|
|
96
96
|
scalability_mode: string;
|
|
97
|
-
max_bitrate:
|
|
97
|
+
max_bitrate: uint64 = null;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
table RtcpParameters {
|
|
@@ -119,7 +119,6 @@ table CodecMapping {
|
|
|
119
119
|
table EncodingMapping {
|
|
120
120
|
rid: string;
|
|
121
121
|
ssrc: uint32 = null;
|
|
122
|
-
scalability_mode: string;
|
|
123
122
|
mapped_ssrc: uint32;
|
|
124
123
|
}
|
|
125
124
|
|
package/worker/fbs/rtpStream.fbs
CHANGED
|
@@ -30,7 +30,7 @@ table Dump {
|
|
|
30
30
|
|
|
31
31
|
table BitrateByLayer {
|
|
32
32
|
layer: string (required);
|
|
33
|
-
bitrate:
|
|
33
|
+
bitrate: uint64;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
union StatsData {
|
|
@@ -69,7 +69,7 @@ table RecvStats {
|
|
|
69
69
|
base: Stats (required);
|
|
70
70
|
packet_count: uint64;
|
|
71
71
|
byte_count: uint64;
|
|
72
|
-
bitrate:
|
|
72
|
+
bitrate: uint64;
|
|
73
73
|
bitrate_by_layer: [BitrateByLayer] (required);
|
|
74
74
|
}
|
|
75
75
|
|
|
@@ -77,6 +77,6 @@ table SendStats {
|
|
|
77
77
|
base: Stats (required);
|
|
78
78
|
packet_count: uint64;
|
|
79
79
|
byte_count: uint64;
|
|
80
|
-
bitrate:
|
|
80
|
+
bitrate: uint64;
|
|
81
81
|
}
|
|
82
82
|
|
package/worker/fbs/transport.fbs
CHANGED
|
@@ -123,7 +123,7 @@ table RecvRtpHeaderExtensions {
|
|
|
123
123
|
|
|
124
124
|
table Options {
|
|
125
125
|
direct: bool = false;
|
|
126
|
-
initial_available_outgoing_bitrate:
|
|
126
|
+
initial_available_outgoing_bitrate: uint64 = null;
|
|
127
127
|
enable_sctp: bool = false;
|
|
128
128
|
max_send_message_size: uint32;
|
|
129
129
|
max_receive_message_size: uint32;
|
|
@@ -164,38 +164,38 @@ table Stats {
|
|
|
164
164
|
timestamp: uint64;
|
|
165
165
|
sctp_state: FBS.SctpAssociation.SctpState = null;
|
|
166
166
|
bytes_received: uint64;
|
|
167
|
-
recv_bitrate:
|
|
167
|
+
recv_bitrate: uint64;
|
|
168
168
|
bytes_sent: uint64;
|
|
169
|
-
send_bitrate:
|
|
169
|
+
send_bitrate: uint64;
|
|
170
170
|
rtp_bytes_received: uint64;
|
|
171
|
-
rtp_recv_bitrate:
|
|
171
|
+
rtp_recv_bitrate: uint64;
|
|
172
172
|
rtp_bytes_sent: uint64;
|
|
173
|
-
rtp_send_bitrate:
|
|
173
|
+
rtp_send_bitrate: uint64;
|
|
174
174
|
rtx_bytes_received: uint64;
|
|
175
|
-
rtx_recv_bitrate:
|
|
175
|
+
rtx_recv_bitrate: uint64;
|
|
176
176
|
rtx_bytes_sent: uint64;
|
|
177
|
-
rtx_send_bitrate:
|
|
177
|
+
rtx_send_bitrate: uint64;
|
|
178
178
|
probation_bytes_sent: uint64;
|
|
179
|
-
probation_send_bitrate:
|
|
180
|
-
available_outgoing_bitrate:
|
|
181
|
-
available_incoming_bitrate:
|
|
182
|
-
max_incoming_bitrate:
|
|
183
|
-
max_outgoing_bitrate:
|
|
184
|
-
min_outgoing_bitrate:
|
|
179
|
+
probation_send_bitrate: uint64;
|
|
180
|
+
available_outgoing_bitrate: uint64 = null;
|
|
181
|
+
available_incoming_bitrate: uint64 = null;
|
|
182
|
+
max_incoming_bitrate: uint64 = null;
|
|
183
|
+
max_outgoing_bitrate: uint64 = null;
|
|
184
|
+
min_outgoing_bitrate: uint64 = null;
|
|
185
185
|
rtp_packet_loss_received: float64 = null;
|
|
186
186
|
rtp_packet_loss_sent: float64 = null;
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
table SetMaxIncomingBitrateRequest {
|
|
190
|
-
max_incoming_bitrate:
|
|
190
|
+
max_incoming_bitrate: uint64;
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
table SetMaxOutgoingBitrateRequest {
|
|
194
|
-
max_outgoing_bitrate:
|
|
194
|
+
max_outgoing_bitrate: uint64;
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
table SetMinOutgoingBitrateRequest {
|
|
198
|
-
min_outgoing_bitrate:
|
|
198
|
+
min_outgoing_bitrate: uint64;
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
table EnableTraceEventRequest {
|
|
@@ -245,13 +245,13 @@ enum BweType: uint8 {
|
|
|
245
245
|
|
|
246
246
|
table BweTraceInfo {
|
|
247
247
|
bwe_type: BweType;
|
|
248
|
-
desired_bitrate:
|
|
249
|
-
effective_desired_bitrate:
|
|
250
|
-
min_bitrate:
|
|
251
|
-
max_bitrate:
|
|
252
|
-
start_bitrate:
|
|
253
|
-
max_padding_bitrate:
|
|
254
|
-
available_bitrate:
|
|
248
|
+
desired_bitrate: uint64;
|
|
249
|
+
effective_desired_bitrate: uint64;
|
|
250
|
+
min_bitrate: uint64;
|
|
251
|
+
max_bitrate: uint64;
|
|
252
|
+
start_bitrate: uint64;
|
|
253
|
+
max_padding_bitrate: uint64;
|
|
254
|
+
available_bitrate: uint64;
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
table TraceNotification {
|
|
@@ -24,7 +24,10 @@ namespace FuzzerRtcDtlsTransport
|
|
|
24
24
|
void OnDtlsTransportSendData(
|
|
25
25
|
const RTC::DtlsTransport* dtlsTransport, const uint8_t* data, size_t len) override;
|
|
26
26
|
void OnDtlsTransportApplicationDataReceived(
|
|
27
|
-
const RTC::DtlsTransport* dtlsTransport,
|
|
27
|
+
const RTC::DtlsTransport* dtlsTransport,
|
|
28
|
+
const uint8_t* data,
|
|
29
|
+
size_t len,
|
|
30
|
+
int64_t receivedAtUs) override;
|
|
28
31
|
};
|
|
29
32
|
|
|
30
33
|
void Fuzz(const uint8_t* data, size_t len);
|
|
@@ -92,8 +92,10 @@ void FuzzerUtils::Fuzz(const uint8_t* data, size_t len)
|
|
|
92
92
|
|
|
93
93
|
/* Time class. */
|
|
94
94
|
|
|
95
|
-
auto ntp = Utils::Time::
|
|
95
|
+
auto ntp = Utils::Time::TimeUs2Ntp(static_cast<int64_t>(len));
|
|
96
96
|
|
|
97
|
-
Utils::Time::
|
|
98
|
-
Utils::Time::
|
|
97
|
+
Utils::Time::Ntp2TimeUs(ntp);
|
|
98
|
+
Utils::Time::TimeUsToAbsSendTime(static_cast<int64_t>(len));
|
|
99
|
+
Utils::Time::Q32x32ToTimeUs(static_cast<int64_t>(len));
|
|
100
|
+
Utils::Time::TimeUs2Q32x32(static_cast<int64_t>(len));
|
|
99
101
|
}
|