From 97ed39344aa67d14b6a1a3591c1dbe14cf24c1a6 Mon Sep 17 00:00:00 2001 From: "guoweis@webrtc.org" Date: Fri, 19 Sep 2014 21:06:12 +0000 Subject: [PATCH] Reapply 23529005 after fixing the build break issue (Chromium:582133002) Review URL: https://webrtc-codereview.appspot.com/23529005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7253 4adac7df-926f-26a2-2b94-8c16560cd09d --- talk/app/webrtc/peerconnection.cc | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/talk/app/webrtc/peerconnection.cc b/talk/app/webrtc/peerconnection.cc index 369838174..d1338897d 100644 --- a/talk/app/webrtc/peerconnection.cc +++ b/talk/app/webrtc/peerconnection.cc @@ -39,6 +39,9 @@ #include "talk/session/media/channelmanager.h" #include "webrtc/base/logging.h" #include "webrtc/base/stringencode.h" +#ifdef WEBRTC_CHROMIUM_BUILD +#include "webrtc/system_wrappers/interface/field_trial.h" +#endif namespace { @@ -353,12 +356,19 @@ bool PeerConnection::DoInitialize( cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | cricket::PORTALLOCATOR_ENABLE_SHARED_SOCKET; bool value; + // If IPv6 flag was specified, we'll not override it by experiment. if (FindConstraint( - constraints, - MediaConstraintsInterface::kEnableIPv6, - &value, NULL) && value) { + constraints, MediaConstraintsInterface::kEnableIPv6, &value, NULL)) { + if (value) { + portallocator_flags |= cricket::PORTALLOCATOR_ENABLE_IPV6; + } + } +#ifdef WEBRTC_CHROMIUM_BUILD + else if (webrtc::field_trial::FindFullName("WebRTC-IPv6Default") == + "Enabled") { portallocator_flags |= cricket::PORTALLOCATOR_ENABLE_IPV6; } +#endif // WEBRTC_CHROMIUM_BUILD port_allocator_->set_flags(portallocator_flags); // No step delay is used while allocating ports.