blob: 4858c46571e06fd2ed04acfb7cb29759702c47a1 [file] [log] [blame]
Peter Boström5c389d32015-09-25 13:58:30 +02001# Copyright (c) 2015 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")
kjellander8f8d1a02017-03-06 04:01:16 -080010if (is_android) {
11 import("//build/config/android/config.gni")
12 import("//build/config/android/rules.gni")
13}
Peter Boström5c389d32015-09-25 13:58:30 +020014
kjellanderb62dbbe2016-09-23 00:38:52 -070015rtc_static_library("audio") {
Peter Boström5c389d32015-09-25 13:58:30 +020016 sources = [
17 "audio_receive_stream.cc",
18 "audio_receive_stream.h",
solenbergc7a8b082015-10-16 14:35:07 -070019 "audio_send_stream.cc",
20 "audio_send_stream.h",
solenberg566ef242015-11-06 15:34:49 -080021 "audio_state.cc",
22 "audio_state.h",
aleloidd310712016-11-17 06:28:59 -080023 "audio_transport_proxy.cc",
24 "audio_transport_proxy.h",
Fredrik Solenberg4f4ec0a2015-10-22 10:49:27 +020025 "conversion.h",
26 "scoped_voe_interface.h",
Peter Boström5c389d32015-09-25 13:58:30 +020027 ]
28
kjellandere40a7ee2016-10-16 23:56:12 -070029 if (!build_with_chromium && is_clang) {
30 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -070031 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
Peter Boström5c389d32015-09-25 13:58:30 +020032 }
33
34 deps = [
35 "..:webrtc_common",
aleloiaed581a2016-10-20 06:32:39 -070036 "../api:audio_mixer_api",
kjellander676e08f2016-12-07 08:23:27 -080037 "../api:call_api",
aleloidd310712016-11-17 06:28:59 -080038 "../base:rtc_base_approved",
kjellander676e08f2016-12-07 08:23:27 -080039 "../base:rtc_task_queue",
ossuf515ab82016-12-07 04:52:58 -080040 "../call:call_interfaces",
aleloi04c07222016-11-22 06:42:53 -080041 "../common_audio",
aleloidd310712016-11-17 06:28:59 -080042 "../modules/audio_device",
43 "../modules/audio_processing",
stefan7de8d642017-02-07 07:14:08 -080044 "../modules/bitrate_controller:bitrate_controller",
kjellander676e08f2016-12-07 08:23:27 -080045 "../modules/congestion_controller:congestion_controller",
46 "../modules/pacing:pacing",
47 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
48 "../modules/rtp_rtcp:rtp_rtcp",
Peter Boström5c389d32015-09-25 13:58:30 +020049 "../system_wrappers",
Tommif888bb52015-12-12 01:37:01 +010050 "../voice_engine",
Peter Boström5c389d32015-09-25 13:58:30 +020051 ]
52}
Peter Boström02083222016-06-14 12:52:54 +020053if (rtc_include_tests) {
ehmaldonado38a21322016-09-02 04:10:34 -070054 rtc_source_set("audio_tests") {
Peter Boström02083222016-06-14 12:52:54 +020055 testonly = true
kjellander676e08f2016-12-07 08:23:27 -080056
57 # TODO(kjellander): Remove (bugs.webrtc.org/6828)
58 # This needs remote_bitrate_estimator to be moved to webrtc/api first.
59 check_includes = false
60
Peter Boström02083222016-06-14 12:52:54 +020061 sources = [
62 "audio_receive_stream_unittest.cc",
63 "audio_send_stream_unittest.cc",
64 "audio_state_unittest.cc",
65 ]
66 deps = [
67 ":audio",
aleloi04c07222016-11-22 06:42:53 -080068 "../api:mock_audio_mixer",
aleloi10111bc2016-11-17 06:48:48 -080069 "../base:rtc_base_approved",
kjellander676e08f2016-12-07 08:23:27 -080070 "../base:rtc_task_queue",
aleloidd310712016-11-17 06:28:59 -080071 "../modules/audio_device:mock_audio_device",
aleloi04c07222016-11-22 06:42:53 -080072 "../modules/audio_mixer:audio_mixer_impl",
kjellander676e08f2016-12-07 08:23:27 -080073 "../modules/congestion_controller:congestion_controller",
74 "../modules/pacing:pacing",
aleloi10111bc2016-11-17 06:48:48 -080075 "../test:test_common",
aleloi6321b492016-12-05 01:46:09 -080076 "../test:test_support",
ehmaldonado894c2bb2017-01-05 06:03:24 -080077 "utility:utility_tests",
Peter Boström02083222016-06-14 12:52:54 +020078 "//testing/gmock",
79 "//testing/gtest",
80 ]
oprypin5e1ca782017-03-20 02:06:18 -070081 if (rtc_enable_protobuf) {
82 deps += [ ":low_bandwidth_audio_test" ]
83 }
84
kjellandere40a7ee2016-10-16 23:56:12 -070085 if (!build_with_chromium && is_clang) {
86 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -070087 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
Peter Boström02083222016-06-14 12:52:54 +020088 }
89 }
kjellander8f8d1a02017-03-06 04:01:16 -080090
91 if (rtc_enable_protobuf) {
92 rtc_executable("low_bandwidth_audio_test") {
93 testonly = true
94
95 sources = [
96 "test/low_bandwidth_audio_test.cc",
oprypin92220ff2017-03-23 03:40:03 -070097 "test/low_bandwidth_audio_test.h",
kjellander8f8d1a02017-03-06 04:01:16 -080098 ]
99
oprypin92220ff2017-03-23 03:40:03 -0700100 deps = [
101 "../common_audio",
102 "../system_wrappers",
103 "../test:fake_audio_device",
104 "../test:run_test",
105 "../test:test_common",
106 "../test:test_main",
107 ]
kjellander8f8d1a02017-03-06 04:01:16 -0800108 if (is_android) {
oprypin92220ff2017-03-23 03:40:03 -0700109 deps += [ "//testing/android/native_test:native_test_native_code" ]
110 }
111
112 data = [
113 "//resources/voice_engine/audio_tiny16.wav",
114 ]
115
116 if (!build_with_chromium && is_clang) {
117 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163)
118 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
kjellander8f8d1a02017-03-06 04:01:16 -0800119 }
120 }
121 }
Peter Boström02083222016-06-14 12:52:54 +0200122}