From 1ba344a07060bf57db649299835ec4f093d58d40 Mon Sep 17 00:00:00 2001 From: Bjorn Volcker Date: Wed, 29 Apr 2015 07:28:10 +0200 Subject: [PATCH] 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} --- talk/app/webrtc/localaudiosource.cc | 2 ++ talk/app/webrtc/localaudiosource_unittest.cc | 8 +++++--- talk/app/webrtc/mediaconstraintsinterface.cc | 1 + talk/app/webrtc/mediaconstraintsinterface.h | 1 + 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/talk/app/webrtc/localaudiosource.cc b/talk/app/webrtc/localaudiosource.cc index bd57cd7efb..b37d1e3e41 100644 --- a/talk/app/webrtc/localaudiosource.cc +++ b/talk/app/webrtc/localaudiosource.cc @@ -78,6 +78,8 @@ void FromConstraints(const MediaConstraintsInterface::Constraints& constraints, 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 c838109f71..569f814a52 100644 --- a/talk/app/webrtc/localaudiosource_unittest.cc +++ b/talk/app/webrtc/localaudiosource_unittest.cc @@ -46,13 +46,13 @@ TEST(LocalAudioSourceTest, SetValidOptions) { 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 source = LocalAudioSource::Create(PeerConnectionFactoryInterface::Options(), @@ -64,7 +64,7 @@ TEST(LocalAudioSourceTest, SetValidOptions) { 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 @@ TEST(LocalAudioSourceTest, SetValidOptions) { 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 509c9db4f6..a84dde27b3 100644 --- a/talk/app/webrtc/mediaconstraintsinterface.cc +++ b/talk/app/webrtc/mediaconstraintsinterface.cc @@ -65,6 +65,7 @@ const char MediaConstraintsInterface::kHighpassFilter[] = 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 a3d5858321..cc682097f7 100644 --- a/talk/app/webrtc/mediaconstraintsinterface.h +++ b/talk/app/webrtc/mediaconstraintsinterface.h @@ -83,6 +83,7 @@ class MediaConstraintsInterface { 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