OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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 | 4 |
5 #include "content/renderer/media/media_stream_audio_processor_options.h" | 5 #include "content/renderer/media/media_stream_audio_processor_options.h" |
6 | 6 |
7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/metrics/field_trial.h" | 10 #include "base/metrics/field_trial.h" |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 } | 259 } |
260 echo_poor_delay_counts_ = 0; | 260 echo_poor_delay_counts_ = 0; |
261 echo_total_delay_counts_ = 0; | 261 echo_total_delay_counts_ = 0; |
262 last_log_time_ = base::TimeTicks::Now(); | 262 last_log_time_ = base::TimeTicks::Now(); |
263 } | 263 } |
264 | 264 |
265 void EnableEchoCancellation(AudioProcessing* audio_processing) { | 265 void EnableEchoCancellation(AudioProcessing* audio_processing) { |
266 #if defined(OS_ANDROID) || defined(OS_IOS) | 266 #if defined(OS_ANDROID) || defined(OS_IOS) |
267 const std::string group_name = | 267 const std::string group_name = |
268 base::FieldTrialList::FindFullName("ReplaceAECMWithAEC"); | 268 base::FieldTrialList::FindFullName("ReplaceAECMWithAEC"); |
269 if (group_name.empty() || group_name != "Enabled") { | 269 if (group_name.empty() || |
| 270 !(group_name == "Enabled" || group_name == "DefaultEnabled")) { |
270 // Mobile devices are using AECM. | 271 // Mobile devices are using AECM. |
271 int err = audio_processing->echo_control_mobile()->set_routing_mode( | 272 int err = audio_processing->echo_control_mobile()->set_routing_mode( |
272 webrtc::EchoControlMobile::kSpeakerphone); | 273 webrtc::EchoControlMobile::kSpeakerphone); |
273 err |= audio_processing->echo_control_mobile()->Enable(true); | 274 err |= audio_processing->echo_control_mobile()->Enable(true); |
274 CHECK_EQ(err, 0); | 275 CHECK_EQ(err, 0); |
275 return; | 276 return; |
276 } | 277 } |
277 #endif | 278 #endif |
278 int err = audio_processing->echo_cancellation()->set_suppression_level( | 279 int err = audio_processing->echo_cancellation()->set_suppression_level( |
279 webrtc::EchoCancellation::kHighSuppression); | 280 webrtc::EchoCancellation::kHighSuppression); |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 } | 371 } |
371 | 372 |
372 int median = 0, std = 0; | 373 int median = 0, std = 0; |
373 if (!audio_processing->echo_cancellation()->GetDelayMetrics(&median, &std)) { | 374 if (!audio_processing->echo_cancellation()->GetDelayMetrics(&median, &std)) { |
374 stats->echo_delay_median_ms = median; | 375 stats->echo_delay_median_ms = median; |
375 stats->echo_delay_std_ms = std; | 376 stats->echo_delay_std_ms = std; |
376 } | 377 } |
377 } | 378 } |
378 | 379 |
379 } // namespace content | 380 } // namespace content |
OLD | NEW |