webrtc/modules/audio_processing/test/py_quality_assessment/BUILD.gn
Alex Loiko 0488fcf293 Made modules/audio_processing/vad its own target.
WHAT: made a BUILD.gn with library and tests in the Audio Processing
Module Voice Activity Detector directory. Updated depending
code. Fixed a Clang warning.

WHY: to make it possible for a target to depend on just the VAD and
not the whole APM. There are other benefits:

* Sometimes faster compilation.

* The VAD takes up 28000 bytes of libjingle_peerconnection_so.so. Making
  a peerconnection shared object file without the VAD has to be done in
  steps. The first step is a custom target for the VAD. Hence this Cl.

Change-Id: Iea0207a0b5979db26baaf46b24beaefbb1c431af
BUG: webrtc:5716, webrtc:7494
Reviewed-on: https://webrtc-review.googlesource.com/47521
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21893}
2018-02-05 14:03:40 +00:00

190 lines
5.1 KiB
Text

# Copyright (c) 2017 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.
import("../../../../webrtc.gni")
group("py_quality_assessment") {
testonly = true
deps = [
":scripts",
":unit_tests",
]
}
copy("scripts") {
testonly = true
sources = [
"README.md",
"apm_quality_assessment.py",
"apm_quality_assessment.sh",
"apm_quality_assessment_boxplot.py",
"apm_quality_assessment_export.py",
"apm_quality_assessment_gencfgs.py",
"apm_quality_assessment_optimize.py",
]
outputs = [
"$root_build_dir/py_quality_assessment/{{source_file_part}}",
]
deps = [
":apm_configs",
":lib",
":output",
"../..:audioproc_f",
"../../../../resources/audio_processing/test/py_quality_assessment:probing_signals",
]
}
copy("apm_configs") {
testonly = true
sources = [
"apm_configs/default.json",
]
visibility = [ ":*" ] # Only targets in this file can depend on this.
outputs = [
"$root_build_dir/py_quality_assessment/apm_configs/{{source_file_part}}",
]
} # apm_configs
copy("lib") {
testonly = true
sources = [
"quality_assessment/__init__.py",
"quality_assessment/annotations.py",
"quality_assessment/audioproc_wrapper.py",
"quality_assessment/collect_data.py",
"quality_assessment/data_access.py",
"quality_assessment/echo_path_simulation.py",
"quality_assessment/echo_path_simulation_factory.py",
"quality_assessment/eval_scores.py",
"quality_assessment/eval_scores_factory.py",
"quality_assessment/evaluation.py",
"quality_assessment/exceptions.py",
"quality_assessment/export.py",
"quality_assessment/export_unittest.py",
"quality_assessment/external_vad.py",
"quality_assessment/input_mixer.py",
"quality_assessment/input_signal_creator.py",
"quality_assessment/results.css",
"quality_assessment/results.js",
"quality_assessment/signal_processing.py",
"quality_assessment/simulation.py",
"quality_assessment/test_data_generation.py",
"quality_assessment/test_data_generation_factory.py",
]
visibility = [ ":*" ] # Only targets in this file can depend on this.
outputs = [
"$root_build_dir/py_quality_assessment/quality_assessment/{{source_file_part}}",
]
deps = [
"../../../../resources/audio_processing/test/py_quality_assessment:noise_tracks",
]
}
copy("output") {
testonly = true
sources = [
"output/README.md",
]
visibility = [ ":*" ] # Only targets in this file can depend on this.
outputs = [
"$root_build_dir/py_quality_assessment/output/{{source_file_part}}",
]
}
group("unit_tests") {
testonly = true
visibility = [ ":*" ] # Only targets in this file can depend on this.
deps = [
":apm_vad",
":fake_polqa",
":lib_unit_tests",
":scripts_unit_tests",
":vad",
]
}
rtc_executable("fake_polqa") {
testonly = true
sources = [
"quality_assessment/fake_polqa.cc",
]
visibility = [ ":*" ] # Only targets in this file can depend on this.
output_name = "py_quality_assessment/quality_assessment/fake_polqa"
deps = [
"../../../..:webrtc_common",
"../../../../rtc_base:checks",
"../../../../rtc_base:rtc_base_approved",
]
}
rtc_executable("vad") {
sources = [
"quality_assessment/vad.cc",
]
deps = [
"../../../..:webrtc_common",
"../../../../common_audio",
"../../../../rtc_base:rtc_base_approved",
]
}
rtc_executable("apm_vad") {
sources = [
"quality_assessment/apm_vad.cc",
]
deps = [
"../..",
"../../../..:webrtc_common",
"../../../../common_audio",
"../../../../rtc_base:rtc_base_approved",
"../../../../system_wrappers:metrics_default",
"../../vad",
]
}
rtc_executable("sound_level") {
sources = [
"quality_assessment/sound_level.cc",
]
deps = [
"../..",
"../../../..:webrtc_common",
"../../../../common_audio",
"../../../../rtc_base:rtc_base_approved",
"../../../../system_wrappers:metrics_default",
]
}
copy("lib_unit_tests") {
testonly = true
sources = [
"quality_assessment/annotations_unittest.py",
"quality_assessment/echo_path_simulation_unittest.py",
"quality_assessment/eval_scores_unittest.py",
"quality_assessment/fake_external_vad.py",
"quality_assessment/input_mixer_unittest.py",
"quality_assessment/signal_processing_unittest.py",
"quality_assessment/simulation_unittest.py",
"quality_assessment/test_data_generation_unittest.py",
]
visibility = [ ":*" ] # Only targets in this file can depend on this.
outputs = [
"$root_build_dir/py_quality_assessment/quality_assessment/{{source_file_part}}",
]
}
copy("scripts_unit_tests") {
testonly = true
sources = [
"apm_quality_assessment_unittest.py",
]
visibility = [ ":*" ] # Only targets in this file can depend on this.
outputs = [
"$root_build_dir/py_quality_assessment/{{source_file_part}}",
]
}