tor-browser

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

commit 63fc0d504e307915a14ac3de8fc0cb350f25c759
parent c12d76104a631b4060a1038bba5b50c47a174963
Author: Dan Baker <dbaker@mozilla.com>
Date:   Wed, 19 Nov 2025 21:45:41 -0700

Bug 2000941 - Vendor libwebrtc from 6196e72116

Upstream commit: https://webrtc.googlesource.com/src/+/6196e72116e94d2df331e28b0210638f3db48dfe
    Remove RtpTransportControllerSendFactoryInterface

    This removes the possibility of injecting a custom factory for creating
    the RtpTransportControllerSendInterface.  It done in preparation of
    moving RtpTransportControllerSend to RtpTransport.

    Bug: webrtc:438396766
    Change-Id: Iaffa554b29564820b5f8b7c4a02619254dedbd48
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/404322
    Commit-Queue: Per Kjellander <perkj@webrtc.org>
    Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#45542}

Diffstat:
Mthird_party/libwebrtc/README.mozilla.last-vendor | 4++--
Mthird_party/libwebrtc/api/DEPS | 5-----
Mthird_party/libwebrtc/api/peer_connection_interface.h | 3---
Mthird_party/libwebrtc/call/BUILD.gn | 2--
Mthird_party/libwebrtc/call/call.cc | 12+++---------
Mthird_party/libwebrtc/call/call_config.h | 4----
Dthird_party/libwebrtc/call/rtp_transport_controller_send_factory.h | 33---------------------------------
Dthird_party/libwebrtc/call/rtp_transport_controller_send_factory_interface.h | 29-----------------------------
Mthird_party/libwebrtc/moz-patch-stack/s0001.patch | 2+-
Mthird_party/libwebrtc/moz-patch-stack/s0027.patch | 2+-
Mthird_party/libwebrtc/moz-patch-stack/s0119.patch | 6+++---
Mthird_party/libwebrtc/pc/peer_connection_factory.cc | 8--------
Mthird_party/libwebrtc/pc/peer_connection_factory.h | 3---
13 files changed, 10 insertions(+), 103 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-11-20T04:43:02.001877+00:00. +libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-11-20T04:45:16.909296+00:00. # base of lastest vendoring -1de952a79d +6196e72116 diff --git a/third_party/libwebrtc/api/DEPS b/third_party/libwebrtc/api/DEPS @@ -44,10 +44,6 @@ include_rules = [ specific_include_rules = { # Some internal headers are allowed even in API headers: - "call_factory_interface\.h": [ - "+call/rtp_transport_controller_send_factory_interface.h", - ], - ".*\.h": [ "+rtc_base/checks.h", "+rtc_base/system/rtc_export.h", @@ -127,7 +123,6 @@ specific_include_rules = { ], "peer_connection_interface\.h": [ - "+call/rtp_transport_controller_send_factory_interface.h", "+media/base/media_config.h", "+media/base/media_engine.h", "+p2p/base/port.h", diff --git a/third_party/libwebrtc/api/peer_connection_interface.h b/third_party/libwebrtc/api/peer_connection_interface.h @@ -126,7 +126,6 @@ #include "api/video/video_bitrate_allocator_factory.h" #include "api/video_codecs/video_decoder_factory.h" #include "api/video_codecs/video_encoder_factory.h" -#include "call/rtp_transport_controller_send_factory_interface.h" #include "media/base/media_config.h" // TODO(bugs.webrtc.org/7447): We plan to provide a way to let applications // inject a PacketSocketFactory and/or NetworkManager, and not expose @@ -1469,8 +1468,6 @@ struct RTC_EXPORT PeerConnectionFactoryDependencies final { std::unique_ptr<NetworkMonitorFactory> network_monitor_factory; std::unique_ptr<NetEqFactory> neteq_factory; std::unique_ptr<SctpTransportFactoryInterface> sctp_factory; - std::unique_ptr<RtpTransportControllerSendFactoryInterface> - transport_controller_send_factory; // Metronome used for decoding, must be called on the worker thread. std::unique_ptr<Metronome> decode_metronome; // Metronome used for encoding, must be called on the worker thread. diff --git a/third_party/libwebrtc/call/BUILD.gn b/third_party/libwebrtc/call/BUILD.gn @@ -103,7 +103,6 @@ rtc_library("rtp_interfaces") { "rtp_packet_sink_interface.h", "rtp_stream_receiver_controller_interface.h", "rtp_transport_config.h", - "rtp_transport_controller_send_factory_interface.h", "rtp_transport_controller_send_interface.h", ] deps = [ @@ -165,7 +164,6 @@ rtc_library("rtp_sender") { "rtp_payload_params.h", "rtp_transport_controller_send.cc", "rtp_transport_controller_send.h", - "rtp_transport_controller_send_factory.h", "rtp_video_sender.cc", "rtp_video_sender.h", "rtp_video_sender_interface.h", diff --git a/third_party/libwebrtc/call/call.cc b/third_party/libwebrtc/call/call.cc @@ -59,7 +59,7 @@ #include "call/receive_time_calculator.h" #include "call/rtp_config.h" #include "call/rtp_stream_receiver_controller.h" -#include "call/rtp_transport_controller_send_factory.h" +#include "call/rtp_transport_controller_send.h" #include "call/version.h" #include "call/video_receive_stream.h" #include "call/video_send_stream.h" @@ -514,14 +514,8 @@ class Call final : public webrtc::Call, } // namespace internal std::unique_ptr<Call> Call::Create(CallConfig config) { - std::unique_ptr<RtpTransportControllerSendInterface> transport_send; - if (config.rtp_transport_controller_send_factory != nullptr) { - transport_send = config.rtp_transport_controller_send_factory->Create( - config.ExtractTransportConfig()); - } else { - transport_send = RtpTransportControllerSendFactory().Create( - config.ExtractTransportConfig()); - } + auto transport_send = std::make_unique<RtpTransportControllerSend>( + config.ExtractTransportConfig()); return std::make_unique<internal::Call>(std::move(config), std::move(transport_send)); diff --git a/third_party/libwebrtc/call/call_config.h b/third_party/libwebrtc/call/call_config.h @@ -25,7 +25,6 @@ #include "api/units/time_delta.h" #include "call/audio_state.h" #include "call/rtp_transport_config.h" -#include "call/rtp_transport_controller_send_factory_interface.h" namespace webrtc { @@ -77,9 +76,6 @@ struct CallConfig { NetEqFactory* neteq_factory = nullptr; TaskQueueBase* network_task_queue_ = nullptr; - // RtpTransportControllerSend to use for this call. - RtpTransportControllerSendFactoryInterface* - rtp_transport_controller_send_factory = nullptr; Metronome* decode_metronome = nullptr; Metronome* encode_metronome = nullptr; diff --git a/third_party/libwebrtc/call/rtp_transport_controller_send_factory.h b/third_party/libwebrtc/call/rtp_transport_controller_send_factory.h @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2021 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#ifndef CALL_RTP_TRANSPORT_CONTROLLER_SEND_FACTORY_H_ -#define CALL_RTP_TRANSPORT_CONTROLLER_SEND_FACTORY_H_ - -#include <memory> - -#include "call/rtp_transport_config.h" -#include "call/rtp_transport_controller_send.h" -#include "call/rtp_transport_controller_send_factory_interface.h" -#include "call/rtp_transport_controller_send_interface.h" - -namespace webrtc { -class RtpTransportControllerSendFactory - : public RtpTransportControllerSendFactoryInterface { - public: - std::unique_ptr<RtpTransportControllerSendInterface> Create( - const RtpTransportConfig& config) override { - return std::make_unique<RtpTransportControllerSend>(config); - } - - virtual ~RtpTransportControllerSendFactory() {} -}; -} // namespace webrtc -#endif // CALL_RTP_TRANSPORT_CONTROLLER_SEND_FACTORY_H_ diff --git a/third_party/libwebrtc/call/rtp_transport_controller_send_factory_interface.h b/third_party/libwebrtc/call/rtp_transport_controller_send_factory_interface.h @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2021 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ -#ifndef CALL_RTP_TRANSPORT_CONTROLLER_SEND_FACTORY_INTERFACE_H_ -#define CALL_RTP_TRANSPORT_CONTROLLER_SEND_FACTORY_INTERFACE_H_ - -#include <memory> - -#include "call/rtp_transport_config.h" -#include "call/rtp_transport_controller_send_interface.h" - -namespace webrtc { -// A factory used for dependency injection on the send side of the transport -// controller. -class RtpTransportControllerSendFactoryInterface { - public: - virtual ~RtpTransportControllerSendFactoryInterface() = default; - - virtual std::unique_ptr<RtpTransportControllerSendInterface> Create( - const RtpTransportConfig& config) = 0; -}; -} // namespace webrtc -#endif // CALL_RTP_TRANSPORT_CONTROLLER_SEND_FACTORY_INTERFACE_H_ diff --git a/third_party/libwebrtc/moz-patch-stack/s0001.patch b/third_party/libwebrtc/moz-patch-stack/s0001.patch @@ -413,7 +413,7 @@ index 7bd443f711..a433aa21e7 100644 bool RtpExtension::IsSupportedForVideo(absl::string_view uri) { diff --git a/call/BUILD.gn b/call/BUILD.gn -index d3504a3aba..a9c0de8016 100644 +index 886a5983a1..a189b83f55 100644 --- a/call/BUILD.gn +++ b/call/BUILD.gn @@ -20,6 +20,7 @@ rtc_library("call_interfaces") { diff --git a/third_party/libwebrtc/moz-patch-stack/s0027.patch b/third_party/libwebrtc/moz-patch-stack/s0027.patch @@ -473,7 +473,7 @@ index 67a2dbf7ec..9c5e881a70 100644 if (rtc_include_tests) { rtc_source_set("test_feedback_generator_interface") { diff --git a/call/BUILD.gn b/call/BUILD.gn -index a9c0de8016..f8b2a9b7b5 100644 +index a189b83f55..3f6cc7a48a 100644 --- a/call/BUILD.gn +++ b/call/BUILD.gn @@ -48,7 +48,7 @@ rtc_library("call_interfaces") { diff --git a/third_party/libwebrtc/moz-patch-stack/s0119.patch b/third_party/libwebrtc/moz-patch-stack/s0119.patch @@ -12,7 +12,7 @@ Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/19164e58323d59c1f 3 files changed, 7 insertions(+), 23 deletions(-) diff --git a/call/call.cc b/call/call.cc -index 91ec1a54bc..e41922dffa 100644 +index e500c02b29..08944d2932 100644 --- a/call/call.cc +++ b/call/call.cc @@ -513,19 +513,6 @@ class Call final : public webrtc::Call, @@ -33,8 +33,8 @@ index 91ec1a54bc..e41922dffa 100644 -} - std::unique_ptr<Call> Call::Create(CallConfig config) { - std::unique_ptr<RtpTransportControllerSendInterface> transport_send; - if (config.rtp_transport_controller_send_factory != nullptr) { + auto transport_send = std::make_unique<RtpTransportControllerSend>( + config.ExtractTransportConfig()); diff --git a/call/call.h b/call/call.h index b2146118ff..cda8733859 100644 --- a/call/call.h diff --git a/third_party/libwebrtc/pc/peer_connection_factory.cc b/third_party/libwebrtc/pc/peer_connection_factory.cc @@ -35,7 +35,6 @@ #include "api/transport/network_control.h" #include "api/units/data_rate.h" #include "call/call_config.h" -#include "call/rtp_transport_controller_send_factory.h" #include "media/base/codec.h" #include "media/base/media_engine.h" #include "p2p/base/basic_async_resolver_factory.h" @@ -111,10 +110,6 @@ PeerConnectionFactory::PeerConnectionFactory( injected_network_controller_factory_( std::move(dependencies->network_controller_factory)), neteq_factory_(std::move(dependencies->neteq_factory)), - transport_controller_send_factory_( - (dependencies->transport_controller_send_factory) - ? std::move(dependencies->transport_controller_send_factory) - : std::make_unique<RtpTransportControllerSendFactory>()), decode_metronome_(std::move(dependencies->decode_metronome)), encode_metronome_(std::move(dependencies->encode_metronome)) {} @@ -384,9 +379,6 @@ std::unique_ptr<Call> PeerConnectionFactory::CreateCall_w( } else { RTC_LOG(LS_INFO) << "Using default network controller factory"; } - - call_config.rtp_transport_controller_send_factory = - transport_controller_send_factory_.get(); call_config.decode_metronome = decode_metronome_.get(); call_config.encode_metronome = encode_metronome_.get(); call_config.pacer_burst_interval = configuration.pacer_burst_interval; diff --git a/third_party/libwebrtc/pc/peer_connection_factory.h b/third_party/libwebrtc/pc/peer_connection_factory.h @@ -37,7 +37,6 @@ #include "api/transport/network_control.h" #include "api/transport/sctp_transport_factory_interface.h" #include "call/call.h" -#include "call/rtp_transport_controller_send_factory_interface.h" #include "media/base/media_engine.h" #include "pc/codec_vendor.h" #include "pc/connection_context.h" @@ -142,8 +141,6 @@ class PeerConnectionFactory : public PeerConnectionFactoryInterface { std::unique_ptr<NetworkControllerFactoryInterface> injected_network_controller_factory_; std::unique_ptr<NetEqFactory> neteq_factory_; - const std::unique_ptr<RtpTransportControllerSendFactoryInterface> - transport_controller_send_factory_; std::unique_ptr<Metronome> decode_metronome_ RTC_GUARDED_BY(worker_thread()); std::unique_ptr<Metronome> encode_metronome_ RTC_GUARDED_BY(worker_thread()); };