Bug 1952339 - Vendor libwebrtc from 9494d02c03

Upstream commit: https://webrtc.googlesource.com/src/+/9494d02c038ee5d0748285ce59a4424f97600dba
    Move moving_average.h to webrtc namespace

    Bug: webrtc:42232595
    Change-Id: Ieb0e3fe1cb2b93c7f41f33d1a9663965251424f8
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/377782
    Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
    Reviewed-by: Harald Alvestrand <hta@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#43978}

Differential Revision: https://phabricator.services.mozilla.com/D243983
This commit is contained in:
Michael Froman
2025-03-07 16:27:08 -06:00
parent 83982f35cb
commit b1a6b6e39a
6 changed files with 22 additions and 17 deletions

View File

@@ -1,4 +1,4 @@
# ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc # ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc
libwebrtc updated from /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-03-07T22:26:04.421669+00:00. libwebrtc updated from /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-03-07T22:26:58.460825+00:00.
# base of lastest vendoring # base of lastest vendoring
8e14ab0310 9494d02c03

View File

@@ -88,10 +88,9 @@ class QualityScaler {
VideoEncoder::QpThresholds thresholds_ RTC_GUARDED_BY(&task_checker_); VideoEncoder::QpThresholds thresholds_ RTC_GUARDED_BY(&task_checker_);
const int64_t sampling_period_ms_; const int64_t sampling_period_ms_;
bool fast_rampup_ RTC_GUARDED_BY(&task_checker_); bool fast_rampup_ RTC_GUARDED_BY(&task_checker_);
rtc::MovingAverage average_qp_ RTC_GUARDED_BY(&task_checker_); MovingAverage average_qp_ RTC_GUARDED_BY(&task_checker_);
rtc::MovingAverage framedrop_percent_media_opt_ MovingAverage framedrop_percent_media_opt_ RTC_GUARDED_BY(&task_checker_);
RTC_GUARDED_BY(&task_checker_); MovingAverage framedrop_percent_all_ RTC_GUARDED_BY(&task_checker_);
rtc::MovingAverage framedrop_percent_all_ RTC_GUARDED_BY(&task_checker_);
// Used by QualityScalingExperiment. // Used by QualityScalingExperiment.
const bool experiment_enabled_; const bool experiment_enabled_;

View File

@@ -17,7 +17,7 @@
#include "rtc_base/checks.h" #include "rtc_base/checks.h"
namespace rtc { namespace webrtc {
MovingAverage::MovingAverage(size_t window_size) : history_(window_size, 0) { MovingAverage::MovingAverage(size_t window_size) : history_(window_size, 0) {
// Limit window size to avoid overflow. // Limit window size to avoid overflow.
@@ -60,4 +60,4 @@ void MovingAverage::Reset() {
size_t MovingAverage::Size() const { size_t MovingAverage::Size() const {
return std::min(count_, history_.size()); return std::min(count_, history_.size());
} }
} // namespace rtc } // namespace webrtc

View File

@@ -17,7 +17,7 @@
#include <optional> #include <optional>
#include <vector> #include <vector>
namespace rtc { namespace webrtc {
// Calculates average over fixed size window. If there are less than window // Calculates average over fixed size window. If there are less than window
// size elements, calculates average of all inserted so far elements. // size elements, calculates average of all inserted so far elements.
@@ -61,5 +61,11 @@ class MovingAverage {
std::vector<int> history_; std::vector<int> history_;
}; };
} // namespace webrtc
// Re-export symbols from the webrtc namespace for backwards compatibility.
// TODO(bugs.webrtc.org/4222596): Remove once all references are updated.
namespace rtc {
using ::webrtc::MovingAverage;
} // namespace rtc } // namespace rtc
#endif // RTC_BASE_NUMERICS_MOVING_AVERAGE_H_ #endif // RTC_BASE_NUMERICS_MOVING_AVERAGE_H_

View File

@@ -17,21 +17,21 @@
namespace test { namespace test {
TEST(MovingAverageTest, EmptyAverage) { TEST(MovingAverageTest, EmptyAverage) {
rtc::MovingAverage moving_average(1); webrtc::MovingAverage moving_average(1);
EXPECT_EQ(0u, moving_average.Size()); EXPECT_EQ(0u, moving_average.Size());
EXPECT_EQ(std::nullopt, moving_average.GetAverageRoundedDown()); EXPECT_EQ(std::nullopt, moving_average.GetAverageRoundedDown());
} }
// Test single value. // Test single value.
TEST(MovingAverageTest, OneElement) { TEST(MovingAverageTest, OneElement) {
rtc::MovingAverage moving_average(1); webrtc::MovingAverage moving_average(1);
moving_average.AddSample(3); moving_average.AddSample(3);
EXPECT_EQ(1u, moving_average.Size()); EXPECT_EQ(1u, moving_average.Size());
EXPECT_EQ(3, *moving_average.GetAverageRoundedDown()); EXPECT_EQ(3, *moving_average.GetAverageRoundedDown());
} }
TEST(MovingAverageTest, GetAverage) { TEST(MovingAverageTest, GetAverage) {
rtc::MovingAverage moving_average(1024); webrtc::MovingAverage moving_average(1024);
moving_average.AddSample(1); moving_average.AddSample(1);
moving_average.AddSample(1); moving_average.AddSample(1);
moving_average.AddSample(3); moving_average.AddSample(3);
@@ -41,7 +41,7 @@ TEST(MovingAverageTest, GetAverage) {
} }
TEST(MovingAverageTest, GetAverageRoundedDownRounds) { TEST(MovingAverageTest, GetAverageRoundedDownRounds) {
rtc::MovingAverage moving_average(1024); webrtc::MovingAverage moving_average(1024);
moving_average.AddSample(1); moving_average.AddSample(1);
moving_average.AddSample(2); moving_average.AddSample(2);
moving_average.AddSample(2); moving_average.AddSample(2);
@@ -50,7 +50,7 @@ TEST(MovingAverageTest, GetAverageRoundedDownRounds) {
} }
TEST(MovingAverageTest, GetAverageRoundedToClosestRounds) { TEST(MovingAverageTest, GetAverageRoundedToClosestRounds) {
rtc::MovingAverage moving_average(1024); webrtc::MovingAverage moving_average(1024);
moving_average.AddSample(1); moving_average.AddSample(1);
moving_average.AddSample(2); moving_average.AddSample(2);
moving_average.AddSample(2); moving_average.AddSample(2);
@@ -59,7 +59,7 @@ TEST(MovingAverageTest, GetAverageRoundedToClosestRounds) {
} }
TEST(MovingAverageTest, Reset) { TEST(MovingAverageTest, Reset) {
rtc::MovingAverage moving_average(5); webrtc::MovingAverage moving_average(5);
moving_average.AddSample(1); moving_average.AddSample(1);
EXPECT_EQ(1, *moving_average.GetAverageRoundedDown()); EXPECT_EQ(1, *moving_average.GetAverageRoundedDown());
EXPECT_EQ(1, *moving_average.GetAverageRoundedToClosest()); EXPECT_EQ(1, *moving_average.GetAverageRoundedToClosest());
@@ -73,7 +73,7 @@ TEST(MovingAverageTest, Reset) {
} }
TEST(MovingAverageTest, ManySamples) { TEST(MovingAverageTest, ManySamples) {
rtc::MovingAverage moving_average(10); webrtc::MovingAverage moving_average(10);
for (int i = 1; i < 11; i++) { for (int i = 1; i < 11; i++) {
moving_average.AddSample(i); moving_average.AddSample(i);
} }

View File

@@ -72,7 +72,7 @@ class VideoQualityObserver {
bool is_last_frame_blocky_; bool is_last_frame_blocky_;
// Decoded timestamp of the last delayed frame. // Decoded timestamp of the last delayed frame.
int64_t last_unfreeze_time_ms_; int64_t last_unfreeze_time_ms_;
rtc::MovingAverage render_interframe_delays_; MovingAverage render_interframe_delays_;
double sum_squared_interframe_delays_secs_; double sum_squared_interframe_delays_secs_;
// An inter-frame delay is counted as a freeze if it's significantly longer // An inter-frame delay is counted as a freeze if it's significantly longer
// than average inter-frame delay. // than average inter-frame delay.