| # Copyright 2016 The Fuchsia 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.gni") |
| import("//build/package.gni") |
| import("//build/test/test_package.gni") |
| |
| config_data("default_audio_policy") { |
| for_pkg = "audio_core" |
| sources = [ |
| rebase_path("settings/default/audio_policy.json"), |
| ] |
| outputs = [ |
| "settings/default/audio_policy.json", |
| ] |
| } |
| |
| action_foreach("generate_schemas") { |
| visibility = [ ":*" ] |
| |
| script = "//src/media/audio/audio_core/schema/make_schema_header.py" |
| |
| outputs = [ |
| "$target_gen_dir/schema/{{source_name_part}}.inl", |
| ] |
| |
| args = [ |
| "{{source}}", |
| rebase_path("$target_gen_dir") + "/schema/{{source_name_part}}.inl", |
| ] |
| |
| sources = [ |
| "schema/audio_device_settings_schema.jsx", |
| "schema/audio_policy_schema.jsx", |
| ] |
| } |
| |
| package("audio_core") { |
| deps = [ |
| "//src/media/audio/audio_core:audio_core_bin", |
| "//src/media/audio/audio_core:default_audio_policy", |
| "//src/media/audio/effects/passthrough:audio_effects", |
| ] |
| |
| binaries = [ |
| { |
| name = "audio_core" |
| }, |
| ] |
| |
| loadable_modules = [ |
| { |
| # This audio processing library is hosted in the audio_core process. |
| name = "audio_effects.so" |
| }, |
| ] |
| |
| meta = [ |
| { |
| path = rebase_path("meta/audio_core.cmx") |
| dest = "audio_core.cmx" |
| }, |
| |
| # The nodevfs cmx is used in some test environments where we would like to provide our own |
| # devfs for the test. At this time we need to remove any dev sandbox metadata as appmgr does |
| # not allow these namespaces to be overridden. |
| { |
| path = rebase_path("meta/audio_core_nodevfs.cmx") |
| dest = "audio_core_nodevfs.cmx" |
| }, |
| ] |
| } |
| |
| source_set("audio_core_lib") { |
| sources = [ |
| "audio_admin.cc", |
| "audio_admin.h", |
| "audio_capturer_impl.cc", |
| "audio_capturer_impl.h", |
| "audio_core_impl.cc", |
| "audio_core_impl.h", |
| "audio_device.cc", |
| "audio_device.h", |
| "audio_device_manager.cc", |
| "audio_device_manager.h", |
| "audio_device_settings.cc", |
| "audio_device_settings.h", |
| "audio_driver.cc", |
| "audio_driver.h", |
| "audio_input.cc", |
| "audio_input.h", |
| "audio_link.cc", |
| "audio_link.h", |
| "audio_link_packet_source.cc", |
| "audio_link_packet_source.h", |
| "audio_link_ring_buffer_source.cc", |
| "audio_link_ring_buffer_source.h", |
| "audio_object.cc", |
| "audio_object.h", |
| "audio_output.cc", |
| "audio_output.h", |
| "audio_packet_ref.cc", |
| "audio_packet_ref.h", |
| "audio_plug_detector.cc", |
| "audio_plug_detector.h", |
| "audio_renderer_format_info.cc", |
| "audio_renderer_format_info.h", |
| "audio_renderer_impl.cc", |
| "audio_renderer_impl.h", |
| "command_line_options.cc", |
| "command_line_options.h", |
| "driver_output.cc", |
| "driver_output.h", |
| "driver_ring_buffer.cc", |
| "driver_ring_buffer.h", |
| "driver_utils.cc", |
| "driver_utils.h", |
| "fwd_decls.h", |
| "pending_flush_token.cc", |
| "pending_flush_token.h", |
| "policy_loader.cc", |
| "policy_loader.h", |
| "reporter.cc", |
| "reporter.h", |
| "throttle_output.h", |
| "utils.cc", |
| "utils.h", |
| ] |
| |
| public_deps = [ |
| "//sdk/fidl/fuchsia.media", |
| "//third_party/rapidjson", |
| "//zircon/public/lib/dispatcher-pool", |
| "//zircon/public/lib/fzl", |
| ] |
| |
| deps = [ |
| ":generate_schemas", |
| "//garnet/public/lib/fsl", |
| "//garnet/public/lib/inspect_deprecated:component", |
| "//sdk/fidl/fuchsia.media", |
| "//sdk/lib/media/audio/cpp", |
| "//sdk/lib/media/cpp:no_converters", |
| "//sdk/lib/sys/cpp:cpp", |
| "//src/lib/fxl", |
| "//src/media/audio/audio_core/mixer:audio_mixer_lib", |
| "//src/media/audio/lib/effects_loader", |
| "//src/media/audio/lib/logging", |
| "//src/media/audio/lib/wav_writer:wav_writer", |
| "//zircon/public/fidl/fuchsia-hardware-audio", |
| "//zircon/public/fidl/fuchsia-scheduler", |
| "//zircon/public/lib/audio-proto-utils", |
| "//zircon/public/lib/fbl", |
| "//zircon/public/lib/fdio", |
| "//zircon/public/lib/fit", |
| "//zircon/public/lib/zx", |
| ] |
| } |
| |
| executable("audio_core_bin") { |
| output_name = "audio_core" |
| |
| sources = [ |
| "main.cc", |
| ] |
| |
| deps = [ |
| ":audio_core_lib", |
| "//garnet/public/lib/inspect_deprecated:component", |
| "//zircon/public/lib/async-loop-cpp", |
| ] |
| } |
| |
| executable("unittest_bin") { |
| visibility = [ ":*" ] |
| testonly = true |
| output_name = "audio_core_unittests" |
| |
| sources = [ |
| "audio_link_packet_source_unittest.cc", |
| "command_line_options_unittest.cc", |
| "policy_loader_unittest.cc", |
| "policy_loader_unittest_data.h", |
| "utils_unittest.cc", |
| ] |
| |
| deps = [ |
| ":audio_core_lib", |
| "//garnet/public/lib/gtest", |
| "//sdk/lib/sys/cpp/testing:unit", |
| "//src/lib/fxl/test:gtest_main", |
| "//zircon/public/fidl/fuchsia-io", |
| "//zircon/public/fidl/fuchsia-scheduler", |
| "//zircon/public/lib/fzl", |
| ] |
| } |
| |
| test_package("audio_core_unittests") { |
| deps = [ |
| ":unittest_bin", |
| ] |
| |
| tests = [ |
| { |
| name = "audio_core_unittests" |
| environments = basic_envs |
| }, |
| ] |
| } |
| |
| group("tests") { |
| testonly = true |
| |
| deps = [ |
| ":audio_core_unittests", |
| "mixer:audio_mixer_tests", |
| "test", |
| ] |
| } |