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

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

Issue 1815563004: Remove iOS ifdefs in src/content. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 4 years, 9 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
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 <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 namespace { 48 namespace {
49 49
50 // Constant constraint keys which enables default audio constraints on 50 // Constant constraint keys which enables default audio constraints on
51 // mediastreams with audio. 51 // mediastreams with audio.
52 struct { 52 struct {
53 const char* key; 53 const char* key;
54 bool value; 54 bool value;
55 } const kDefaultAudioConstraints[] = { 55 } const kDefaultAudioConstraints[] = {
56 { MediaAudioConstraints::kEchoCancellation, true }, 56 { MediaAudioConstraints::kEchoCancellation, true },
57 { MediaAudioConstraints::kGoogEchoCancellation, true }, 57 { MediaAudioConstraints::kGoogEchoCancellation, true },
58 #if defined(OS_ANDROID) || defined(OS_IOS) 58 #if defined(OS_ANDROID)
59 { MediaAudioConstraints::kGoogExperimentalEchoCancellation, false }, 59 { MediaAudioConstraints::kGoogExperimentalEchoCancellation, false },
60 #else 60 #else
61 // Enable the extended filter mode AEC on all non-mobile platforms. 61 // Enable the extended filter mode AEC on all non-mobile platforms.
62 { MediaAudioConstraints::kGoogExperimentalEchoCancellation, true }, 62 { MediaAudioConstraints::kGoogExperimentalEchoCancellation, true },
63 #endif 63 #endif
64 { MediaAudioConstraints::kGoogAutoGainControl, true }, 64 { MediaAudioConstraints::kGoogAutoGainControl, true },
65 { MediaAudioConstraints::kGoogExperimentalAutoGainControl, true }, 65 { MediaAudioConstraints::kGoogExperimentalAutoGainControl, true },
66 { MediaAudioConstraints::kGoogNoiseSuppression, true }, 66 { MediaAudioConstraints::kGoogNoiseSuppression, true },
67 { MediaAudioConstraints::kGoogHighpassFilter, true }, 67 { MediaAudioConstraints::kGoogHighpassFilter, true },
68 { MediaAudioConstraints::kGoogTypingNoiseDetection, true }, 68 { MediaAudioConstraints::kGoogTypingNoiseDetection, true },
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 *field = rtc::Optional<bool>(value); 141 *field = rtc::Optional<bool>(value);
142 } 142 }
143 } 143 }
144 144
145 } // namespace 145 } // namespace
146 146
147 // TODO(xians): Remove this method after the APM in WebRtc is deprecated. 147 // TODO(xians): Remove this method after the APM in WebRtc is deprecated.
148 void MediaAudioConstraints::ApplyFixedAudioConstraints( 148 void MediaAudioConstraints::ApplyFixedAudioConstraints(
149 cricket::AudioOptions* options) { 149 cricket::AudioOptions* options) {
150 SetIfNotSet(&options->echo_cancellation, true); 150 SetIfNotSet(&options->echo_cancellation, true);
151 #if defined(OS_ANDROID) || defined(OS_IOS) 151 #if defined(OS_ANDROID)
152 SetIfNotSet(&options->extended_filter_aec, false); 152 SetIfNotSet(&options->extended_filter_aec, false);
153 #else 153 #else
154 // Enable the extended filter mode AEC on all non-mobile platforms. 154 // Enable the extended filter mode AEC on all non-mobile platforms.
155 SetIfNotSet(&options->extended_filter_aec, true); 155 SetIfNotSet(&options->extended_filter_aec, true);
156 #endif 156 #endif
157 SetIfNotSet(&options->auto_gain_control, true); 157 SetIfNotSet(&options->auto_gain_control, true);
158 SetIfNotSet(&options->experimental_agc, true); 158 SetIfNotSet(&options->experimental_agc, true);
159 SetIfNotSet(&options->noise_suppression, true); 159 SetIfNotSet(&options->noise_suppression, true);
160 SetIfNotSet(&options->highpass_filter, true); 160 SetIfNotSet(&options->highpass_filter, true);
161 SetIfNotSet(&options->typing_detection, true); 161 SetIfNotSet(&options->typing_detection, true);
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 // Map |fraction_poor_delays| to an Echo Cancellation quality and log in UMA 342 // Map |fraction_poor_delays| to an Echo Cancellation quality and log in UMA
343 // histogram. See DelayBasedEchoQuality for information on histogram 343 // histogram. See DelayBasedEchoQuality for information on histogram
344 // buckets. 344 // buckets.
345 UMA_HISTOGRAM_ENUMERATION("WebRTC.AecDelayBasedQuality", 345 UMA_HISTOGRAM_ENUMERATION("WebRTC.AecDelayBasedQuality",
346 EchoDelayFrequencyToQuality(fraction_poor_delays), 346 EchoDelayFrequencyToQuality(fraction_poor_delays),
347 DELAY_BASED_ECHO_QUALITY_MAX); 347 DELAY_BASED_ECHO_QUALITY_MAX);
348 } 348 }
349 } 349 }
350 350
351 void EnableEchoCancellation(AudioProcessing* audio_processing) { 351 void EnableEchoCancellation(AudioProcessing* audio_processing) {
352 #if defined(OS_ANDROID) || defined(OS_IOS) 352 #if defined(OS_ANDROID)
353 // Mobile devices are using AECM. 353 // Mobile devices are using AECM.
354 CHECK_EQ(0, audio_processing->echo_control_mobile()->set_routing_mode( 354 CHECK_EQ(0, audio_processing->echo_control_mobile()->set_routing_mode(
355 webrtc::EchoControlMobile::kSpeakerphone)); 355 webrtc::EchoControlMobile::kSpeakerphone));
356 CHECK_EQ(0, audio_processing->echo_control_mobile()->Enable(true)); 356 CHECK_EQ(0, audio_processing->echo_control_mobile()->Enable(true));
357 return; 357 return;
358 #endif 358 #endif
359 int err = audio_processing->echo_cancellation()->set_suppression_level( 359 int err = audio_processing->echo_cancellation()->set_suppression_level(
360 webrtc::EchoCancellation::kHighSuppression); 360 webrtc::EchoCancellation::kHighSuppression);
361 361
362 // Enable the metrics for AEC. 362 // Enable the metrics for AEC.
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 if (audio_processing->StartDebugRecording(stream)) 401 if (audio_processing->StartDebugRecording(stream))
402 DLOG(ERROR) << "Fail to start AEC debug recording"; 402 DLOG(ERROR) << "Fail to start AEC debug recording";
403 } 403 }
404 404
405 void StopEchoCancellationDump(AudioProcessing* audio_processing) { 405 void StopEchoCancellationDump(AudioProcessing* audio_processing) {
406 if (audio_processing->StopDebugRecording()) 406 if (audio_processing->StopDebugRecording())
407 DLOG(ERROR) << "Fail to stop AEC debug recording"; 407 DLOG(ERROR) << "Fail to stop AEC debug recording";
408 } 408 }
409 409
410 void EnableAutomaticGainControl(AudioProcessing* audio_processing) { 410 void EnableAutomaticGainControl(AudioProcessing* audio_processing) {
411 #if defined(OS_ANDROID) || defined(OS_IOS) 411 #if defined(OS_ANDROID)
412 const webrtc::GainControl::Mode mode = webrtc::GainControl::kFixedDigital; 412 const webrtc::GainControl::Mode mode = webrtc::GainControl::kFixedDigital;
413 #else 413 #else
414 const webrtc::GainControl::Mode mode = webrtc::GainControl::kAdaptiveAnalog; 414 const webrtc::GainControl::Mode mode = webrtc::GainControl::kAdaptiveAnalog;
415 #endif 415 #endif
416 int err = audio_processing->gain_control()->set_mode(mode); 416 int err = audio_processing->gain_control()->set_mode(mode);
417 err |= audio_processing->gain_control()->Enable(true); 417 err |= audio_processing->gain_control()->Enable(true);
418 CHECK_EQ(err, 0); 418 CHECK_EQ(err, 0);
419 } 419 }
420 420
421 void GetAecStats(webrtc::EchoCancellation* echo_cancellation, 421 void GetAecStats(webrtc::EchoCancellation* echo_cancellation,
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 467
468 // Give preference to the audio constraint over the device-supplied mic 468 // Give preference to the audio constraint over the device-supplied mic
469 // positions. This is mainly for testing purposes. 469 // positions. This is mainly for testing purposes.
470 return WebrtcPointsFromMediaPoints( 470 return WebrtcPointsFromMediaPoints(
471 constraints_geometry.empty() 471 constraints_geometry.empty()
472 ? input_params.mic_positions 472 ? input_params.mic_positions
473 : media::ParsePointsFromString(constraints_geometry)); 473 : media::ParsePointsFromString(constraints_geometry));
474 } 474 }
475 475
476 } // namespace content 476 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698