![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/local/lib/node_modules/mediasoup/ |
Upload File : |
Down Peaks: worker/deps/libwebrtc/libwebrtc/modules/congestion_controller/goog_cc/trendline_estimator.cc `TrendlineEstimator::Update()` Trendline esimator determines a BW Overuse given that the accumulated delay increases. Difference between sending and receiving deltas. Delay referring to the RTP packet reception time given in the RTCP feedback packet. Delay is calculated as a difference bettween the send time deltas for RTP packets and the received time deltas of such RTP packets. Deltas are calculated by inter arrival: worker/deps/libwebrtc/libwebrtc/modules/congestion_controller/goog_cc/trendline_estimator.cc For each RTP packet represented in the RTCP feedback packet, send and receive deltas are calculated. Inter arrival is called by delay based bwe: worker/deps/libwebrtc/libwebrtc/modules/congestion_controller/goog_cc/delay_based_bwe.cc Trendline esimator calculation: smoothing_coef_ = 0.9 0.9 > smoothed_delay_ = 5 5 > accumulated_delay_ = 10 10 > libwebrtc_trendline_update = function() { smoothed_delay_ = smoothing_coef_ * smoothed_delay_ + (1 - smoothing_coef_) * accumulated_delay_; } [Function: libwebrtc_trendline_update] > print = function () {console.log(`accumulated_delay_:${accumulated_delay_}, smoothed_delay_:${smoothed_delay_}`);} [Function: print] > > libwebrtc_trendline_update(); print(); accumulated_delay_:10, smoothed_delay_:5.5 undefined > libwebrtc_trendline_update(); print(); accumulated_delay_:10, smoothed_delay_:5.95 undefined > libwebrtc_trendline_update(); print(); accumulated_delay_:10, smoothed_delay_:6.355 undefined > libwebrtc_trendline_update(); print(); accumulated_delay_:10, smoothed_delay_:6.719500000000001 undefined > libwebrtc_trendline_update(); print(); accumulated_delay_:10, smoothed_delay_:7.047550000000001 undefined > libwebrtc_trendline_update(); print(); accumulated_delay_:10, smoothed_delay_:7.3427950000000015 undefined > libwebrtc_trendline_update(); print(); accumulated_delay_:10, smoothed_delay_:7.608515500000001 undefined > libwebrtc_trendline_update(); print(); accumulated_delay_:10, smoothed_delay_:7.847663950000001 undefined // Smoothed delay calculation: accumulated_delay_=21.998566; smoothed_delay_=20.216605 accumulated_delay_=36.001434; smoothed_delay_=21.795088 accumulated_delay_=148.998993; smoothed_delay_=34.515478 accumulated_delay_=95.001984; smoothed_delay_=40.564129