BUILD.gn (9858B)
1 # 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 9 import("../webrtc.gni") 10 if (is_android) { 11 import("//chromium/build/config/android/config.gni") 12 import("//chromium/build/config/android/rules.gni") 13 } 14 15 rtc_library("audio") { 16 sources = [ 17 "audio_level.cc", 18 "audio_level.h", 19 "audio_receive_stream.cc", 20 "audio_receive_stream.h", 21 "audio_send_stream.cc", 22 "audio_send_stream.h", 23 "audio_state.cc", 24 "audio_state.h", 25 "audio_transport_impl.cc", 26 "audio_transport_impl.h", 27 "channel_receive.cc", 28 "channel_receive.h", 29 "channel_receive_frame_transformer_delegate.cc", 30 "channel_receive_frame_transformer_delegate.h", 31 "channel_send.cc", 32 "channel_send.h", 33 "channel_send_frame_transformer_delegate.cc", 34 "channel_send_frame_transformer_delegate.h", 35 "conversion.h", 36 "remix_resample.cc", 37 "remix_resample.h", 38 ] 39 40 deps = [ 41 "../api:array_view", 42 "../api:bitrate_allocation", 43 "../api:call_api", 44 "../api:field_trials_view", 45 "../api:frame_transformer_interface", 46 "../api:function_view", 47 "../api:make_ref_counted", 48 "../api:rtc_error", 49 "../api:rtp_headers", 50 "../api:rtp_packet_info", 51 "../api:rtp_parameters", 52 "../api:rtp_sender_interface", 53 "../api:scoped_refptr", 54 "../api:sequence_checker", 55 "../api:transport_api", 56 "../api/audio:aec3_factory", 57 "../api/audio:audio_device", 58 "../api/audio:audio_frame_api", 59 "../api/audio:audio_frame_processor", 60 "../api/audio:audio_mixer_api", 61 "../api/audio:audio_processing", 62 "../api/audio_codecs:audio_codecs_api", 63 "../api/crypto:frame_decryptor_interface", 64 "../api/crypto:frame_encryptor_interface", 65 "../api/crypto:options", 66 "../api/environment", 67 "../api/neteq:default_neteq_factory", 68 "../api/neteq:neteq_api", 69 "../api/rtc_event_log", 70 "../api/task_queue", 71 "../api/task_queue:pending_task_safety_flag", 72 "../api/transport/rtp:rtp_source", 73 "../api/units:data_rate", 74 "../api/units:data_size", 75 "../api/units:time_delta", 76 "../api/units:timestamp", 77 "../call:audio_sender_interface", 78 "../call:bitrate_allocator", 79 "../call:call_interfaces", 80 "../call:rtp_interfaces", 81 "../common_audio", 82 "../common_audio:common_audio_c", 83 "../logging:rtc_event_audio", 84 "../logging:rtc_stream_config", 85 "../media:media_channel", 86 "../media:media_channel_impl", 87 "../media:media_constants", 88 "../modules/async_audio_processing", 89 "../modules/audio_coding", 90 "../modules/audio_coding:audio_coding_module_typedefs", 91 "../modules/audio_coding:audio_encoder_cng", 92 "../modules/audio_coding:audio_network_adaptor_config", 93 "../modules/audio_coding:red", 94 "../modules/audio_device", 95 "../modules/audio_processing", 96 "../modules/audio_processing:audio_frame_proxies", 97 "../modules/audio_processing:rms_level", 98 "../modules/pacing", 99 "../modules/rtp_rtcp", 100 "../modules/rtp_rtcp:rtp_rtcp_format", 101 "../rtc_base:buffer", 102 "../rtc_base:checks", 103 "../rtc_base:event_tracer", 104 "../rtc_base:logging", 105 "../rtc_base:macromagic", 106 "../rtc_base:race_checker", 107 "../rtc_base:rate_limiter", 108 "../rtc_base:refcount", 109 "../rtc_base:rtc_event", 110 "../rtc_base:rtc_numerics", 111 "../rtc_base:safe_conversions", 112 "../rtc_base:safe_minmax", 113 "../rtc_base:stringutils", 114 "../rtc_base:threading", 115 "../rtc_base:timeutils", 116 "../rtc_base/containers:flat_set", 117 "../rtc_base/experiments:field_trial_parser", 118 "../rtc_base/synchronization:mutex", 119 "../rtc_base/system:no_unique_address", 120 "../rtc_base/task_utils:repeating_task", 121 "../system_wrappers", 122 "../system_wrappers:metrics", 123 "utility:audio_frame_operations", 124 "//third_party/abseil-cpp/absl/functional:any_invocable", 125 "//third_party/abseil-cpp/absl/memory", 126 "//third_party/abseil-cpp/absl/strings", 127 "//third_party/abseil-cpp/absl/strings:string_view", 128 ] 129 } 130 if (rtc_include_tests) { 131 rtc_library("audio_end_to_end_test") { 132 testonly = true 133 134 sources = [ 135 "test/audio_end_to_end_test.cc", 136 "test/audio_end_to_end_test.h", 137 ] 138 deps = [ 139 ":audio", 140 "../api:simulated_network_api", 141 "../api/audio:audio_device", 142 "../api/audio_codecs:audio_codecs_api", 143 "../api/task_queue", 144 "../call:call_interfaces", 145 "../call:fake_network", 146 "../modules/audio_device:test_audio_device_module", 147 "../system_wrappers", 148 "../test:test_common", 149 "../test:test_support", 150 "../test:video_test_constants", 151 ] 152 } 153 154 rtc_library("audio_tests") { 155 testonly = true 156 157 sources = [ 158 "audio_receive_stream_unittest.cc", 159 "audio_send_stream_tests.cc", 160 "audio_send_stream_unittest.cc", 161 "audio_state_unittest.cc", 162 "channel_receive_frame_transformer_delegate_unittest.cc", 163 "channel_send_frame_transformer_delegate_unittest.cc", 164 "channel_send_unittest.cc", 165 "mock_voe_channel_proxy.h", 166 "remix_resample_unittest.cc", 167 "test/audio_stats_test.cc", 168 "test/nack_test.cc", 169 "test/non_sender_rtt_test.cc", 170 ] 171 deps = [ 172 ":audio", 173 ":audio_end_to_end_test", 174 ":channel_receive_unittest", 175 "../api:array_view", 176 "../api:bitrate_allocation", 177 "../api:call_api", 178 "../api:field_trials", 179 "../api:frame_transformer_factory", 180 "../api:frame_transformer_interface", 181 "../api:function_view", 182 "../api:location", 183 "../api:make_ref_counted", 184 "../api:mock_audio_mixer", 185 "../api:mock_frame_decryptor", 186 "../api:mock_frame_encryptor", 187 "../api:mock_frame_transformer", 188 "../api:mock_transformable_audio_frame", 189 "../api:ref_count", 190 "../api:rtc_error_matchers", 191 "../api:rtp_headers", 192 "../api:rtp_parameters", 193 "../api:scoped_refptr", 194 "../api:simulated_network_api", 195 "../api:transport_api", 196 "../api/audio:audio_frame_api", 197 "../api/audio:audio_frame_processor", 198 "../api/audio:audio_mixer_api", 199 "../api/audio:audio_processing_statistics", 200 "../api/audio_codecs:audio_codecs_api", 201 "../api/audio_codecs:builtin_audio_encoder_factory", 202 "../api/crypto:frame_decryptor_interface", 203 "../api/crypto:frame_encryptor_interface", 204 "../api/crypto:options", 205 "../api/environment", 206 "../api/environment:environment_factory", 207 "../api/task_queue", 208 "../api/task_queue/test:mock_task_queue_base", 209 "../api/transport:bitrate_settings", 210 "../api/transport:network_control", 211 "../api/transport/rtp:rtp_source", 212 "../api/units:data_rate", 213 "../api/units:data_size", 214 "../api/units:time_delta", 215 "../api/units:timestamp", 216 "../call:bitrate_allocator", 217 "../call:call_interfaces", 218 "../call:mock_bitrate_allocator", 219 "../call:mock_call_interfaces", 220 "../call:mock_rtp_interfaces", 221 "../call:rtp_interfaces", 222 "../call:rtp_receiver", 223 "../call:rtp_sender", 224 "../common_audio", 225 "../modules/async_audio_processing", 226 "../modules/audio_coding:audio_coding_module_typedefs", 227 "../modules/audio_device:mock_audio_device", 228 "../modules/audio_mixer:audio_mixer_impl", 229 "../modules/audio_mixer:audio_mixer_test_utils", 230 "../modules/audio_processing:mocks", 231 "../modules/pacing", 232 "../modules/rtp_rtcp", 233 "../modules/rtp_rtcp:mock_rtp_rtcp", 234 "../modules/rtp_rtcp:rtp_rtcp_format", 235 "../rtc_base:logging", 236 "../rtc_base:safe_compare", 237 "../rtc_base:task_queue_for_test", 238 "../rtc_base:threading", 239 "../rtc_base:timeutils", 240 "../system_wrappers", 241 "../test:audio_codec_mocks", 242 "../test:create_test_environment", 243 "../test:create_test_field_trials", 244 "../test:mock_transport", 245 "../test:rtp_test_utils", 246 "../test:run_loop", 247 "../test:test_common", 248 "../test:test_support", 249 "../test:video_test_constants", 250 "../test:wait_until", 251 "../test/time_controller", 252 "utility:utility_tests", 253 "//third_party/abseil-cpp/absl/functional:any_invocable", 254 "//third_party/abseil-cpp/absl/memory", 255 "//third_party/abseil-cpp/absl/strings:string_view", 256 ] 257 } 258 259 rtc_library("channel_receive_unittest") { 260 testonly = true 261 sources = [ "channel_receive_unittest.cc" ] 262 deps = [ 263 ":audio", 264 "../api:array_view", 265 "../api:make_ref_counted", 266 "../api:mock_frame_transformer", 267 "../api:scoped_refptr", 268 "../api:transport_api", 269 "../api/audio:audio_device", 270 "../api/audio:audio_frame_api", 271 "../api/audio_codecs:audio_codecs_api", 272 "../api/audio_codecs:builtin_audio_decoder_factory", 273 "../api/crypto:frame_decryptor_interface", 274 "../api/crypto:options", 275 "../api/environment:environment_factory", 276 "../api/task_queue:default_task_queue_factory", 277 "../api/units:time_delta", 278 "../api/units:timestamp", 279 "../logging:mocks", 280 "../modules/audio_device:mock_audio_device", 281 "../modules/rtp_rtcp", 282 "../modules/rtp_rtcp:ntp_time_util", 283 "../modules/rtp_rtcp:rtp_rtcp_format", 284 "../rtc_base:logging", 285 "../rtc_base:stringutils", 286 "../rtc_base:threading", 287 "../rtc_base:timeutils", 288 "../system_wrappers", 289 "../test:audio_codec_mocks", 290 "../test:mock_transport", 291 "../test:test_support", 292 "../test/time_controller", 293 "//third_party/abseil-cpp/absl/strings", 294 ] 295 } 296 }