| # Copyright 2017 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/chromecast_build.gni") |
| import("//media/webrtc/audio_processing.gni") |
| import("//services/service_manager/public/cpp/service_executable.gni") |
| import("//testing/test.gni") |
| |
| # Currently standalone service binaries are not supported on Android or iOS. |
| standalone_supported = !(is_android || is_ios) |
| |
| service_executable("audio") { |
| sources = [ |
| "service_main.cc", |
| ] |
| |
| deps = [ |
| ":lib", |
| "//services/audio/public/cpp", |
| "//services/audio/public/mojom", |
| ] |
| } |
| |
| source_set("lib") { |
| sources = [ |
| "debug_recording.cc", |
| "debug_recording.h", |
| "delay_buffer.cc", |
| "delay_buffer.h", |
| "device_notifier.cc", |
| "device_notifier.h", |
| "group_coordinator-impl.h", |
| "group_coordinator.h", |
| "in_process_audio_manager_accessor.cc", |
| "in_process_audio_manager_accessor.h", |
| "input_controller.cc", |
| "input_controller.h", |
| "input_stream.cc", |
| "input_stream.h", |
| "input_sync_writer.cc", |
| "input_sync_writer.h", |
| "local_muter.cc", |
| "local_muter.h", |
| "log_adapter.cc", |
| "log_adapter.h", |
| "log_factory_adapter.cc", |
| "log_factory_adapter.h", |
| "log_factory_manager.cc", |
| "log_factory_manager.h", |
| "loopback_coordinator.cc", |
| "loopback_coordinator.h", |
| "loopback_group_member.h", |
| "loopback_stream.cc", |
| "loopback_stream.h", |
| "output_controller.cc", |
| "output_controller.h", |
| "output_stream.cc", |
| "output_stream.h", |
| "owning_audio_manager_accessor.cc", |
| "owning_audio_manager_accessor.h", |
| "service.cc", |
| "service.h", |
| "service_factory.cc", |
| "service_factory.h", |
| "service_metrics.cc", |
| "service_metrics.h", |
| "snooper_node.cc", |
| "snooper_node.h", |
| "stream_factory.cc", |
| "stream_factory.h", |
| "stream_monitor.h", |
| "stream_monitor_coordinator.cc", |
| "stream_monitor_coordinator.h", |
| "sync_reader.cc", |
| "sync_reader.h", |
| "system_info.cc", |
| "system_info.h", |
| "traced_service_ref.cc", |
| "traced_service_ref.h", |
| "user_input_monitor.cc", |
| "user_input_monitor.h", |
| ] |
| |
| deps = [ |
| "//components/crash/core/common:crash_key", # Temporary: crbug.com/888478 |
| ] |
| |
| if (audio_processing_in_audio_service_supported) { |
| deps += [ "//media/webrtc" ] |
| } |
| |
| public_deps = [ |
| "//base", |
| "//media", |
| "//media/webrtc", |
| "//services/audio/public/mojom", |
| "//services/service_manager/public/cpp", |
| "//services/service_manager/sandbox:sandbox", |
| ] |
| |
| if (is_linux) { |
| sources += [ |
| "audio_sandbox_hook_linux.cc", |
| "audio_sandbox_hook_linux.h", |
| ] |
| public_deps += [ "//sandbox/linux:sandbox_services" ] |
| } |
| |
| if (is_win) { |
| sources += [ |
| "audio_sandbox_win.cc", |
| "audio_sandbox_win.h", |
| ] |
| public_deps += [ "//sandbox/win:sandbox" ] |
| } |
| configs += [ |
| "//build/config/compiler:wexit_time_destructors", |
| "//media:media_config", |
| "//media/audio:platform_config", |
| ] |
| |
| if (is_chromecast) { |
| defines = [ "IS_CHROMECAST" ] |
| } |
| } |
| |
| source_set("tests") { |
| testonly = true |
| |
| sources = [ |
| "debug_recording_unittest.cc", |
| "delay_buffer_unittest.cc", |
| "device_notifier_unittest.cc", |
| "group_coordinator_unittest.cc", |
| "input_controller_unittest.cc", |
| "input_stream_unittest.cc", |
| "input_sync_writer_unittest.cc", |
| "local_muter_unittest.cc", |
| "log_factory_manager_unittest.cc", |
| "loopback_stream_unittest.cc", |
| "output_controller_unittest.cc", |
| "output_stream_unittest.cc", |
| "public/cpp/input_ipc_unittest.cc", |
| "public/cpp/output_device_unittest.cc", |
| "service_metrics_unittest.cc", |
| "snooper_node_unittest.cc", |
| "stream_factory_unittest.cc", |
| "sync_reader_unittest.cc", |
| "test/audio_system_to_service_adapter_test.cc", |
| "test/debug_recording_session_unittest.cc", |
| "test/fake_consumer.cc", |
| "test/fake_consumer.h", |
| "test/fake_loopback_group_member.cc", |
| "test/fake_loopback_group_member.h", |
| "test/in_process_service_test.cc", |
| "test/mock_group_coordinator.cc", |
| "test/mock_group_coordinator.h", |
| "test/mock_group_member.cc", |
| "test/mock_group_member.h", |
| "test/mock_log.cc", |
| "test/mock_log.h", |
| "test/service_lifetime_connector_test.cc", |
| "test/service_lifetime_test_template.h", |
| "test/service_observer_mock.cc", |
| "test/service_observer_mock.h", |
| "user_input_monitor_unittest.cc", |
| ] |
| |
| deps = [ |
| ":audio", |
| ":lib", |
| "//base/test:test_support", |
| "//media:test_support", |
| "//mojo/core/embedder", |
| "//services/audio/public/cpp", |
| "//services/audio/public/cpp:manifest", |
| "//services/audio/public/cpp:test_support", |
| "//services/audio/public/mojom", |
| "//services/service_manager/public/cpp", |
| "//services/service_manager/public/cpp/test:test_support", |
| "//services/service_manager/public/mojom", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| |
| if (standalone_supported) { |
| sources += [ "test/standalone_service_test.cc" ] |
| } |
| |
| if (is_chromeos || is_chromecast) { |
| sources += [ |
| "public/cpp/sounds/audio_stream_handler_unittest.cc", |
| "public/cpp/sounds/sounds_manager_unittest.cc", |
| ] |
| } |
| |
| data_deps = [ |
| ":audio", |
| ] |
| } |