1# Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS.  All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9import("../../webrtc.gni")
10
11rtc_library("audio_frame_api") {
12  visibility = [ "*" ]
13  sources = [
14    "audio_frame.cc",
15    "audio_frame.h",
16    "channel_layout.cc",
17    "channel_layout.h",
18  ]
19
20  deps = [
21    "..:rtp_packet_info",
22    "../../rtc_base:checks",
23    "../../rtc_base:rtc_base_approved",
24  ]
25}
26
27rtc_source_set("audio_frame_processor") {
28  visibility = [ "*" ]
29  sources = [ "audio_frame_processor.h" ]
30}
31
32rtc_source_set("audio_mixer_api") {
33  visibility = [ "*" ]
34  sources = [ "audio_mixer.h" ]
35
36  deps = [
37    ":audio_frame_api",
38    "../../rtc_base:rtc_base_approved",
39  ]
40}
41
42rtc_library("aec3_config") {
43  visibility = [ "*" ]
44  sources = [
45    "echo_canceller3_config.cc",
46    "echo_canceller3_config.h",
47  ]
48  deps = [
49    "../../rtc_base:checks",
50    "../../rtc_base:rtc_base_approved",
51    "../../rtc_base:safe_minmax",
52    "../../rtc_base/system:rtc_export",
53  ]
54}
55
56rtc_library("aec3_config_json") {
57  visibility = [ "*" ]
58  allow_poison = [ "rtc_json" ]
59  sources = [
60    "echo_canceller3_config_json.cc",
61    "echo_canceller3_config_json.h",
62  ]
63  deps = [
64    ":aec3_config",
65    "../../rtc_base:checks",
66    "../../rtc_base:rtc_base_approved",
67    "../../rtc_base:rtc_json",
68    "../../rtc_base/system:rtc_export",
69  ]
70  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
71}
72
73rtc_library("aec3_factory") {
74  visibility = [ "*" ]
75  configs += [ "../../modules/audio_processing:apm_debug_dump" ]
76  sources = [
77    "echo_canceller3_factory.cc",
78    "echo_canceller3_factory.h",
79  ]
80
81  deps = [
82    ":aec3_config",
83    ":echo_control",
84    "../../modules/audio_processing/aec3",
85    "../../rtc_base:rtc_base_approved",
86    "../../rtc_base/system:rtc_export",
87  ]
88}
89
90rtc_source_set("echo_control") {
91  visibility = [ "*" ]
92  sources = [ "echo_control.h" ]
93  deps = [ "../../rtc_base:checks" ]
94}
95
96rtc_source_set("echo_detector_creator") {
97  visibility = [ "*" ]
98  sources = [
99    "echo_detector_creator.cc",
100    "echo_detector_creator.h",
101  ]
102  deps = [
103    "../../api:scoped_refptr",
104    "../../modules/audio_processing:api",
105    "../../modules/audio_processing:audio_processing",
106    "../../rtc_base:refcount",
107  ]
108}
109