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

Unified Diff: content/renderer/media/media_stream_audio_processor_options.cc

Issue 1275783003: Add a virtual beamforming audio device on ChromeOS. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More constructors. Created 5 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 side-by-side diff with in-line comments
Download patch
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},
#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;

Powered by Google App Engine
This is Rietveld 408576698