OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/renderer/media/rtc_peer_connection_handler.h" | 5 #include "content/renderer/media/rtc_peer_connection_handler.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 description->ToString(sdp); | 178 description->ToString(sdp); |
179 *type = description->type(); | 179 *type = description->type(); |
180 } | 180 } |
181 } | 181 } |
182 | 182 |
183 // Converter functions from WebKit types to WebRTC types. | 183 // Converter functions from WebKit types to WebRTC types. |
184 | 184 |
185 void GetNativeRtcConfiguration( | 185 void GetNativeRtcConfiguration( |
186 const blink::WebRTCConfiguration& blink_config, | 186 const blink::WebRTCConfiguration& blink_config, |
187 webrtc::PeerConnectionInterface::RTCConfiguration* webrtc_config) { | 187 webrtc::PeerConnectionInterface::RTCConfiguration* webrtc_config) { |
188 if (blink_config.isNull() || !webrtc_config) | 188 DCHECK_EQ(webrtc_config->enable_localhost_ice_candidate, false); |
| 189 |
| 190 // When we don't have WebRTCConfiguration, treat it as a special case where we |
| 191 // should generate local host candidate. This will only be honored if |
| 192 // enable_multiple_routes is disabled. |
| 193 if (blink_config.isNull()) { |
| 194 webrtc_config->enable_localhost_ice_candidate = true; |
189 return; | 195 return; |
190 for (size_t i = 0; i < blink_config.numberOfServers(); ++i) { | 196 } |
191 webrtc::PeerConnectionInterface::IceServer server; | 197 |
192 const blink::WebRTCICEServer& webkit_server = | 198 if (blink_config.iceServers().isNull()) { |
193 blink_config.server(i); | 199 // Same as when iceServers is undefined or unspecified. |
194 server.username = | 200 webrtc_config->enable_localhost_ice_candidate = true; |
195 base::UTF16ToUTF8(base::StringPiece16(webkit_server.username())); | 201 } else { |
196 server.password = | 202 for (size_t i = 0; i < blink_config.iceServers().numberOfServers(); ++i) { |
197 base::UTF16ToUTF8(base::StringPiece16(webkit_server.credential())); | 203 webrtc::PeerConnectionInterface::IceServer server; |
198 server.uri = webkit_server.uri().spec(); | 204 const blink::WebRTCICEServer& webkit_server = |
199 webrtc_config->servers.push_back(server); | 205 blink_config.iceServers().server(i); |
| 206 server.username = |
| 207 base::UTF16ToUTF8(base::StringPiece16(webkit_server.username())); |
| 208 server.password = |
| 209 base::UTF16ToUTF8(base::StringPiece16(webkit_server.credential())); |
| 210 server.uri = webkit_server.uri().spec(); |
| 211 webrtc_config->servers.push_back(server); |
| 212 } |
200 } | 213 } |
201 | 214 |
202 switch (blink_config.iceTransports()) { | 215 switch (blink_config.iceTransports()) { |
203 case blink::WebRTCIceTransportsNone: | 216 case blink::WebRTCIceTransportsNone: |
204 webrtc_config->type = webrtc::PeerConnectionInterface::kNone; | 217 webrtc_config->type = webrtc::PeerConnectionInterface::kNone; |
205 break; | 218 break; |
206 case blink::WebRTCIceTransportsRelay: | 219 case blink::WebRTCIceTransportsRelay: |
207 webrtc_config->type = webrtc::PeerConnectionInterface::kRelay; | 220 webrtc_config->type = webrtc::PeerConnectionInterface::kRelay; |
208 break; | 221 break; |
209 case blink::WebRTCIceTransportsAll: | 222 case blink::WebRTCIceTransportsAll: |
(...skipping 1404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1614 } | 1627 } |
1615 | 1628 |
1616 void RTCPeerConnectionHandler::ResetUMAStats() { | 1629 void RTCPeerConnectionHandler::ResetUMAStats() { |
1617 DCHECK(thread_checker_.CalledOnValidThread()); | 1630 DCHECK(thread_checker_.CalledOnValidThread()); |
1618 num_local_candidates_ipv6_ = 0; | 1631 num_local_candidates_ipv6_ = 0; |
1619 num_local_candidates_ipv4_ = 0; | 1632 num_local_candidates_ipv4_ = 0; |
1620 ice_connection_checking_start_ = base::TimeTicks(); | 1633 ice_connection_checking_start_ = base::TimeTicks(); |
1621 memset(ice_state_seen_, 0, sizeof(ice_state_seen_)); | 1634 memset(ice_state_seen_, 0, sizeof(ice_state_seen_)); |
1622 } | 1635 } |
1623 } // namespace content | 1636 } // namespace content |
OLD | NEW |