Adds a MediaConstraint for the AudioOption aec_dump
Alson includes
- a test verifying that the option is set
- changed the test verifying delay_agnostic_aec option is set to use non-default value
BUG=4555
TESTED=locally through AppRTCDemo on N7 and Android One
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/46059004
Cr-Commit-Position: refs/heads/master@{#9109}
diff --git a/talk/app/webrtc/localaudiosource.cc b/talk/app/webrtc/localaudiosource.cc
index bd57cd7..b37d1e3 100644
--- a/talk/app/webrtc/localaudiosource.cc
+++ b/talk/app/webrtc/localaudiosource.cc
@@ -78,6 +78,8 @@
options->typing_detection.Set(value);
else if (iter->key == MediaConstraintsInterface::kAudioMirroring)
options->stereo_swapping.Set(value);
+ else if (iter->key == MediaConstraintsInterface::kAecDump)
+ options->aec_dump.Set(value);
}
}
diff --git a/talk/app/webrtc/localaudiosource_unittest.cc b/talk/app/webrtc/localaudiosource_unittest.cc
index c838109..569f814 100644
--- a/talk/app/webrtc/localaudiosource_unittest.cc
+++ b/talk/app/webrtc/localaudiosource_unittest.cc
@@ -46,13 +46,13 @@
constraints.AddMandatory(MediaConstraintsInterface::kEchoCancellation, false);
constraints.AddOptional(
MediaConstraintsInterface::kExperimentalEchoCancellation, true);
- constraints.AddOptional(
- MediaConstraintsInterface::kDAEchoCancellation, false);
+ constraints.AddOptional(MediaConstraintsInterface::kDAEchoCancellation, true);
constraints.AddOptional(MediaConstraintsInterface::kAutoGainControl, true);
constraints.AddOptional(
MediaConstraintsInterface::kExperimentalAutoGainControl, true);
constraints.AddMandatory(MediaConstraintsInterface::kNoiseSuppression, false);
constraints.AddOptional(MediaConstraintsInterface::kHighpassFilter, true);
+ constraints.AddOptional(MediaConstraintsInterface::kAecDump, true);
rtc::scoped_refptr<LocalAudioSource> source =
LocalAudioSource::Create(PeerConnectionFactoryInterface::Options(),
@@ -64,7 +64,7 @@
EXPECT_TRUE(source->options().experimental_aec.Get(&value));
EXPECT_TRUE(value);
EXPECT_TRUE(source->options().delay_agnostic_aec.Get(&value));
- EXPECT_FALSE(value);
+ EXPECT_TRUE(value);
EXPECT_TRUE(source->options().auto_gain_control.Get(&value));
EXPECT_TRUE(value);
EXPECT_TRUE(source->options().experimental_agc.Get(&value));
@@ -73,6 +73,8 @@
EXPECT_FALSE(value);
EXPECT_TRUE(source->options().highpass_filter.Get(&value));
EXPECT_TRUE(value);
+ EXPECT_TRUE(source->options().aec_dump.Get(&value));
+ EXPECT_TRUE(value);
}
TEST(LocalAudioSourceTest, OptionNotSet) {
diff --git a/talk/app/webrtc/mediaconstraintsinterface.cc b/talk/app/webrtc/mediaconstraintsinterface.cc
index 509c9db..a84dde2 100644
--- a/talk/app/webrtc/mediaconstraintsinterface.cc
+++ b/talk/app/webrtc/mediaconstraintsinterface.cc
@@ -65,6 +65,7 @@
const char MediaConstraintsInterface::kTypingNoiseDetection[] =
"googTypingNoiseDetection";
const char MediaConstraintsInterface::kAudioMirroring[] = "googAudioMirroring";
+const char MediaConstraintsInterface::kAecDump[] = "audioDebugRecording";
// Google-specific constraint keys for a local video source (getUserMedia).
const char MediaConstraintsInterface::kNoiseReduction[] = "googNoiseReduction";
diff --git a/talk/app/webrtc/mediaconstraintsinterface.h b/talk/app/webrtc/mediaconstraintsinterface.h
index a3d5858..cc68209 100644
--- a/talk/app/webrtc/mediaconstraintsinterface.h
+++ b/talk/app/webrtc/mediaconstraintsinterface.h
@@ -83,6 +83,7 @@
static const char kHighpassFilter[]; // googHighpassFilter
static const char kTypingNoiseDetection[]; // googTypingNoiseDetection
static const char kAudioMirroring[]; // googAudioMirroring
+ static const char kAecDump[]; // audioDebugRecording
// Google-specific constraint keys for a local video source
static const char kNoiseReduction[]; // googNoiseReduction