tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 6bf1b0362d689dc60f361c883567d26d80651844
parent 0bfa0288ec67b17f74eb439bc6028b317a36f4d9
Author: Dan Baker <dbaker@mozilla.com>
Date:   Thu, 23 Oct 2025 16:41:56 -0600

Bug 1995393 - Vendor libwebrtc from e7f1e2356d

Upstream commit: https://webrtc.googlesource.com/src/+/e7f1e2356d2141b1e444e77a8e96916f6a722eb8
    Use propagate clock in FrameEncodeMetadataWriter

    Bug: webrtc:42223992
    Change-Id: I2512099011d5f37a7ab5020079a8da1ca75b7a1b
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/404920
    Commit-Queue: Philip Eliasson <philipel@webrtc.org>
    Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
    Reviewed-by: Philip Eliasson <philipel@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#45362}

Diffstat:
Mthird_party/libwebrtc/README.mozilla.last-vendor | 4++--
Mthird_party/libwebrtc/video/frame_encode_metadata_writer.cc | 21++++++---------------
Mthird_party/libwebrtc/video/frame_encode_metadata_writer.h | 3+--
3 files changed, 9 insertions(+), 19 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-23T22:39:26.209121+00:00. +libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-23T22:41:43.265601+00:00. # base of lastest vendoring -d242314f3b +e7f1e2356d diff --git a/third_party/libwebrtc/video/frame_encode_metadata_writer.cc b/third_party/libwebrtc/video/frame_encode_metadata_writer.cc @@ -66,19 +66,10 @@ FrameEncodeMetadataWriter::TimingFramesLayerInfo::~TimingFramesLayerInfo() = default; FrameEncodeMetadataWriter::FrameEncodeMetadataWriter( - const Environment& /*env*/, + const Environment& env, EncodedImageCallback* frame_drop_callback) -// TODO: bugs.webrtc.org/42223992 - Save `Environment` into member and use -// it to query current time when deprecated constructor is removed. -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - : FrameEncodeMetadataWriter(frame_drop_callback) { -} -#pragma clang diagnostic pop - -FrameEncodeMetadataWriter::FrameEncodeMetadataWriter( - EncodedImageCallback* frame_drop_callback) - : frame_drop_callback_(frame_drop_callback), + : env_(env), + frame_drop_callback_(frame_drop_callback), framerate_fps_(0), last_timing_frame_time_ms_(-1), reordered_frames_logged_messages_(0), @@ -130,7 +121,7 @@ void FrameEncodeMetadataWriter::OnEncodeStarted(const VideoFrame& frame) { timing_frames_info_.resize(num_spatial_layers_); FrameMetadata metadata; metadata.rtp_timestamp = frame.rtp_timestamp(); - metadata.encode_start_time_ms = TimeMillis(); + metadata.encode_start_time_ms = env_.clock().TimeInMilliseconds(); metadata.ntp_time_ms = frame.ntp_time_ms(); metadata.timestamp_us = frame.timestamp_us(); metadata.rotation = frame.rotation(); @@ -174,7 +165,7 @@ void FrameEncodeMetadataWriter::FillMetadataAndTimingInfo( std::optional<int64_t> encode_start_ms; uint8_t timing_flags = VideoSendTiming::kNotTriggered; - int64_t encode_done_ms = TimeMillis(); + int64_t encode_done_ms = env_.clock().TimeInMilliseconds(); encode_start_ms = ExtractEncodeStartTimeAndFillMetadata(simulcast_svc_idx, encoded_image); @@ -213,7 +204,7 @@ void FrameEncodeMetadataWriter::FillMetadataAndTimingInfo( // If encode start is not available that means that encoder uses internal // source. In that case capture timestamp may be from a different clock with a - // drift relative to TimeMillis(). We can't use it for Timing frames, + // drift relative to `env_.clock()`. We can't use it for Timing frames, // because to being sent in the network capture time required to be less than // all the other timestamps. if (encode_start_ms) { diff --git a/third_party/libwebrtc/video/frame_encode_metadata_writer.h b/third_party/libwebrtc/video/frame_encode_metadata_writer.h @@ -34,8 +34,6 @@ namespace webrtc { class FrameEncodeMetadataWriter { public: - [[deprecated("bugs.webrtc.org/42223992")]] - explicit FrameEncodeMetadataWriter(EncodedImageCallback* frame_drop_callback); FrameEncodeMetadataWriter(const Environment& env, EncodedImageCallback* frame_drop_callback); ~FrameEncodeMetadataWriter(); @@ -78,6 +76,7 @@ class FrameEncodeMetadataWriter { std::list<FrameMetadata> frames; }; + const Environment env_; Mutex lock_; EncodedImageCallback* const frame_drop_callback_; VideoCodec codec_settings_ RTC_GUARDED_BY(&lock_);