OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 #include "content/renderer/media/peer_connection_tracker.h" | 4 #include "content/renderer/media/peer_connection_tracker.h" |
5 | 5 |
6 #include "base/strings/utf_string_conversions.h" | 6 #include "base/strings/utf_string_conversions.h" |
7 #include "content/common/media/peer_connection_tracker_messages.h" | 7 #include "content/common/media/peer_connection_tracker_messages.h" |
8 #include "content/renderer/media/rtc_media_constraints.h" | 8 #include "content/renderer/media/rtc_media_constraints.h" |
9 #include "content/renderer/media/rtc_peer_connection_handler.h" | 9 #include "content/renderer/media/rtc_peer_connection_handler.h" |
10 #include "content/renderer/render_thread_impl.h" | 10 #include "content/renderer/render_thread_impl.h" |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 if (i != optional.size() - 1) | 57 if (i != optional.size() - 1) |
58 result += ", "; | 58 result += ", "; |
59 } | 59 } |
60 result += "}"; | 60 result += "}"; |
61 } | 61 } |
62 return result; | 62 return result; |
63 } | 63 } |
64 | 64 |
65 static string SerializeMediaStreamComponent( | 65 static string SerializeMediaStreamComponent( |
66 const blink::WebMediaStreamTrack component) { | 66 const blink::WebMediaStreamTrack component) { |
67 string id = UTF16ToUTF8(component.source().id()); | 67 string id = base::UTF16ToUTF8(component.source().id()); |
68 return id; | 68 return id; |
69 } | 69 } |
70 | 70 |
71 static string SerializeMediaDescriptor( | 71 static string SerializeMediaDescriptor( |
72 const blink::WebMediaStream& stream) { | 72 const blink::WebMediaStream& stream) { |
73 string label = UTF16ToUTF8(stream.id()); | 73 string label = base::UTF16ToUTF8(stream.id()); |
74 string result = "label: " + label; | 74 string result = "label: " + label; |
75 blink::WebVector<blink::WebMediaStreamTrack> tracks; | 75 blink::WebVector<blink::WebMediaStreamTrack> tracks; |
76 stream.audioTracks(tracks); | 76 stream.audioTracks(tracks); |
77 if (!tracks.isEmpty()) { | 77 if (!tracks.isEmpty()) { |
78 result += ", audio: ["; | 78 result += ", audio: ["; |
79 for (size_t i = 0; i < tracks.size(); ++i) { | 79 for (size_t i = 0; i < tracks.size(); ++i) { |
80 result += SerializeMediaStreamComponent(tracks[i]); | 80 result += SerializeMediaStreamComponent(tracks[i]); |
81 if (i != tracks.size() - 1) | 81 if (i != tracks.size() - 1) |
82 result += ", "; | 82 result += ", "; |
83 } | 83 } |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 const RTCMediaConstraints& constraints) { | 299 const RTCMediaConstraints& constraints) { |
300 SendPeerConnectionUpdate( | 300 SendPeerConnectionUpdate( |
301 pc_handler, "createAnswer", | 301 pc_handler, "createAnswer", |
302 "constraints: {" + SerializeMediaConstraints(constraints) + "}"); | 302 "constraints: {" + SerializeMediaConstraints(constraints) + "}"); |
303 } | 303 } |
304 | 304 |
305 void PeerConnectionTracker::TrackSetSessionDescription( | 305 void PeerConnectionTracker::TrackSetSessionDescription( |
306 RTCPeerConnectionHandler* pc_handler, | 306 RTCPeerConnectionHandler* pc_handler, |
307 const blink::WebRTCSessionDescription& desc, | 307 const blink::WebRTCSessionDescription& desc, |
308 Source source) { | 308 Source source) { |
309 string sdp = UTF16ToUTF8(desc.sdp()); | 309 string sdp = base::UTF16ToUTF8(desc.sdp()); |
310 string type = UTF16ToUTF8(desc.type()); | 310 string type = base::UTF16ToUTF8(desc.type()); |
311 | 311 |
312 string value = "type: " + type + ", sdp: " + sdp; | 312 string value = "type: " + type + ", sdp: " + sdp; |
313 SendPeerConnectionUpdate( | 313 SendPeerConnectionUpdate( |
314 pc_handler, | 314 pc_handler, |
315 source == SOURCE_LOCAL ? "setLocalDescription" : "setRemoteDescription", | 315 source == SOURCE_LOCAL ? "setLocalDescription" : "setRemoteDescription", |
316 value); | 316 value); |
317 } | 317 } |
318 | 318 |
319 void PeerConnectionTracker::TrackUpdateIce( | 319 void PeerConnectionTracker::TrackUpdateIce( |
320 RTCPeerConnectionHandler* pc_handler, | 320 RTCPeerConnectionHandler* pc_handler, |
321 const std::vector<webrtc::PeerConnectionInterface::IceServer>& servers, | 321 const std::vector<webrtc::PeerConnectionInterface::IceServer>& servers, |
322 const RTCMediaConstraints& options) { | 322 const RTCMediaConstraints& options) { |
323 string servers_string = "servers: " + SerializeServers(servers); | 323 string servers_string = "servers: " + SerializeServers(servers); |
324 string constraints = | 324 string constraints = |
325 "constraints: {" + SerializeMediaConstraints(options) + "}"; | 325 "constraints: {" + SerializeMediaConstraints(options) + "}"; |
326 | 326 |
327 SendPeerConnectionUpdate( | 327 SendPeerConnectionUpdate( |
328 pc_handler, "updateIce", servers_string + ", " + constraints); | 328 pc_handler, "updateIce", servers_string + ", " + constraints); |
329 } | 329 } |
330 | 330 |
331 void PeerConnectionTracker::TrackAddIceCandidate( | 331 void PeerConnectionTracker::TrackAddIceCandidate( |
332 RTCPeerConnectionHandler* pc_handler, | 332 RTCPeerConnectionHandler* pc_handler, |
333 const blink::WebRTCICECandidate& candidate, | 333 const blink::WebRTCICECandidate& candidate, |
334 Source source) { | 334 Source source) { |
335 string value = "mid: " + UTF16ToUTF8(candidate.sdpMid()) + ", " + | 335 string value = "mid: " + base::UTF16ToUTF8(candidate.sdpMid()) + ", " + |
336 "candidate: " + UTF16ToUTF8(candidate.candidate()); | 336 "candidate: " + base::UTF16ToUTF8(candidate.candidate()); |
337 SendPeerConnectionUpdate( | 337 SendPeerConnectionUpdate( |
338 pc_handler, | 338 pc_handler, |
339 source == SOURCE_LOCAL ? "onIceCandidate" : "addIceCandidate", value); | 339 source == SOURCE_LOCAL ? "onIceCandidate" : "addIceCandidate", value); |
340 } | 340 } |
341 | 341 |
342 void PeerConnectionTracker::TrackAddStream( | 342 void PeerConnectionTracker::TrackAddStream( |
343 RTCPeerConnectionHandler* pc_handler, | 343 RTCPeerConnectionHandler* pc_handler, |
344 const blink::WebMediaStream& stream, | 344 const blink::WebMediaStream& stream, |
345 Source source){ | 345 Source source){ |
346 SendPeerConnectionUpdate( | 346 SendPeerConnectionUpdate( |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
424 | 424 |
425 void PeerConnectionTracker::TrackOnRenegotiationNeeded( | 425 void PeerConnectionTracker::TrackOnRenegotiationNeeded( |
426 RTCPeerConnectionHandler* pc_handler) { | 426 RTCPeerConnectionHandler* pc_handler) { |
427 SendPeerConnectionUpdate(pc_handler, "onRenegotiationNeeded", std::string()); | 427 SendPeerConnectionUpdate(pc_handler, "onRenegotiationNeeded", std::string()); |
428 } | 428 } |
429 | 429 |
430 void PeerConnectionTracker::TrackCreateDTMFSender( | 430 void PeerConnectionTracker::TrackCreateDTMFSender( |
431 RTCPeerConnectionHandler* pc_handler, | 431 RTCPeerConnectionHandler* pc_handler, |
432 const blink::WebMediaStreamTrack& track) { | 432 const blink::WebMediaStreamTrack& track) { |
433 SendPeerConnectionUpdate(pc_handler, "createDTMFSender", | 433 SendPeerConnectionUpdate(pc_handler, "createDTMFSender", |
434 UTF16ToUTF8(track.id())); | 434 base::UTF16ToUTF8(track.id())); |
435 } | 435 } |
436 | 436 |
437 int PeerConnectionTracker::GetNextLocalID() { | 437 int PeerConnectionTracker::GetNextLocalID() { |
438 return next_lid_++; | 438 return next_lid_++; |
439 } | 439 } |
440 | 440 |
441 void PeerConnectionTracker::SendPeerConnectionUpdate( | 441 void PeerConnectionTracker::SendPeerConnectionUpdate( |
442 RTCPeerConnectionHandler* pc_handler, | 442 RTCPeerConnectionHandler* pc_handler, |
443 const std::string& type, | 443 const std::string& type, |
444 const std::string& value) { | 444 const std::string& value) { |
445 if (peer_connection_id_map_.find(pc_handler) == peer_connection_id_map_.end()) | 445 if (peer_connection_id_map_.find(pc_handler) == peer_connection_id_map_.end()) |
446 return; | 446 return; |
447 | 447 |
448 RenderThreadImpl::current()->Send( | 448 RenderThreadImpl::current()->Send( |
449 new PeerConnectionTrackerHost_UpdatePeerConnection( | 449 new PeerConnectionTrackerHost_UpdatePeerConnection( |
450 peer_connection_id_map_[pc_handler], type, value)); | 450 peer_connection_id_map_[pc_handler], type, value)); |
451 } | 451 } |
452 | 452 |
453 } // namespace content | 453 } // namespace content |
OLD | NEW |