| 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(
|
|
|