| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/webrtc/peer_connection_dependency_factory.h" | 5 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 198 signaling_thread_(NULL), | 198 signaling_thread_(NULL), |
| 199 worker_thread_(NULL), | 199 worker_thread_(NULL), |
| 200 chrome_signaling_thread_("Chrome_libJingle_Signaling"), | 200 chrome_signaling_thread_("Chrome_libJingle_Signaling"), |
| 201 chrome_worker_thread_("Chrome_libJingle_WorkerThread") { | 201 chrome_worker_thread_("Chrome_libJingle_WorkerThread") { |
| 202 TryScheduleStunProbeTrial(); | 202 TryScheduleStunProbeTrial(); |
| 203 } | 203 } |
| 204 | 204 |
| 205 PeerConnectionDependencyFactory::~PeerConnectionDependencyFactory() { | 205 PeerConnectionDependencyFactory::~PeerConnectionDependencyFactory() { |
| 206 DVLOG(1) << "~PeerConnectionDependencyFactory()"; | 206 DVLOG(1) << "~PeerConnectionDependencyFactory()"; |
| 207 DCHECK(pc_factory_ == NULL); | 207 DCHECK(pc_factory_ == NULL); |
| 208 |
| 209 for (auto prober : stun_probers_) { |
| 210 if (prober) |
| 211 delete prober; |
| 212 } |
| 208 } | 213 } |
| 209 | 214 |
| 210 blink::WebRTCPeerConnectionHandler* | 215 blink::WebRTCPeerConnectionHandler* |
| 211 PeerConnectionDependencyFactory::CreateRTCPeerConnectionHandler( | 216 PeerConnectionDependencyFactory::CreateRTCPeerConnectionHandler( |
| 212 blink::WebRTCPeerConnectionHandlerClient* client) { | 217 blink::WebRTCPeerConnectionHandlerClient* client) { |
| 213 // Save histogram data so we can see how much PeerConnetion is used. | 218 // Save histogram data so we can see how much PeerConnetion is used. |
| 214 // The histogram counts the number of calls to the JS API | 219 // The histogram counts the number of calls to the JS API |
| 215 // webKitRTCPeerConnection. | 220 // webKitRTCPeerConnection. |
| 216 UpdateWebRTCMethodCount(WEBKIT_RTC_PEER_CONNECTION); | 221 UpdateWebRTCMethodCount(WEBKIT_RTC_PEER_CONNECTION); |
| 217 | 222 |
| (...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 678 &PeerConnectionDependencyFactory::StartStunProbeTrialOnWorkerThread, | 683 &PeerConnectionDependencyFactory::StartStunProbeTrialOnWorkerThread, |
| 679 base::Unretained(this), params), | 684 base::Unretained(this), params), |
| 680 base::TimeDelta::FromMilliseconds(kExperimentStartDelayMs)); | 685 base::TimeDelta::FromMilliseconds(kExperimentStartDelayMs)); |
| 681 } | 686 } |
| 682 | 687 |
| 683 void PeerConnectionDependencyFactory::StartStunProbeTrialOnWorkerThread( | 688 void PeerConnectionDependencyFactory::StartStunProbeTrialOnWorkerThread( |
| 684 const std::string& params) { | 689 const std::string& params) { |
| 685 DCHECK(chrome_worker_thread_.task_runner()->BelongsToCurrentThread()); | 690 DCHECK(chrome_worker_thread_.task_runner()->BelongsToCurrentThread()); |
| 686 rtc::NetworkManager::NetworkList networks; | 691 rtc::NetworkManager::NetworkList networks; |
| 687 network_manager_->GetNetworks(&networks); | 692 network_manager_->GetNetworks(&networks); |
| 688 stun_prober_ = StartStunProbeTrial(networks, params, socket_factory_.get()); | 693 StartStunProbeTrial(networks, params, socket_factory_.get(), &stun_probers_); |
| 689 } | 694 } |
| 690 | 695 |
| 691 void PeerConnectionDependencyFactory::CreateIpcNetworkManagerOnWorkerThread( | 696 void PeerConnectionDependencyFactory::CreateIpcNetworkManagerOnWorkerThread( |
| 692 base::WaitableEvent* event) { | 697 base::WaitableEvent* event) { |
| 693 DCHECK(chrome_worker_thread_.task_runner()->BelongsToCurrentThread()); | 698 DCHECK(chrome_worker_thread_.task_runner()->BelongsToCurrentThread()); |
| 694 network_manager_ = new IpcNetworkManager(p2p_socket_dispatcher_.get()); | 699 network_manager_ = new IpcNetworkManager(p2p_socket_dispatcher_.get()); |
| 695 event->Signal(); | 700 event->Signal(); |
| 696 } | 701 } |
| 697 | 702 |
| 698 void PeerConnectionDependencyFactory::DeleteIpcNetworkManager() { | 703 void PeerConnectionDependencyFactory::DeleteIpcNetworkManager() { |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 755 } | 760 } |
| 756 | 761 |
| 757 void PeerConnectionDependencyFactory::EnsureWebRtcAudioDeviceImpl() { | 762 void PeerConnectionDependencyFactory::EnsureWebRtcAudioDeviceImpl() { |
| 758 if (audio_device_.get()) | 763 if (audio_device_.get()) |
| 759 return; | 764 return; |
| 760 | 765 |
| 761 audio_device_ = new WebRtcAudioDeviceImpl(); | 766 audio_device_ = new WebRtcAudioDeviceImpl(); |
| 762 } | 767 } |
| 763 | 768 |
| 764 } // namespace content | 769 } // namespace content |
| OLD | NEW |