OLD | NEW |
(Empty) | |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. |
| 4 |
| 5 import("//media/media_options.gni") |
| 6 |
| 7 # When libpulse is not directly linked, use stubs to allow for dlopening of the |
| 8 # binary. |
| 9 if (!linux_link_pulseaudio) { |
| 10 action("pulse_generate_stubs") { |
| 11 extra_header = "pulse/pulse_stub_header.fragment" |
| 12 |
| 13 script = "../../tools/generate_stubs/generate_stubs.py" |
| 14 sources = [ "pulse/pulse.sigs" ] |
| 15 source_prereqs = [ extra_header ] |
| 16 stubs_filename_root = "pulse_stubs" |
| 17 |
| 18 # TODO(ajwong): these need to be included in the pulse build. |
| 19 outputs = [ |
| 20 "$target_gen_dir/pulse/$stubs_filename_root.cc", |
| 21 "$target_gen_dir/pulse/$stubs_filename_root.h", |
| 22 ] |
| 23 args = [ |
| 24 "-i", rebase_path("$target_gen_dir/pulse", root_build_dir), |
| 25 "-o", rebase_path("$target_gen_dir/pulse", root_build_dir), |
| 26 "-t", "posix_stubs", |
| 27 "-e", rebase_path(extra_header, root_build_dir), |
| 28 "-s", stubs_filename_root, |
| 29 "-p", "media/audio/pulse", |
| 30 ] |
| 31 |
| 32 args += rebase_path(sources, root_build_dir) |
| 33 } |
| 34 } |
| 35 |
| 36 source_set("audio") { |
| 37 sources = [ |
| 38 "agc_audio_stream.h", |
| 39 "audio_buffers_state.cc", |
| 40 "audio_buffers_state.h", |
| 41 "audio_device_name.cc", |
| 42 "audio_device_name.h", |
| 43 "audio_device_thread.cc", |
| 44 "audio_device_thread.h", |
| 45 "audio_input_controller.cc", |
| 46 "audio_input_controller.h", |
| 47 "audio_input_device.cc", |
| 48 "audio_input_device.h", |
| 49 "audio_input_ipc.cc", |
| 50 "audio_input_ipc.h", |
| 51 "audio_io.h", |
| 52 "audio_manager.cc", |
| 53 "audio_manager.h", |
| 54 "audio_manager_base.cc", |
| 55 "audio_manager_base.h", |
| 56 "audio_output_controller.cc", |
| 57 "audio_output_controller.h", |
| 58 "audio_output_device.cc", |
| 59 "audio_output_device.h", |
| 60 "audio_output_dispatcher.cc", |
| 61 "audio_output_dispatcher.h", |
| 62 "audio_output_dispatcher_impl.cc", |
| 63 "audio_output_dispatcher_impl.h", |
| 64 "audio_output_ipc.cc", |
| 65 "audio_output_ipc.h", |
| 66 "audio_output_proxy.cc", |
| 67 "audio_output_proxy.h", |
| 68 "audio_output_resampler.cc", |
| 69 "audio_output_resampler.h", |
| 70 "audio_power_monitor.cc", |
| 71 "audio_power_monitor.h", |
| 72 "audio_source_diverter.h", |
| 73 "fake_audio_consumer.cc", |
| 74 "fake_audio_consumer.h", |
| 75 "fake_audio_input_stream.cc", |
| 76 "fake_audio_input_stream.h", |
| 77 "fake_audio_log_factory.h", |
| 78 "fake_audio_log_factory.cc", |
| 79 "fake_audio_manager.cc", |
| 80 "fake_audio_manager.h", |
| 81 "fake_audio_output_stream.cc", |
| 82 "fake_audio_output_stream.h", |
| 83 "null_audio_sink.cc", |
| 84 "null_audio_sink.h", |
| 85 "sample_rates.cc", |
| 86 "sample_rates.h", |
| 87 "scoped_task_runner_observer.cc", |
| 88 "scoped_task_runner_observer.h", |
| 89 "simple_sources.cc", |
| 90 "simple_sources.h", |
| 91 "virtual_audio_input_stream.cc", |
| 92 "virtual_audio_input_stream.h", |
| 93 "virtual_audio_output_stream.cc", |
| 94 "virtual_audio_output_stream.h", |
| 95 ] |
| 96 deps = [] |
| 97 libs = [] |
| 98 configs += [ "//media:media_config" ] |
| 99 |
| 100 if (is_chromeos) { |
| 101 sources += [ |
| 102 "sounds/audio_stream_handler.cc", |
| 103 "sounds/audio_stream_handler.h", |
| 104 "sounds/sounds_manager.cc", |
| 105 "sounds/sounds_manager.h", |
| 106 "sounds/wav_audio_handler.cc", |
| 107 "sounds/wav_audio_handler.h", |
| 108 ] |
| 109 } |
| 110 |
| 111 if (is_mac) { |
| 112 sources += [ |
| 113 "mac/audio_auhal_mac.cc", |
| 114 "mac/audio_auhal_mac.h", |
| 115 "mac/audio_device_listener_mac.cc", |
| 116 "mac/audio_device_listener_mac.h", |
| 117 "mac/audio_input_mac.cc", |
| 118 "mac/audio_input_mac.h", |
| 119 "mac/audio_low_latency_input_mac.cc", |
| 120 "mac/audio_low_latency_input_mac.h", |
| 121 "mac/audio_manager_mac.cc", |
| 122 "mac/audio_manager_mac.h", |
| 123 ] |
| 124 libs += [ |
| 125 "AudioToolbox.framework", |
| 126 "AudioUnit.framework", |
| 127 "CoreAudio.framework", |
| 128 ] |
| 129 } |
| 130 |
| 131 if (is_win) { |
| 132 sources += [ |
| 133 "win/audio_device_listener_win.cc", |
| 134 "win/audio_device_listener_win.h", |
| 135 "win/audio_low_latency_input_win.cc", |
| 136 "win/audio_low_latency_input_win.h", |
| 137 "win/audio_low_latency_output_win.cc", |
| 138 "win/audio_low_latency_output_win.h", |
| 139 "win/audio_manager_win.cc", |
| 140 "win/audio_manager_win.h", |
| 141 "win/avrt_wrapper_win.cc", |
| 142 "win/avrt_wrapper_win.h", |
| 143 "win/core_audio_util_win.cc", |
| 144 "win/core_audio_util_win.h", |
| 145 "win/device_enumeration_win.cc", |
| 146 "win/device_enumeration_win.h", |
| 147 "win/wavein_input_win.cc", |
| 148 "win/wavein_input_win.h", |
| 149 "win/waveout_output_win.cc", |
| 150 "win/waveout_output_win.h", |
| 151 ] |
| 152 } |
| 153 |
| 154 if (is_android) { |
| 155 sources += [ |
| 156 "android/audio_manager_android.cc", |
| 157 "android/audio_manager_android.h", |
| 158 "android/audio_record_input.cc", |
| 159 "android/audio_record_input.h", |
| 160 "android/opensles_input.cc", |
| 161 "android/opensles_input.h", |
| 162 "android/opensles_output.cc", |
| 163 "android/opensles_output.h", |
| 164 "android/opensles_wrapper.cc", |
| 165 ] |
| 166 deps += [ |
| 167 "//media:media_android_jni_headers", |
| 168 ] |
| 169 } |
| 170 |
| 171 if (is_openbsd) { |
| 172 sources += [ |
| 173 "openbsd/audio_manager_openbsd.cc", |
| 174 "openbsd/audio_manager_openbsd.h", |
| 175 ] |
| 176 } |
| 177 |
| 178 if (is_linux) { |
| 179 sources += [ |
| 180 "linux/audio_manager_linux.cc", |
| 181 ] |
| 182 } |
| 183 |
| 184 if (use_alsa) { |
| 185 libs = [ "asound" ] |
| 186 defines = [ "USE_ALSA" ] |
| 187 sources += [ |
| 188 "alsa/alsa_input.cc", |
| 189 "alsa/alsa_input.h", |
| 190 "alsa/alsa_output.cc", |
| 191 "alsa/alsa_output.h", |
| 192 "alsa/alsa_util.cc", |
| 193 "alsa/alsa_util.h", |
| 194 "alsa/alsa_wrapper.cc", |
| 195 "alsa/alsa_wrapper.h", |
| 196 "alsa/audio_manager_alsa.cc", |
| 197 "alsa/audio_manager_alsa.h", |
| 198 ] |
| 199 } |
| 200 |
| 201 if (use_cras) { |
| 202 sources += [ |
| 203 "cras/audio_manager_cras.cc", |
| 204 "cras/audio_manager_cras.h", |
| 205 "cras/cras_input.cc", |
| 206 "cras/cras_input.h", |
| 207 "cras/cras_unified.cc", |
| 208 "cras/cras_unified.h", |
| 209 ] |
| 210 |
| 211 pkg_config("libcras") { |
| 212 packages = [ "libcras" ] |
| 213 } |
| 214 configs += [ "libcras" ] |
| 215 } |
| 216 |
| 217 if (use_pulseaudio) { |
| 218 sources += [ |
| 219 "pulse/audio_manager_pulse.cc", |
| 220 "pulse/audio_manager_pulse.h", |
| 221 "pulse/pulse_input.cc", |
| 222 "pulse/pulse_input.h", |
| 223 "pulse/pulse_output.cc", |
| 224 "pulse/pulse_output.h", |
| 225 "pulse/pulse_util.cc", |
| 226 "pulse/pulse_util.h", |
| 227 ] |
| 228 |
| 229 if (linux_link_pulseaudio) { |
| 230 pkg_config("libpulse") { |
| 231 packages = [ "libpulse" ] |
| 232 } |
| 233 configs += [ ":libpulse" ] |
| 234 } else { |
| 235 # TODO(ajwong): Technically, this dl should go in the action. |
| 236 libs += [ "dl" ] |
| 237 deps += [ ":pulse_generate_stubs" ] |
| 238 sources += get_target_outputs(":pulse_generate_stubs") |
| 239 } |
| 240 } |
| 241 } |
| 242 |
| 243 source_set("test_support") { |
| 244 sources = [ |
| 245 "clockless_audio_sink.cc", |
| 246 "clockless_audio_sink.h", |
| 247 "mock_audio_manager.cc", |
| 248 "mock_audio_manager.h", |
| 249 "mock_audio_source_callback.cc", |
| 250 "mock_audio_source_callback.h", |
| 251 "test_audio_input_controller_factory.cc", |
| 252 "test_audio_input_controller_factory.h", |
| 253 ] |
| 254 deps = [ "//testing/gmock" ] |
| 255 configs += [ "//media:media_config" ] |
| 256 } |
| 257 |
| 258 source_set("unittests") { |
| 259 sources = [ |
| 260 "audio_input_controller_unittest.cc", |
| 261 "audio_input_unittest.cc", |
| 262 "audio_low_latency_input_output_unittest.cc", |
| 263 "audio_manager_unittest.cc", |
| 264 "audio_output_controller_unittest.cc", |
| 265 "audio_output_device_unittest.cc", |
| 266 "audio_output_proxy_unittest.cc", |
| 267 "audio_parameters_unittest.cc", |
| 268 "audio_power_monitor_unittest.cc", |
| 269 "fake_audio_consumer_unittest.cc", |
| 270 "simple_sources_unittest.cc", |
| 271 "virtual_audio_input_stream_unittest.cc", |
| 272 "virtual_audio_output_stream_unittest.cc", |
| 273 ] |
| 274 deps = [ |
| 275 ":test_support", |
| 276 "//testing/gmock", |
| 277 "//testing/gtest", |
| 278 ] |
| 279 configs += [ "//media:media_config" ] |
| 280 |
| 281 if (is_android) { |
| 282 sources += [ |
| 283 "android/audio_android_unittest.cc", |
| 284 ] |
| 285 } else { |
| 286 sources += [ |
| 287 "audio_input_volume_unittest.cc", |
| 288 ] |
| 289 } |
| 290 |
| 291 if (is_mac) { |
| 292 sources += [ |
| 293 "mac/audio_auhal_mac_unittest.cc", |
| 294 "mac/audio_device_listener_mac_unittest.cc", |
| 295 "mac/audio_low_latency_input_mac_unittest.cc", |
| 296 ] |
| 297 } |
| 298 |
| 299 if (is_chromeos) { |
| 300 sources += [ |
| 301 "sounds/audio_stream_handler_unittest.cc", |
| 302 "sounds/sounds_manager_unittest.cc", |
| 303 "sounds/test_data.cc", |
| 304 "sounds/test_data.h", |
| 305 "sounds/wav_audio_handler_unittest.cc", |
| 306 ] |
| 307 |
| 308 if (use_cras) { |
| 309 sources += [ |
| 310 "cras/cras_input_unittest.cc", |
| 311 "cras/cras_unified_unittest.cc", |
| 312 ] |
| 313 } |
| 314 } |
| 315 |
| 316 if (is_win) { |
| 317 sources += [ |
| 318 "win/audio_device_listener_win_unittest.cc", |
| 319 "win/audio_low_latency_input_win_unittest.cc", |
| 320 "win/audio_low_latency_output_win_unittest.cc", |
| 321 "win/audio_output_win_unittest.cc", |
| 322 "win/core_audio_util_win_unittest.cc", |
| 323 ] |
| 324 } |
| 325 |
| 326 if (use_alsa) { |
| 327 sources += [ |
| 328 "alsa/alsa_output_unittest.cc", |
| 329 ] |
| 330 } |
| 331 } |
OLD | NEW |