Files
Michael Froman 06e90addc7 Bug 1952339 - Vendor libwebrtc from 995688c8e8
We already cherry-picked this when we vendored f30c044cf9.

Upstream commit: https://webrtc.googlesource.com/src/+/995688c8e85b520d50961486abbe0cc03eae9558
    Revert "more p2p cleanups"

    This reverts commit f30c044cf9bd06f91017c171d98690094ce6d88b.

    Reason for revert: breaks roll to chromium: https://ci.chromium.org/ui/p/chromium/builders/try/mac_chromium_compile_dbg_ng/2290104/overview

    Original change's description:
    > more p2p cleanups
    >
    > Move test code from p2p/base and rtc_base/ into p2p/test/
    > This p2p/base much less crowded and
    > clarifies that the rtc_base/nat* is in fact only test code.
    >
    > BUG=webrtc:0
    >
    > Change-Id: I4d14fae24cb0eff6783962f4b4483b560367ca5d
    > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/378900
    > Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
    > Reviewed-by: Harald Alvestrand <hta@webrtc.org>
    > Auto-Submit: Jonas Oreland <jonaso@webrtc.org>
    > Cr-Commit-Position: refs/heads/main@{#43995}

    Bug: webrtc:0
    Change-Id: I6c79fa85f53fdb9a1dacbe38911771f9a4289c76
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/379040
    Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
    Owners-Override: Ilya Nikolaevskiy <ilnik@webrtc.org>
    Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#43999}

Differential Revision: https://phabricator.services.mozilla.com/D244009
2025-03-07 16:59:33 -06:00

105 lines
4.1 KiB
Diff

From: Andreas Pehrson <apehrson@mozilla.com>
Date: Tue, 2 Nov 2021 14:35:00 +0000
Subject: Bug 1729455 - Inject RTCStatsTimestampMakerRealtimeClock into Call
instances. r=bwc
This patch makes libwebrtc use our clock for timestamps.
It also makes sure there's no use of the libwebrtc realtime clock, other than
for relative time tracking (like timeouts), and that future libwebrtc updates
don't introduce unaudited use of it.
Differential Revision: https://phabricator.services.mozilla.com/D127714
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/0744d68b8c944e69945de4ac5c4ca71332e78ad8
---
modules/rtp_rtcp/include/flexfec_receiver.h | 2 ++
modules/rtp_rtcp/source/flexfec_receiver.cc | 2 ++
rtc_base/task_utils/repeating_task.h | 4 ++--
system_wrappers/include/clock.h | 2 +-
system_wrappers/source/clock.cc | 2 +-
5 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/modules/rtp_rtcp/include/flexfec_receiver.h b/modules/rtp_rtcp/include/flexfec_receiver.h
index a869c8ad41..b6a33882d1 100644
--- a/modules/rtp_rtcp/include/flexfec_receiver.h
+++ b/modules/rtp_rtcp/include/flexfec_receiver.h
@@ -30,9 +30,11 @@ class Clock;
class FlexfecReceiver {
public:
+ /* Mozilla: Avoid this since it could use GetRealTimeClock().
FlexfecReceiver(uint32_t ssrc,
uint32_t protected_media_ssrc,
RecoveredPacketReceiver* recovered_packet_receiver);
+ */
FlexfecReceiver(Clock* clock,
uint32_t ssrc,
uint32_t protected_media_ssrc,
diff --git a/modules/rtp_rtcp/source/flexfec_receiver.cc b/modules/rtp_rtcp/source/flexfec_receiver.cc
index 7f2cc0cb3c..2ba85a2157 100644
--- a/modules/rtp_rtcp/source/flexfec_receiver.cc
+++ b/modules/rtp_rtcp/source/flexfec_receiver.cc
@@ -31,6 +31,7 @@ constexpr TimeDelta kPacketLogInterval = TimeDelta::Seconds(10);
} // namespace
+/* Mozilla: Avoid this since it could use GetRealTimeClock().
FlexfecReceiver::FlexfecReceiver(
uint32_t ssrc,
uint32_t protected_media_ssrc,
@@ -39,6 +40,7 @@ FlexfecReceiver::FlexfecReceiver(
ssrc,
protected_media_ssrc,
recovered_packet_receiver) {}
+ */
FlexfecReceiver::FlexfecReceiver(
Clock* clock,
diff --git a/rtc_base/task_utils/repeating_task.h b/rtc_base/task_utils/repeating_task.h
index c45de95ecc..28c691c3de 100644
--- a/rtc_base/task_utils/repeating_task.h
+++ b/rtc_base/task_utils/repeating_task.h
@@ -57,7 +57,7 @@ class RepeatingTaskHandle {
absl::AnyInvocable<TimeDelta()> closure,
TaskQueueBase::DelayPrecision precision =
TaskQueueBase::DelayPrecision::kLow,
- Clock* clock = Clock::GetRealTimeClock(),
+ Clock* clock = Clock::GetRealTimeClockRaw(),
const Location& location = Location::Current());
// DelayedStart is equivalent to Start except that the first invocation of the
@@ -68,7 +68,7 @@ class RepeatingTaskHandle {
absl::AnyInvocable<TimeDelta()> closure,
TaskQueueBase::DelayPrecision precision =
TaskQueueBase::DelayPrecision::kLow,
- Clock* clock = Clock::GetRealTimeClock(),
+ Clock* clock = Clock::GetRealTimeClockRaw(),
const Location& location = Location::Current());
// Stops future invocations of the repeating task closure. Can only be called
diff --git a/system_wrappers/include/clock.h b/system_wrappers/include/clock.h
index ec4bae0aed..70b6e3aa16 100644
--- a/system_wrappers/include/clock.h
+++ b/system_wrappers/include/clock.h
@@ -66,7 +66,7 @@ class RTC_EXPORT Clock {
}
// Returns an instance of the real-time system clock implementation.
- static Clock* GetRealTimeClock();
+ static Clock* GetRealTimeClockRaw();
};
class SimulatedClock : public Clock {
diff --git a/system_wrappers/source/clock.cc b/system_wrappers/source/clock.cc
index 88c99d6a68..f7460b831c 100644
--- a/system_wrappers/source/clock.cc
+++ b/system_wrappers/source/clock.cc
@@ -57,7 +57,7 @@ class RealTimeClock : public Clock {
}
};
-Clock* Clock::GetRealTimeClock() {
+Clock* Clock::GetRealTimeClockRaw() {
static Clock* const clock = new RealTimeClock();
return clock;
}