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
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
8e14ab0310
9494d02c03

View File

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

View File

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

View File

@@ -17,7 +17,7 @@
#include <optional>
#include <vector>
namespace rtc {
namespace webrtc {
// Calculates average over fixed size window. If there are less than window
// size elements, calculates average of all inserted so far elements.
@@ -61,5 +61,11 @@ class MovingAverage {
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
#endif // RTC_BASE_NUMERICS_MOVING_AVERAGE_H_

View File

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

View File

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