blob: d8acc05a4a8ad1cd2f803d8edaff11ca65e5badf [file] [log] [blame]
aleloi77ad3942016-07-04 06:33:02 -07001# Copyright (c) 2014 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
mbonadei9aa3f0a2017-01-24 06:58:22 -08009import("../../webrtc.gni")
ehmaldonado38a21322016-09-02 04:10:34 -070010
kjellander6ceab082016-10-28 05:44:03 -070011group("audio_mixer") {
12 public_deps = [
13 ":audio_frame_manipulator",
14 ":audio_mixer_impl",
15 ]
16}
17
aleloi201dfe92016-10-20 05:06:39 -070018rtc_static_library("audio_mixer_impl") {
aleloi77ad3942016-07-04 06:33:02 -070019 sources = [
aleloi5d167d62016-08-24 02:20:54 -070020 "audio_mixer_impl.cc",
21 "audio_mixer_impl.h",
aleloi623427c2016-12-08 02:37:58 -080022 "default_output_rate_calculator.cc",
23 "default_output_rate_calculator.h",
aleloi24899e52017-02-21 05:06:29 -080024 "frame_combiner.cc",
25 "frame_combiner.h",
aleloi623427c2016-12-08 02:37:58 -080026 "output_rate_calculator.h",
aleloi77ad3942016-07-04 06:33:02 -070027 ]
28
aleloi44968092016-08-08 10:18:58 -070029 public = [
aleloi201dfe92016-10-20 05:06:39 -070030 "audio_mixer_impl.h",
aleloi24899e52017-02-21 05:06:29 -080031 "default_output_rate_calculator.h", # For creating a mixer with limiter disabled.
32 "frame_combiner.h",
aleloi44968092016-08-08 10:18:58 -070033 ]
34
aleloi201dfe92016-10-20 05:06:39 -070035 public_deps = [
36 "../../api:audio_mixer_api",
37 ]
aleloi77ad3942016-07-04 06:33:02 -070038
aleloi77ad3942016-07-04 06:33:02 -070039 deps = [
aleloi201dfe92016-10-20 05:06:39 -070040 ":audio_frame_manipulator",
aleloi70f866c2016-08-16 02:15:49 -070041 "../..:webrtc_common",
aleloi6321b492016-12-05 01:46:09 -080042 "../../audio/utility:audio_frame_operations",
aleloi8b2233f2016-07-28 06:24:14 -070043 "../../base:rtc_base_approved",
aleloi77ad3942016-07-04 06:33:02 -070044 "../../system_wrappers",
aleloi6321b492016-12-05 01:46:09 -080045 "../audio_processing",
aleloi201dfe92016-10-20 05:06:39 -070046 ]
47}
48
49rtc_static_library("audio_frame_manipulator") {
50 visibility = [
51 ":*",
52 "../../modules:*",
53 ]
54
55 sources = [
56 "audio_frame_manipulator.cc",
57 "audio_frame_manipulator.h",
58 ]
59
60 deps = [
aleloi6321b492016-12-05 01:46:09 -080061 "../../audio/utility",
aleloi201dfe92016-10-20 05:06:39 -070062 "../../base:rtc_base_approved",
aleloi77ad3942016-07-04 06:33:02 -070063 ]
64}
ehmaldonado36268652017-01-19 08:27:11 -080065
66if (rtc_include_tests) {
67 rtc_source_set("audio_mixer_unittests") {
ehmaldonado36268652017-01-19 08:27:11 -080068 testonly = true
kjellandere0629c02017-04-25 04:04:50 -070069
70 # Skip restricting visibility on mobile platforms since the tests on those
71 # gets additional generated targets which would require many lines here to
72 # cover (which would be confusing to read and hard to maintain).
73 if (!is_android && !is_ios) {
74 visibility = [ "//webrtc/modules:modules_unittests" ]
75 }
ehmaldonado36268652017-01-19 08:27:11 -080076 sources = [
77 "audio_frame_manipulator_unittest.cc",
78 "audio_mixer_impl_unittest.cc",
aleloi24899e52017-02-21 05:06:29 -080079 "frame_combiner_unittest.cc",
aleloi2c9306e2017-03-29 04:25:16 -070080 "gain_change_calculator.cc",
81 "gain_change_calculator.h",
82 "sine_wave_generator.cc",
83 "sine_wave_generator.h",
ehmaldonado36268652017-01-19 08:27:11 -080084 ]
85 deps = [
86 ":audio_frame_manipulator",
87 ":audio_mixer_impl",
88 "../../api:audio_mixer_api",
aleloi2c9306e2017-03-29 04:25:16 -070089 "../../audio/utility:audio_frame_operations",
ehmaldonado36268652017-01-19 08:27:11 -080090 "../../base:rtc_base",
91 "../../base:rtc_base_approved",
92 "../../test:test_support",
93 "//testing/gmock",
94 ]
ehmaldonado36268652017-01-19 08:27:11 -080095 }
96}