Chromium Code Reviews| Index: content/renderer/media/media_stream_audio_processor_options.cc |
| diff --git a/content/renderer/media/media_stream_audio_processor_options.cc b/content/renderer/media/media_stream_audio_processor_options.cc |
| index 1f875f9525e0d89317c614bd20c6ec6dd659cbae..79614dff3f133e70371b7250148a2cf2daaae17a 100644 |
| --- a/content/renderer/media/media_stream_audio_processor_options.cc |
| +++ b/content/renderer/media/media_stream_audio_processor_options.cc |
| @@ -51,27 +51,29 @@ struct { |
| const char* key; |
| bool value; |
| } const kDefaultAudioConstraints[] = { |
| - { MediaAudioConstraints::kEchoCancellation, true }, |
| - { MediaAudioConstraints::kGoogEchoCancellation, true }, |
| + {MediaAudioConstraints::kEchoCancellation, true}, |
| + {MediaAudioConstraints::kGoogEchoCancellation, true}, |
| #if defined(OS_ANDROID) || defined(OS_IOS) |
| - { MediaAudioConstraints::kGoogExperimentalEchoCancellation, false }, |
| + {MediaAudioConstraints::kGoogExperimentalEchoCancellation, false}, |
| #else |
| - // Enable the extended filter mode AEC on all non-mobile platforms. |
| - { MediaAudioConstraints::kGoogExperimentalEchoCancellation, true }, |
| + // Enable the extended filter mode AEC on all non-mobile platforms. |
| + {MediaAudioConstraints::kGoogExperimentalEchoCancellation, true}, |
| #endif |
| - { MediaAudioConstraints::kGoogAutoGainControl, true }, |
| - { MediaAudioConstraints::kGoogExperimentalAutoGainControl, true }, |
| - { MediaAudioConstraints::kGoogNoiseSuppression, true }, |
| - { MediaAudioConstraints::kGoogHighpassFilter, true }, |
| - { MediaAudioConstraints::kGoogTypingNoiseDetection, true }, |
| - { MediaAudioConstraints::kGoogExperimentalNoiseSuppression, false }, |
| - { MediaAudioConstraints::kGoogBeamforming, false }, |
| + {MediaAudioConstraints::kGoogAutoGainControl, true}, |
| + {MediaAudioConstraints::kGoogExperimentalAutoGainControl, true}, |
| + {MediaAudioConstraints::kGoogNoiseSuppression, true}, |
| + {MediaAudioConstraints::kGoogHighpassFilter, true}, |
| + {MediaAudioConstraints::kGoogTypingNoiseDetection, true}, |
| + {MediaAudioConstraints::kGoogExperimentalNoiseSuppression, false}, |
| + // Beamforming will only be enabled if we are also provided with a |
| + // multi-microphone geometry. |
| + {MediaAudioConstraints::kGoogBeamforming, false}, |
|
ajm
2015/08/26 01:55:09
Disabled by default for now. I'll default enable i
|
| #if defined(OS_WIN) |
| - { kMediaStreamAudioDucking, true }, |
| + {kMediaStreamAudioDucking, true}, |
| #else |
| - { kMediaStreamAudioDucking, false }, |
| + {kMediaStreamAudioDucking, false}, |
| #endif |
| - { kMediaStreamAudioHotword, false }, |
| + {kMediaStreamAudioHotword, false}, |
| }; |
| bool IsAudioProcessingConstraint(const std::string& key) { |
| @@ -393,10 +395,14 @@ void GetAecStats(webrtc::EchoCancellation* echo_cancellation, |
| CONTENT_EXPORT std::vector<webrtc::Point> ParseArrayGeometry( |
| const std::string& geometry_string) { |
| + std::vector<webrtc::Point> geometry; |
| + if (geometry_string.empty()) { |
| + return geometry; |
| + } |
| + |
| const auto& tokens = |
| base::SplitString(geometry_string, base::kWhitespaceASCII, |
| base::KEEP_WHITESPACE, base::SPLIT_WANT_NONEMPTY); |
| - std::vector<webrtc::Point> geometry; |
| if (tokens.size() < 3 || tokens.size() % 3 != 0) { |
| LOG(ERROR) << "Malformed geometry string: " << geometry_string; |
| return geometry; |