Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Unified Diff: content/renderer/media/webrtc/peer_connection_dependency_factory.cc

Issue 916873004: Add a Preference to allow WebRTC only bind to "any address" (all 0s) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/webrtc/peer_connection_dependency_factory.cc
diff --git a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
index fb09fafb11beb8b2aff5c3db0ccc1334ceaa1e9f..4554ad2d1e71f6ce4d79006effb472370c774b07 100644
--- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
+++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
@@ -114,14 +114,14 @@ void HarmonizeConstraintsAndEffects(RTCMediaConstraints* constraints,
class P2PPortAllocatorFactory : public webrtc::PortAllocatorFactoryInterface {
public:
- P2PPortAllocatorFactory(
- P2PSocketDispatcher* socket_dispatcher,
- rtc::NetworkManager* network_manager,
- rtc::PacketSocketFactory* socket_factory)
+ P2PPortAllocatorFactory(P2PSocketDispatcher* socket_dispatcher,
+ rtc::NetworkManager* network_manager,
+ rtc::PacketSocketFactory* socket_factory,
+ bool disable_multiple_routes)
: socket_dispatcher_(socket_dispatcher),
network_manager_(network_manager),
- socket_factory_(socket_factory) {
- }
+ socket_factory_(socket_factory),
+ disable_multiple_routes_(disable_multiple_routes) {}
cricket::PortAllocator* CreatePortAllocator(
const std::vector<StunConfiguration>& stun_servers,
@@ -147,6 +147,7 @@ class P2PPortAllocatorFactory : public webrtc::PortAllocatorFactoryInterface {
turn_configurations[i].server.hostname(),
turn_configurations[i].server.port()));
}
+ config.disable_multiple_routes = disable_multiple_routes_;
return new P2PPortAllocator(
socket_dispatcher_.get(), network_manager_, socket_factory_, config);
@@ -161,6 +162,9 @@ class P2PPortAllocatorFactory : public webrtc::PortAllocatorFactoryInterface {
// PeerConnectionDependencyFactory.
rtc::NetworkManager* network_manager_;
rtc::PacketSocketFactory* socket_factory_;
+
+ // When false, individual NICs will be bound for address discovery phase.
+ bool disable_multiple_routes_;
};
PeerConnectionDependencyFactory::PeerConnectionDependencyFactory(
@@ -170,7 +174,8 @@ PeerConnectionDependencyFactory::PeerConnectionDependencyFactory(
signaling_thread_(NULL),
worker_thread_(NULL),
chrome_signaling_thread_("Chrome_libJingle_Signaling"),
- chrome_worker_thread_("Chrome_libJingle_WorkerThread") {
+ chrome_worker_thread_("Chrome_libJingle_WorkerThread"),
+ disable_multiple_routes_(false) {
}
PeerConnectionDependencyFactory::~PeerConnectionDependencyFactory() {
@@ -395,10 +400,9 @@ PeerConnectionDependencyFactory::CreatePeerConnection(
return NULL;
scoped_refptr<P2PPortAllocatorFactory> pa_factory =
- new rtc::RefCountedObject<P2PPortAllocatorFactory>(
- p2p_socket_dispatcher_.get(),
- network_manager_,
- socket_factory_.get());
+ new rtc::RefCountedObject<P2PPortAllocatorFactory>(
+ p2p_socket_dispatcher_.get(), network_manager_, socket_factory_.get(),
+ disable_multiple_routes_);
PeerConnectionIdentityService* identity_service =
new PeerConnectionIdentityService(

Powered by Google App Engine
This is Rietveld 408576698