Commit 2c3a29ca authored by Per Åhgren's avatar Per Åhgren Committed by Commit Bot

Added a base::Feature command line switch for specifying a clock-drift setup

This CL adds a command line switch based on base::Feature to allow the user
to explicitly specify when the setup used is such that the audio playout and
capture are done on different clocks (has clock-drift).

Bug: chromium:816742
Change-Id: I8a8e15ef479062a0ab30878ef3bde5b5c1f52d6e
Reviewed-on: https://chromium-review.googlesource.com/938921
Commit-Queue: Per Åhgren <peah@chromium.org>
Reviewed-by: default avatarNick Carter <nick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539795}
parent 5d6af5e8
...@@ -475,6 +475,11 @@ const base::Feature kWebRtcUseEchoCanceller3{"WebRtcUseEchoCanceller3", ...@@ -475,6 +475,11 @@ const base::Feature kWebRtcUseEchoCanceller3{"WebRtcUseEchoCanceller3",
const base::Feature kWebRtcAecBoundedErlSetup{ const base::Feature kWebRtcAecBoundedErlSetup{
"WebRtcAecBoundedErlSetup", base::FEATURE_DISABLED_BY_DEFAULT}; "WebRtcAecBoundedErlSetup", base::FEATURE_DISABLED_BY_DEFAULT};
// Informs the WebRTC Acoustic Echo Canceler (AEC) that the playout and
// capture is done using different clocks.
const base::Feature kWebRtcAecClockDriftSetup{
"WebRtcAecClockDriftSetup", base::FEATURE_DISABLED_BY_DEFAULT};
// Use GpuMemoryBuffer backed VideoFrames in media streams. // Use GpuMemoryBuffer backed VideoFrames in media streams.
const base::Feature kWebRtcUseGpuMemoryBufferVideoFrames{ const base::Feature kWebRtcUseGpuMemoryBufferVideoFrames{
"WebRTC-UseGpuMemoryBufferVideoFrames", base::FEATURE_DISABLED_BY_DEFAULT}; "WebRTC-UseGpuMemoryBufferVideoFrames", base::FEATURE_DISABLED_BY_DEFAULT};
......
...@@ -114,6 +114,7 @@ CONTENT_EXPORT extern const base::Feature kWebAuth; ...@@ -114,6 +114,7 @@ CONTENT_EXPORT extern const base::Feature kWebAuth;
CONTENT_EXPORT extern const base::Feature kWebGLImageChromium; CONTENT_EXPORT extern const base::Feature kWebGLImageChromium;
CONTENT_EXPORT extern const base::Feature kWebPayments; CONTENT_EXPORT extern const base::Feature kWebPayments;
CONTENT_EXPORT extern const base::Feature kWebRtcAecBoundedErlSetup; CONTENT_EXPORT extern const base::Feature kWebRtcAecBoundedErlSetup;
CONTENT_EXPORT extern const base::Feature kWebRtcAecClockDriftSetup;
CONTENT_EXPORT extern const base::Feature kWebRtcEcdsaDefault; CONTENT_EXPORT extern const base::Feature kWebRtcEcdsaDefault;
CONTENT_EXPORT extern const base::Feature kWebRtcHWH264Encoding; CONTENT_EXPORT extern const base::Feature kWebRtcHWH264Encoding;
CONTENT_EXPORT extern const base::Feature kWebRtcHWVP8Encoding; CONTENT_EXPORT extern const base::Feature kWebRtcHWVP8Encoding;
......
...@@ -627,6 +627,8 @@ void MediaStreamAudioProcessor::InitializeAudioProcessingModule( ...@@ -627,6 +627,8 @@ void MediaStreamAudioProcessor::InitializeAudioProcessingModule(
webrtc::EchoCanceller3Config aec3_config; webrtc::EchoCanceller3Config aec3_config;
aec3_config.ep_strength.bounded_erl = aec3_config.ep_strength.bounded_erl =
base::FeatureList::IsEnabled(features::kWebRtcAecBoundedErlSetup); base::FeatureList::IsEnabled(features::kWebRtcAecBoundedErlSetup);
aec3_config.echo_removal_control.has_clock_drift =
base::FeatureList::IsEnabled(features::kWebRtcAecClockDriftSetup);
ap_builder.SetEchoControlFactory( ap_builder.SetEchoControlFactory(
std::unique_ptr<webrtc::EchoControlFactory>( std::unique_ptr<webrtc::EchoControlFactory>(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment