xref: /aosp_15_r20/external/webrtc/modules/audio_mixer/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2*d9f75844SAndroid Build Coastguard Worker#
3*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license
4*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source
5*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found
6*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS.  All contributing project authors may
7*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree.
8*d9f75844SAndroid Build Coastguard Worker
9*d9f75844SAndroid Build Coastguard Workerimport("../../webrtc.gni")
10*d9f75844SAndroid Build Coastguard Worker
11*d9f75844SAndroid Build Coastguard Workergroup("audio_mixer") {
12*d9f75844SAndroid Build Coastguard Worker  deps = [
13*d9f75844SAndroid Build Coastguard Worker    ":audio_frame_manipulator",
14*d9f75844SAndroid Build Coastguard Worker    ":audio_mixer_impl",
15*d9f75844SAndroid Build Coastguard Worker  ]
16*d9f75844SAndroid Build Coastguard Worker}
17*d9f75844SAndroid Build Coastguard Worker
18*d9f75844SAndroid Build Coastguard Workerrtc_library("audio_mixer_impl") {
19*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
20*d9f75844SAndroid Build Coastguard Worker  sources = [
21*d9f75844SAndroid Build Coastguard Worker    "audio_mixer_impl.cc",
22*d9f75844SAndroid Build Coastguard Worker    "audio_mixer_impl.h",
23*d9f75844SAndroid Build Coastguard Worker    "default_output_rate_calculator.cc",
24*d9f75844SAndroid Build Coastguard Worker    "default_output_rate_calculator.h",
25*d9f75844SAndroid Build Coastguard Worker    "frame_combiner.cc",
26*d9f75844SAndroid Build Coastguard Worker    "frame_combiner.h",
27*d9f75844SAndroid Build Coastguard Worker    "output_rate_calculator.h",
28*d9f75844SAndroid Build Coastguard Worker  ]
29*d9f75844SAndroid Build Coastguard Worker
30*d9f75844SAndroid Build Coastguard Worker  public = [
31*d9f75844SAndroid Build Coastguard Worker    "audio_mixer_impl.h",
32*d9f75844SAndroid Build Coastguard Worker    "default_output_rate_calculator.h",  # For creating a mixer with limiter
33*d9f75844SAndroid Build Coastguard Worker                                         # disabled.
34*d9f75844SAndroid Build Coastguard Worker    "frame_combiner.h",
35*d9f75844SAndroid Build Coastguard Worker  ]
36*d9f75844SAndroid Build Coastguard Worker
37*d9f75844SAndroid Build Coastguard Worker  configs += [ "../audio_processing:apm_debug_dump" ]
38*d9f75844SAndroid Build Coastguard Worker
39*d9f75844SAndroid Build Coastguard Worker  deps = [
40*d9f75844SAndroid Build Coastguard Worker    ":audio_frame_manipulator",
41*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
42*d9f75844SAndroid Build Coastguard Worker    "../../api:rtp_packet_info",
43*d9f75844SAndroid Build Coastguard Worker    "../../api:scoped_refptr",
44*d9f75844SAndroid Build Coastguard Worker    "../../api/audio:audio_frame_api",
45*d9f75844SAndroid Build Coastguard Worker    "../../api/audio:audio_mixer_api",
46*d9f75844SAndroid Build Coastguard Worker    "../../audio/utility:audio_frame_operations",
47*d9f75844SAndroid Build Coastguard Worker    "../../common_audio",
48*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
49*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:event_tracer",
50*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
51*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:macromagic",
52*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:race_checker",
53*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:refcount",
54*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:safe_conversions",
55*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/synchronization:mutex",
56*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers",
57*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:metrics",
58*d9f75844SAndroid Build Coastguard Worker    "../audio_processing:api",
59*d9f75844SAndroid Build Coastguard Worker    "../audio_processing:apm_logging",
60*d9f75844SAndroid Build Coastguard Worker    "../audio_processing:audio_frame_view",
61*d9f75844SAndroid Build Coastguard Worker    "../audio_processing/agc2:fixed_digital",
62*d9f75844SAndroid Build Coastguard Worker  ]
63*d9f75844SAndroid Build Coastguard Worker}
64*d9f75844SAndroid Build Coastguard Worker
65*d9f75844SAndroid Build Coastguard Workerrtc_library("audio_frame_manipulator") {
66*d9f75844SAndroid Build Coastguard Worker  visibility = [
67*d9f75844SAndroid Build Coastguard Worker    ":*",
68*d9f75844SAndroid Build Coastguard Worker    "../../modules:*",
69*d9f75844SAndroid Build Coastguard Worker  ]
70*d9f75844SAndroid Build Coastguard Worker
71*d9f75844SAndroid Build Coastguard Worker  sources = [
72*d9f75844SAndroid Build Coastguard Worker    "audio_frame_manipulator.cc",
73*d9f75844SAndroid Build Coastguard Worker    "audio_frame_manipulator.h",
74*d9f75844SAndroid Build Coastguard Worker  ]
75*d9f75844SAndroid Build Coastguard Worker
76*d9f75844SAndroid Build Coastguard Worker  deps = [
77*d9f75844SAndroid Build Coastguard Worker    "../../api/audio:audio_frame_api",
78*d9f75844SAndroid Build Coastguard Worker    "../../audio/utility:audio_frame_operations",
79*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
80*d9f75844SAndroid Build Coastguard Worker  ]
81*d9f75844SAndroid Build Coastguard Worker}
82*d9f75844SAndroid Build Coastguard Worker
83*d9f75844SAndroid Build Coastguard Workerif (rtc_include_tests) {
84*d9f75844SAndroid Build Coastguard Worker  rtc_library("audio_mixer_test_utils") {
85*d9f75844SAndroid Build Coastguard Worker    testonly = true
86*d9f75844SAndroid Build Coastguard Worker
87*d9f75844SAndroid Build Coastguard Worker    sources = [
88*d9f75844SAndroid Build Coastguard Worker      "gain_change_calculator.cc",
89*d9f75844SAndroid Build Coastguard Worker      "gain_change_calculator.h",
90*d9f75844SAndroid Build Coastguard Worker      "sine_wave_generator.cc",
91*d9f75844SAndroid Build Coastguard Worker      "sine_wave_generator.h",
92*d9f75844SAndroid Build Coastguard Worker    ]
93*d9f75844SAndroid Build Coastguard Worker
94*d9f75844SAndroid Build Coastguard Worker    deps = [
95*d9f75844SAndroid Build Coastguard Worker      ":audio_frame_manipulator",
96*d9f75844SAndroid Build Coastguard Worker      ":audio_mixer_impl",
97*d9f75844SAndroid Build Coastguard Worker      "../../api:array_view",
98*d9f75844SAndroid Build Coastguard Worker      "../../api/audio:audio_frame_api",
99*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:checks",
100*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:safe_conversions",
101*d9f75844SAndroid Build Coastguard Worker    ]
102*d9f75844SAndroid Build Coastguard Worker  }
103*d9f75844SAndroid Build Coastguard Worker
104*d9f75844SAndroid Build Coastguard Worker  rtc_library("audio_mixer_unittests") {
105*d9f75844SAndroid Build Coastguard Worker    testonly = true
106*d9f75844SAndroid Build Coastguard Worker
107*d9f75844SAndroid Build Coastguard Worker    sources = [
108*d9f75844SAndroid Build Coastguard Worker      "audio_frame_manipulator_unittest.cc",
109*d9f75844SAndroid Build Coastguard Worker      "audio_mixer_impl_unittest.cc",
110*d9f75844SAndroid Build Coastguard Worker      "frame_combiner_unittest.cc",
111*d9f75844SAndroid Build Coastguard Worker    ]
112*d9f75844SAndroid Build Coastguard Worker    absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
113*d9f75844SAndroid Build Coastguard Worker    deps = [
114*d9f75844SAndroid Build Coastguard Worker      ":audio_frame_manipulator",
115*d9f75844SAndroid Build Coastguard Worker      ":audio_mixer_impl",
116*d9f75844SAndroid Build Coastguard Worker      ":audio_mixer_test_utils",
117*d9f75844SAndroid Build Coastguard Worker      "../../api:array_view",
118*d9f75844SAndroid Build Coastguard Worker      "../../api:rtp_packet_info",
119*d9f75844SAndroid Build Coastguard Worker      "../../api/audio:audio_mixer_api",
120*d9f75844SAndroid Build Coastguard Worker      "../../api/units:timestamp",
121*d9f75844SAndroid Build Coastguard Worker      "../../audio/utility:audio_frame_operations",
122*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:checks",
123*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:stringutils",
124*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:task_queue_for_test",
125*d9f75844SAndroid Build Coastguard Worker      "../../test:test_support",
126*d9f75844SAndroid Build Coastguard Worker    ]
127*d9f75844SAndroid Build Coastguard Worker  }
128*d9f75844SAndroid Build Coastguard Worker
129*d9f75844SAndroid Build Coastguard Worker  if (!build_with_chromium) {
130*d9f75844SAndroid Build Coastguard Worker    rtc_executable("audio_mixer_test") {
131*d9f75844SAndroid Build Coastguard Worker      testonly = true
132*d9f75844SAndroid Build Coastguard Worker      sources = [ "audio_mixer_test.cc" ]
133*d9f75844SAndroid Build Coastguard Worker
134*d9f75844SAndroid Build Coastguard Worker      deps = [
135*d9f75844SAndroid Build Coastguard Worker        ":audio_mixer_impl",
136*d9f75844SAndroid Build Coastguard Worker        "../../api/audio:audio_mixer_api",
137*d9f75844SAndroid Build Coastguard Worker        "../../common_audio",
138*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:stringutils",
139*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/flags:flag",
140*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/flags:parse",
141*d9f75844SAndroid Build Coastguard Worker      ]
142*d9f75844SAndroid Build Coastguard Worker    }
143*d9f75844SAndroid Build Coastguard Worker  }
144*d9f75844SAndroid Build Coastguard Worker}
145