Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(750)

Unified Diff: content/renderer/media/webrtc/peer_connection_dependency_factory.cc

Issue 1417663004: Create an experiment to study whether too many bindings cause NAT failure (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update UMA name in code to match with histograms.xml Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/webrtc/peer_connection_dependency_factory.cc
diff --git a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
index 34a949b750d9181e6f154e2032cf1fef8db721cb..fb5594e2a1102dd88cf062b6a35ca26af679d64d 100644
--- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
+++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
@@ -656,8 +656,6 @@ void PeerConnectionDependencyFactory::TryScheduleStunProbeTrial() {
if (!cmd_line->HasSwitch(switches::kWebRtcStunProbeTrialParameter))
return;
- GetPcFactory();
-
// The underneath IPC channel has to be connected before sending any IPC
// message.
if (!p2p_socket_dispatcher_->connected()) {
@@ -669,6 +667,12 @@ void PeerConnectionDependencyFactory::TryScheduleStunProbeTrial() {
return;
}
+ // GetPcFactory could trigger an IPC message. If done before
+ // |p2p_socket_dispatcher_| is connected, that'll put the
+ // |p2p_socket_dispatcher_| in a bad state such that no other IPC message can
+ // be processed.
+ GetPcFactory();
+
const std::string params =
cmd_line->GetSwitchValueASCII(switches::kWebRtcStunProbeTrialParameter);
@@ -682,10 +686,10 @@ void PeerConnectionDependencyFactory::TryScheduleStunProbeTrial() {
void PeerConnectionDependencyFactory::StartStunProbeTrialOnWorkerThread(
const std::string& params) {
+ DCHECK(network_manager_);
DCHECK(chrome_worker_thread_.task_runner()->BelongsToCurrentThread());
- rtc::NetworkManager::NetworkList networks;
- network_manager_->GetNetworks(&networks);
- stun_prober_ = StartStunProbeTrial(networks, params, socket_factory_.get());
+ stun_trial_.reset(
+ new StunProberTrial(network_manager_, params, socket_factory_.get()));
}
void PeerConnectionDependencyFactory::CreateIpcNetworkManagerOnWorkerThread(
« no previous file with comments | « content/renderer/media/webrtc/peer_connection_dependency_factory.h ('k') | content/renderer/media/webrtc/stun_field_trial.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698