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

Side by Side Diff: content/renderer/media/media_stream_audio_processor_options.cc

Issue 470403002: Provide experimental AudioProcessing options at creation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 months 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 unified diff | Download patch
« no previous file with comments | « content/renderer/media/media_stream_audio_processor_options.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/file_util.h" 7 #include "base/file_util.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.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 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 CHECK_EQ(err, 0); 226 CHECK_EQ(err, 0);
227 } 227 }
228 228
229 void EnableNoiseSuppression(AudioProcessing* audio_processing) { 229 void EnableNoiseSuppression(AudioProcessing* audio_processing) {
230 int err = audio_processing->noise_suppression()->set_level( 230 int err = audio_processing->noise_suppression()->set_level(
231 webrtc::NoiseSuppression::kHigh); 231 webrtc::NoiseSuppression::kHigh);
232 err |= audio_processing->noise_suppression()->Enable(true); 232 err |= audio_processing->noise_suppression()->Enable(true);
233 CHECK_EQ(err, 0); 233 CHECK_EQ(err, 0);
234 } 234 }
235 235
236 void EnableExperimentalNoiseSuppression(AudioProcessing* audio_processing) {
237 webrtc::Config config;
238 config.Set<webrtc::ExperimentalNs>(new webrtc::ExperimentalNs(true));
239 audio_processing->SetExtraOptions(config);
240 }
241
242 void EnableHighPassFilter(AudioProcessing* audio_processing) { 236 void EnableHighPassFilter(AudioProcessing* audio_processing) {
243 CHECK_EQ(audio_processing->high_pass_filter()->Enable(true), 0); 237 CHECK_EQ(audio_processing->high_pass_filter()->Enable(true), 0);
244 } 238 }
245 239
246 void EnableTypingDetection(AudioProcessing* audio_processing, 240 void EnableTypingDetection(AudioProcessing* audio_processing,
247 webrtc::TypingDetection* typing_detector) { 241 webrtc::TypingDetection* typing_detector) {
248 int err = audio_processing->voice_detection()->Enable(true); 242 int err = audio_processing->voice_detection()->Enable(true);
249 err |= audio_processing->voice_detection()->set_likelihood( 243 err |= audio_processing->voice_detection()->set_likelihood(
250 webrtc::VoiceDetection::kVeryLowLikelihood); 244 webrtc::VoiceDetection::kVeryLowLikelihood);
251 CHECK_EQ(err, 0); 245 CHECK_EQ(err, 0);
252 246
253 // Configure the update period to 1s (100 * 10ms) in the typing detector. 247 // Configure the update period to 1s (100 * 10ms) in the typing detector.
254 typing_detector->SetParameters(0, 0, 0, 0, 0, 100); 248 typing_detector->SetParameters(0, 0, 0, 0, 0, 100);
255 } 249 }
256 250
257 void EnableExperimentalEchoCancellation(AudioProcessing* audio_processing) {
258 webrtc::Config config;
259 config.Set<webrtc::DelayCorrection>(new webrtc::DelayCorrection(true));
260 audio_processing->SetExtraOptions(config);
261 }
262
263 void StartEchoCancellationDump(AudioProcessing* audio_processing, 251 void StartEchoCancellationDump(AudioProcessing* audio_processing,
264 base::File aec_dump_file) { 252 base::File aec_dump_file) {
265 DCHECK(aec_dump_file.IsValid()); 253 DCHECK(aec_dump_file.IsValid());
266 254
267 FILE* stream = base::FileToFILE(aec_dump_file.Pass(), "w"); 255 FILE* stream = base::FileToFILE(aec_dump_file.Pass(), "w");
268 if (!stream) { 256 if (!stream) {
269 LOG(ERROR) << "Failed to open AEC dump file"; 257 LOG(ERROR) << "Failed to open AEC dump file";
270 return; 258 return;
271 } 259 }
272 260
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 } 311 }
324 312
325 int median = 0, std = 0; 313 int median = 0, std = 0;
326 if (!audio_processing->echo_cancellation()->GetDelayMetrics(&median, &std)) { 314 if (!audio_processing->echo_cancellation()->GetDelayMetrics(&median, &std)) {
327 stats->echo_delay_median_ms = median; 315 stats->echo_delay_median_ms = median;
328 stats->echo_delay_std_ms = std; 316 stats->echo_delay_std_ms = std;
329 } 317 }
330 } 318 }
331 319
332 } // namespace content 320 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/media_stream_audio_processor_options.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698