Chromium Code Reviews| Index: content/renderer/media/rtc_peer_connection_handler.cc |
| diff --git a/content/renderer/media/rtc_peer_connection_handler.cc b/content/renderer/media/rtc_peer_connection_handler.cc |
| index 06953b591538f555283f61c717b6146b75ee14f5..c84ec35e9ddad216038aab6195821baae7c9194d 100644 |
| --- a/content/renderer/media/rtc_peer_connection_handler.cc |
| +++ b/content/renderer/media/rtc_peer_connection_handler.cc |
| @@ -185,18 +185,33 @@ void GetSdpAndTypeFromSessionDescription( |
| void GetNativeRtcConfiguration( |
| const blink::WebRTCConfiguration& blink_config, |
| webrtc::PeerConnectionInterface::RTCConfiguration* webrtc_config) { |
| - if (blink_config.isNull() || !webrtc_config) |
| + DCHECK(webrtc_config); |
| + |
| + webrtc_config->enable_localhost_ice_candidate = false; |
|
tommi (sloooow) - chröme
2015/09/16 19:31:47
It would be OK with me to do this instead:
DCHECK
|
| + |
| + // When we don't have WebRTCConfiguration, treat it as a special case where we |
| + // should generate local host candidate. This will only be honored if |
| + // enable_multiple_routes is disabled. |
| + if (blink_config.isNull()) { |
| + webrtc_config->enable_localhost_ice_candidate = true; |
| return; |
| - for (size_t i = 0; i < blink_config.numberOfServers(); ++i) { |
| - webrtc::PeerConnectionInterface::IceServer server; |
| - const blink::WebRTCICEServer& webkit_server = |
| - blink_config.server(i); |
| - server.username = |
| - base::UTF16ToUTF8(base::StringPiece16(webkit_server.username())); |
| - server.password = |
| - base::UTF16ToUTF8(base::StringPiece16(webkit_server.credential())); |
| - server.uri = webkit_server.uri().spec(); |
| - webrtc_config->servers.push_back(server); |
| + } |
| + |
| + if (blink_config.iceServers().isNull()) { |
| + // Same as when iceServers is undefined or unspecified. |
| + webrtc_config->enable_localhost_ice_candidate = true; |
| + } else { |
| + for (size_t i = 0; i < blink_config.iceServers().numberOfServers(); ++i) { |
| + webrtc::PeerConnectionInterface::IceServer server; |
| + const blink::WebRTCICEServer& webkit_server = |
| + blink_config.iceServers().server(i); |
| + server.username = |
| + base::UTF16ToUTF8(base::StringPiece16(webkit_server.username())); |
| + server.password = |
| + base::UTF16ToUTF8(base::StringPiece16(webkit_server.credential())); |
| + server.uri = webkit_server.uri().spec(); |
| + webrtc_config->servers.push_back(server); |
| + } |
| } |
| switch (blink_config.iceTransports()) { |