diff options
author | Sam Zackrisson <saza@webrtc.org> | 2020-05-12 10:48:19 +0200 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-05-12 10:56:18 +0000 |
commit | b0bd0708d6542ce837d0499975fab7b22d2fad20 (patch) | |
tree | 7901d490693ddf38b28ed5cc81071e004155528b /api | |
parent | 5c1a56540b53cc464c0d7e151cb338a92186034f (diff) | |
download | webrtc-b0bd0708d6542ce837d0499975fab7b22d2fad20.tar.gz |
Surface ResidualEchoDetector creation to API
This allows users to inject the residual echo detector, as a step toward making it an optional part of compilation.
Bug: webrtc:11292, webrtc:11539
Change-Id: I7fcc8dbaced67a82851cd6cdcbc115eb01c21fcf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174040
Reviewed-by: Per Ã…hgren <peah@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31222}
Diffstat (limited to 'api')
-rw-r--r-- | api/DEPS | 4 | ||||
-rw-r--r-- | api/audio/BUILD.gn | 14 | ||||
-rw-r--r-- | api/audio/echo_detector_creator.cc | 21 | ||||
-rw-r--r-- | api/audio/echo_detector_creator.h | 26 |
4 files changed, 65 insertions, 0 deletions
@@ -246,6 +246,10 @@ specific_include_rules = { "+modules/audio_processing/include/audio_processing.h", ], + "echo_detector_creator\.h": [ + "+modules/audio_processing/include/audio_processing.h", + ], + "fake_frame_decryptor\.h": [ "+rtc_base/ref_counted_object.h", ], diff --git a/api/audio/BUILD.gn b/api/audio/BUILD.gn index 2405d9d041..4c8004ed2d 100644 --- a/api/audio/BUILD.gn +++ b/api/audio/BUILD.gn @@ -87,3 +87,17 @@ rtc_source_set("echo_control") { sources = [ "echo_control.h" ] deps = [ "../../rtc_base:checks" ] } + +rtc_source_set("echo_detector_creator") { + visibility = [ "*" ] + sources = [ + "echo_detector_creator.cc", + "echo_detector_creator.h", + ] + deps = [ + "../../api:scoped_refptr", + "../../modules/audio_processing:api", + "../../modules/audio_processing:audio_processing", + "../../rtc_base:refcount", + ] +} diff --git a/api/audio/echo_detector_creator.cc b/api/audio/echo_detector_creator.cc new file mode 100644 index 0000000000..4c3d9e61fe --- /dev/null +++ b/api/audio/echo_detector_creator.cc @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2020 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ +#include "api/audio/echo_detector_creator.h" + +#include "modules/audio_processing/residual_echo_detector.h" +#include "rtc_base/ref_counted_object.h" + +namespace webrtc { + +rtc::scoped_refptr<EchoDetector> CreateEchoDetector() { + return new rtc::RefCountedObject<ResidualEchoDetector>(); +} + +} // namespace webrtc diff --git a/api/audio/echo_detector_creator.h b/api/audio/echo_detector_creator.h new file mode 100644 index 0000000000..5ba171de97 --- /dev/null +++ b/api/audio/echo_detector_creator.h @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2020 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef API_AUDIO_ECHO_DETECTOR_CREATOR_H_ +#define API_AUDIO_ECHO_DETECTOR_CREATOR_H_ + +#include "api/scoped_refptr.h" +#include "modules/audio_processing/include/audio_processing.h" + +namespace webrtc { + +// Returns an instance of the WebRTC implementation of a residual echo detector. +// It can be provided to the webrtc::AudioProcessingBuilder to obtain the +// usual residual echo metrics. +rtc::scoped_refptr<EchoDetector> CreateEchoDetector(); + +} // namespace webrtc + +#endif // API_AUDIO_ECHO_DETECTOR_CREATOR_H_ |