Moved audioproc_f interface into api directory.

The interface of the audioproc_f tool should be located in the api/ directory, so it becomes visible to the outside world.

Bug: webrtc:8732
Change-Id: Ia7475883aeb0e1f7a6afa5e791204b38dc53a8b8
Reviewed-on: https://webrtc-review.googlesource.com/61801
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22449}
This commit is contained in:
Ivo Creusen 2018-03-15 12:22:52 +01:00 committed by Commit Bot
parent bb894ffcb4
commit 2cb4105224
8 changed files with 105 additions and 22 deletions

View File

@ -313,6 +313,22 @@ rtc_source_set("libjingle_peerconnection_test_api") {
}
if (rtc_include_tests) {
if (rtc_enable_protobuf) {
rtc_source_set("audioproc_f_api") {
visibility = [ "*" ]
testonly = true
sources = [
"test/audioproc_float.cc",
"test/audioproc_float.h",
]
deps = [
"../modules/audio_processing:audio_processing",
"../modules/audio_processing:audioproc_f_impl",
]
}
}
rtc_source_set("mock_audio_mixer") {
testonly = true
sources = [

View File

@ -5,6 +5,7 @@ include_rules = [
"+p2p",
"+pc",
"+logging/rtc_event_log/rtc_event_log_factory_interface.h",
"+modules/audio_processing/include",
]
specific_include_rules = {
@ -27,9 +28,4 @@ specific_include_rules = {
".*i420_buffer\.h": [
"+system_wrappers/include/aligned_malloc.h",
],
# Needed to use the APM statistics.
"mediastreaminterface.h": [
"+modules/audio_processing/include/audio_processing_statistics.h",
],
}

View File

@ -0,0 +1,27 @@
/*
* Copyright (c) 2018 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/test/audioproc_float.h"
#include <utility>
#include "modules/audio_processing/test/audioproc_float_impl.h"
namespace webrtc {
namespace test {
int AudioprocFloat(std::unique_ptr<AudioProcessingBuilder> ap_builder,
int argc,
char* argv[]) {
return AudioprocFloatImpl(std::move(ap_builder), argc, argv);
}
} // namespace test
} // namespace webrtc

View File

@ -0,0 +1,42 @@
/*
* Copyright (c) 2018 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_TEST_AUDIOPROC_FLOAT_H_
#define API_TEST_AUDIOPROC_FLOAT_H_
#include <memory>
#include "modules/audio_processing/include/audio_processing.h"
namespace webrtc {
namespace test {
// This is an interface for the audio processing simulation utility. This
// utility can be used to simulate the audioprocessing module using a recording
// (either an AEC dump or wav files), and generate the output as a wav file.
// The |ap_builder| object will be used to create the AudioProcessing instance
// that is used during the simulation. The |ap_builder| supports setting of
// injectable components, which will be passed on to the created AudioProcessing
// instance. It is needed to pass the command line flags as |argc| and |argv|,
// so these can be interpreted properly by the utility.
// To get a fully-working audioproc_f utility, all that is needed is to write a
// main function, create an AudioProcessingBuilder, optionally set custom
// processing components on it, and pass the builder together with the command
// line arguments into this function.
// To see a list of all supported command line flags, run the executable with
// the '--help' flag.
int AudioprocFloat(std::unique_ptr<AudioProcessingBuilder> ap_builder,
int argc,
char* argv[]);
} // namespace test
} // namespace webrtc
#endif // API_TEST_AUDIOPROC_FLOAT_H_

View File

@ -676,8 +676,8 @@ if (rtc_include_tests) {
"test/aec_dump_based_simulator.h",
"test/audio_processing_simulator.cc",
"test/audio_processing_simulator.h",
"test/audioproc_float.cc",
"test/audioproc_float.h",
"test/audioproc_float_impl.cc",
"test/audioproc_float_impl.h",
"test/wav_based_simulator.cc",
"test/wav_based_simulator.h",
]
@ -712,7 +712,7 @@ if (rtc_include_tests) {
]
deps = [
":audio_processing",
":audioproc_f_impl",
"../../api:audioproc_f_api",
"../../rtc_base:rtc_base_approved",
]
} # audioproc_f

View File

@ -8,15 +8,17 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include <string.h>
#include <iostream>
#include <memory>
#include <string.h>
#include <string>
#include <utility>
#include "modules/audio_processing/include/audio_processing.h"
#include "modules/audio_processing/test/aec_dump_based_simulator.h"
#include "modules/audio_processing/test/audio_processing_simulator.h"
#include "modules/audio_processing/test/audioproc_float.h"
#include "modules/audio_processing/test/audioproc_float_impl.h"
#include "modules/audio_processing/test/wav_based_simulator.h"
#include "rtc_base/flags.h"
@ -461,9 +463,9 @@ void PerformBasicParameterSanityChecks(const SimulationSettings& settings) {
} // namespace
int audioproc_f(std::unique_ptr<AudioProcessingBuilder> ap_builder,
int argc,
char* argv[]) {
int AudioprocFloatImpl(std::unique_ptr<AudioProcessingBuilder> ap_builder,
int argc,
char* argv[]) {
if (rtc::FlagList::SetFlagsFromCommandLine(&argc, argv, true) ||
FLAG_help || argc != 1) {
printf("%s", kUsageDescription);

View File

@ -8,8 +8,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef MODULES_AUDIO_PROCESSING_TEST_AUDIOPROC_FLOAT_H_
#define MODULES_AUDIO_PROCESSING_TEST_AUDIOPROC_FLOAT_H_
#ifndef MODULES_AUDIO_PROCESSING_TEST_AUDIOPROC_FLOAT_IMPL_H_
#define MODULES_AUDIO_PROCESSING_TEST_AUDIOPROC_FLOAT_IMPL_H_
#include <memory>
@ -19,11 +19,11 @@ namespace webrtc {
namespace test {
// This function implements the audio processing simulation utility.
int audioproc_f(std::unique_ptr<AudioProcessingBuilder> ap_builder,
int argc,
char* argv[]);
int AudioprocFloatImpl(std::unique_ptr<AudioProcessingBuilder> ap_builder,
int argc,
char* argv[]);
} // namespace test
} // namespace webrtc
#endif // MODULES_AUDIO_PROCESSING_TEST_AUDIOPROC_FLOAT_H_
#endif // MODULES_AUDIO_PROCESSING_TEST_AUDIOPROC_FLOAT_IMPL_H_

View File

@ -8,11 +8,11 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "api/test/audioproc_float.h"
#include "modules/audio_processing/include/audio_processing.h"
#include "modules/audio_processing/test/audioproc_float.h"
#include "rtc_base/ptr_util.h"
int main(int argc, char* argv[]) {
return webrtc::test::audioproc_f(
return webrtc::test::AudioprocFloat(
rtc::MakeUnique<webrtc::AudioProcessingBuilder>(), argc, argv);
}