commit 099f503ebbb21d0f064f5e1b6eaa7656e5eb1725
parent 229c443bf4380b63c09916f9fdcc31c79e3250b6
Author: Dan Baker <dbaker@mozilla.com>
Date: Mon, 27 Oct 2025 15:01:41 -0600
Bug 1995393 - Vendor libwebrtc from 810be7f40d
Upstream commit: https://webrtc.googlesource.com/src/+/810be7f40d27d8cb0c65f46f2e96df007ba37e64
Reland "Make WebRTC-RTP-Lifetime enabled-by-default."
This reverts commit 0e582e5b50e5642a5cbc49d654d09a388f9b3f69.
Reason for revert: We accidentally impacted Plan B, but this CL no
longer impacts Plan B because we fixed the gating problem in
https://webrtc-review.googlesource.com/c/src/+/406725
Bug: chromium:406585888
Original change's description:
> Revert "Make WebRTC-RTP-Lifetime enabled-by-default."
>
> This reverts commit 0deb9d6d33111cbf2a5b248434870dd9d8b982fc.
>
> Reason for revert: Breaks internal test that assumes RTP stats exist
> prior to reception
>
> Bug: chromium:406585888
> Original change's description:
> > Make WebRTC-RTP-Lifetime enabled-by-default.
> >
> > Ships spec-compliant RTP stats lifetimes as per Intent to Ship:
> > https://groups.google.com/a/chromium.org/g/blink-dev/c/GYqPzIUUZCQ
> >
> > The TL;DR change is:
> > 1. outbound-rtp creation is delayed until O/A has completed, but can
> > exist prior to sending any packets.
> > 2. inbound-rtp creation is delayed until first packet has been received,
> > whether or not O/A has completed (allowing early media use case).
> >
> > The flag is kept as a kill-switch, to be removed after this has reached
> > Chrome stable.
> >
> > Bug: chromium:406585888
> > Change-Id: Ibb42d77eb156ba14d2f50e6521d51615551fe489
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/406620
> > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> > Commit-Queue: Henrik Boström <hbos@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#45468}
>
> Bug: chromium:406585888
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Change-Id: I0dad2172691d78945b82a7796e51a42cace85d33
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/406761
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Auto-Submit: Henrik Boström <hbos@webrtc.org>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#45470}
Bug: chromium:406585888
Change-Id: I99ca9de9fd84cdfe2cfc5f4ac9548ab823fc363d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/406763
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#45477}
Diffstat:
3 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/third_party/libwebrtc/README.mozilla.last-vendor b/third_party/libwebrtc/README.mozilla.last-vendor
@@ -1,4 +1,4 @@
# ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc
-libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-27T20:59:01.744180+00:00.
+libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-27T21:01:29.503567+00:00.
# base of lastest vendoring
-0f1ebdd415
+810be7f40d
diff --git a/third_party/libwebrtc/pc/rtc_stats_collector.cc b/third_party/libwebrtc/pc/rtc_stats_collector.cc
@@ -1718,8 +1718,8 @@ void RTCStatsCollector::ProduceRTPStreamStats_n(
RTC_DCHECK_RUN_ON(network_thread_);
Thread::ScopedDisallowBlockingCalls no_blocking_calls;
- bool spec_lifetime =
- is_unified_plan_ && env_.field_trials().IsEnabled("WebRTC-RTP-Lifetime");
+ bool spec_lifetime = is_unified_plan_ &&
+ !env_.field_trials().IsDisabled("WebRTC-RTP-Lifetime");
for (const RtpTransceiverStatsInfo& stats : transceiver_stats_infos) {
if (stats.media_type == MediaType::AUDIO) {
ProduceAudioRTPStreamStats_n(timestamp, stats, spec_lifetime, report);
diff --git a/third_party/libwebrtc/pc/rtc_stats_integrationtest.cc b/third_party/libwebrtc/pc/rtc_stats_integrationtest.cc
@@ -1242,14 +1242,11 @@ TEST_F(RTCStatsIntegrationTest, ExperimentalPsnrStats) {
class RTCStatsRtpLifetimeTest : public RTCStatsIntegrationTest {
public:
RTCStatsRtpLifetimeTest() : RTCStatsIntegrationTest() {
- FieldTrials field_trials =
- CreateTestFieldTrials("WebRTC-RTP-Lifetime/Enabled/");
+ // Field trial "WebRTC-RTP-Lifetime" is enabled-by-default.
EXPECT_TRUE(caller_->CreatePc({}, CreateBuiltinAudioEncoderFactory(),
- CreateBuiltinAudioDecoderFactory(),
- std::make_unique<FieldTrials>(field_trials)));
+ CreateBuiltinAudioDecoderFactory()));
EXPECT_TRUE(callee_->CreatePc({}, CreateBuiltinAudioEncoderFactory(),
- CreateBuiltinAudioDecoderFactory(),
- std::make_unique<FieldTrials>(field_trials)));
+ CreateBuiltinAudioDecoderFactory()));
}
};