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 |