diff --git a/talk/p2p/base/portallocator.h b/talk/p2p/base/portallocator.h index e2cb3fd208..ade9c7a04c 100644 --- a/talk/p2p/base/portallocator.h +++ b/talk/p2p/base/portallocator.h @@ -54,6 +54,7 @@ const uint32 PORTALLOCATOR_ENABLE_IPV6 = 0x40; const uint32 PORTALLOCATOR_ENABLE_SHARED_UFRAG = 0x80; const uint32 PORTALLOCATOR_ENABLE_SHARED_SOCKET = 0x100; const uint32 PORTALLOCATOR_ENABLE_STUN_RETRANSMIT_ATTRIBUTE = 0x200; +const uint32 PORTALLOCATOR_ENABLE_TURN_SHARED_SOCKET = 0x400; const uint32 kDefaultPortAllocatorFlags = 0; diff --git a/talk/p2p/client/basicportallocator.cc b/talk/p2p/client/basicportallocator.cc index 5c3e387ab8..696588a513 100644 --- a/talk/p2p/client/basicportallocator.cc +++ b/talk/p2p/client/basicportallocator.cc @@ -1018,7 +1018,9 @@ void AllocationSequence::CreateTurnPort(const RelayServerConfig& config) { TurnPort* port = NULL; // Shared socket mode must be enabled only for UDP based ports. Hence // don't pass shared socket for ports which will create TCP sockets. - if (IsFlagSet(PORTALLOCATOR_ENABLE_SHARED_SOCKET) && + // TODO(mallinath) - Enable shared socket mode for TURN ports. Disabled + // due to webrtc bug https://code.google.com/p/webrtc/issues/detail?id=3537 + if (IsFlagSet(PORTALLOCATOR_ENABLE_TURN_SHARED_SOCKET) && relay_port->proto == PROTO_UDP) { port = TurnPort::Create(session_->network_thread(), session_->socket_factory(),