| # Copyright 2015 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| import("//build/buildflag_header.gni") |
| import("//chromecast/chromecast.gni") |
| import("//media/media_options.gni") |
| import("//testing/test.gni") |
| |
| cast_source_set("audio_log") { |
| sources = [ |
| "audio_log.cc", |
| "audio_log.h", |
| ] |
| |
| deps = [ "//base" ] |
| } |
| |
| cast_source_set("audio_io_thread") { |
| sources = [ |
| "audio_io_thread.cc", |
| "audio_io_thread.h", |
| ] |
| |
| deps = [ "//base" ] |
| } |
| |
| cast_source_set("wav_header") { |
| sources = [ "wav_header.h" ] |
| } |
| |
| cast_source_set("processing") { |
| sources = [ |
| "audio_fader.cc", |
| "audio_fader.h", |
| "cast_audio_bus.cc", |
| "cast_audio_bus.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//chromecast/media/api", |
| ] |
| |
| # Use fastest possible float math. |
| configs -= [ "//build/config/compiler:default_optimization" ] |
| configs += [ "//build/config/compiler:optimize_speed" ] |
| cflags = [ "-Wno-nan-infinity-disabled" ] |
| } |
| |
| cast_source_set("playback_rate_shifter") { |
| sources = [ |
| "playback_rate_shifter.cc", |
| "playback_rate_shifter.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//chromecast/media/api", |
| "//media", |
| ] |
| } |
| |
| cast_source_set("interleaved_channel_mixer") { |
| sources = [ |
| "interleaved_channel_mixer.cc", |
| "interleaved_channel_mixer.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//media", |
| ] |
| } |
| |
| cast_source_set("cma_audio_output") { |
| sources = [ |
| "cma_audio_output.cc", |
| "cma_audio_output.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//chromecast/base", |
| "//chromecast/media/base", |
| "//chromecast/media/cma/backend", |
| "//chromecast/media/cma/base", |
| "//chromecast/public/media", |
| "//media", |
| ] |
| } |
| |
| cast_source_set("resampler") { |
| sources = [ "cast_audio_resampler_impl.cc" ] |
| |
| deps = [ |
| "//base", |
| "//chromecast/media/api", |
| "//media", |
| ] |
| } |
| |
| cast_source_set("channel_mixer") { |
| sources = [ "cast_channel_mixer_impl.cc" ] |
| deps = [ |
| "//base", |
| "//chromecast/media/api", |
| "//chromecast/media/cma/base", |
| "//media", |
| ] |
| } |
| |
| cast_source_set("audio_renderer") { |
| sources = [ |
| "cast_audio_renderer.cc", |
| "cast_audio_renderer.h", |
| ] |
| |
| public_deps = [ "//chromecast/media/audio/audio_output_service:proto" ] |
| |
| deps = [ |
| ":audio_io_thread", |
| "//base", |
| "//chromecast/common/mojom", |
| "//chromecast/media/audio/audio_output_service:output_connection", |
| "//chromecast/media/audio/net:common", |
| "//chromecast/media/cma/base", |
| "//chromecast/public/media", |
| "//media", |
| "//media/mojo/mojom", |
| "//mojo/public/cpp/bindings", |
| "//net", |
| "//third_party/blink/public:blink_headers", |
| ] |
| } |
| |
| cast_source_set("audio") { |
| sources = [ |
| "audio_clock_simulator_impl.cc", |
| "cast_audio_input_stream.cc", |
| "cast_audio_input_stream.h", |
| "cast_audio_manager.cc", |
| "cast_audio_manager.h", |
| "cast_audio_manager_helper.cc", |
| "cast_audio_manager_helper.h", |
| "cast_audio_mixer.cc", |
| "cast_audio_mixer.h", |
| "cast_audio_output_stream.cc", |
| "cast_audio_output_stream.h", |
| "cast_audio_output_utils.cc", |
| "cast_audio_output_utils.h", |
| "cma_audio_output_stream.cc", |
| "cma_audio_output_stream.h", |
| ] |
| |
| deps = [ |
| ":audio_buildflags", |
| ":cma_audio_output", |
| "//base", |
| "//chromecast/base", |
| "//chromecast/media/api", |
| "//chromecast/media/audio/capture_service:common", |
| "//chromecast/media/audio/capture_service:receiver", |
| "//chromecast/media/audio/capture_service:utils", |
| "//chromecast/media/audio/mixer_service:common", |
| "//chromecast/media/audio/mixer_service:output_stream_connection", |
| "//chromecast/media/audio/mixer_service:proto", |
| "//chromecast/media/audio/net:proto", |
| "//chromecast/media/base", |
| "//chromecast/media/base:monotonic_clock", |
| "//chromecast/media/cma/backend", |
| "//chromecast/media/cma/base", |
| "//chromecast/public/media", |
| "//media", |
| "//media:shared_memory_support", |
| ] |
| |
| if (use_alsa) { |
| sources += [ |
| "cast_audio_manager_alsa.cc", |
| "cast_audio_manager_alsa.h", |
| ] |
| deps += [ ":audio_buildflags" ] |
| } |
| |
| if (is_android) { |
| sources += [ |
| "cast_audio_manager_android.cc", |
| "cast_audio_manager_android.h", |
| ] |
| } |
| |
| configs += [ "//media/audio:platform_config" ] |
| } |
| |
| cast_source_set("cast_audio_output_device") { |
| sources = [ |
| "cast_audio_output_device.cc", |
| "cast_audio_output_device.h", |
| ] |
| |
| deps = [ |
| ":audio_io_thread", |
| "//base", |
| "//chromecast/common/mojom", |
| "//chromecast/media/audio/audio_output_service:output_connection", |
| "//chromecast/media/audio/audio_output_service:proto", |
| "//chromecast/media/base:monotonic_clock", |
| "//content/renderer:renderer", |
| "//media", |
| "//media/mojo/mojom", |
| "//net", |
| ] |
| } |
| |
| if (is_android) { |
| cast_source_set("cast_audio_device_factory") { |
| sources = [ |
| "cast_audio_device_factory.cc", |
| "cast_audio_device_factory.h", |
| ] |
| |
| deps = [ |
| ":cast_audio_output_device", |
| "//base", |
| "//chromecast/base", |
| "//content/public/renderer", |
| "//content/renderer:renderer", |
| "//media", |
| "//third_party/blink/public:blink", |
| "//third_party/blink/public/common", |
| ] |
| } |
| } |
| |
| source_set("dummy_external_audio_pipeline") { |
| sources = [ "external_audio_pipeline_dummy.cc" ] |
| |
| public_deps = [ "//chromecast/public/media" ] |
| } |
| |
| cast_shared_library("libcast_external_audio_pipeline_1.0") { |
| public_deps = [ ":dummy_external_audio_pipeline" ] |
| } |
| |
| source_set("fake_external_audio_pipeline") { |
| sources = [ |
| "fake_external_audio_pipeline.cc", |
| "fake_external_audio_pipeline_support.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//chromecast/public", |
| "//chromecast/public/media", |
| ] |
| } |
| |
| buildflag_header("audio_buildflags") { |
| header = "audio_buildflags.h" |
| |
| flags = [ "ENABLE_AUDIO_CAPTURE_SERVICE=$enable_audio_capture_service" ] |
| |
| if (use_alsa) { |
| # Currently, this flag will only be used in cast_audio_manager_alsa.cc |
| flags += [ "AUDIO_INPUT_SAMPLE_RATE=$audio_input_sample_rate" ] |
| } |
| } |
| |
| cast_source_set("rate_adjuster") { |
| sources = [ |
| "rate_adjuster.cc", |
| "rate_adjuster.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//chromecast/base", |
| ] |
| } |
| |
| cast_source_set("test_support") { |
| testonly = true |
| |
| sources = [ |
| "mock_audio_input_callback.h", |
| "mock_cast_audio_manager_helper_delegate.h", |
| ] |
| |
| public_deps = [ "//testing/gmock" ] |
| |
| deps = [ |
| ":audio", |
| "//media", |
| ] |
| } |
| |
| cast_source_set("unittests") { |
| testonly = true |
| sources = [ |
| "audio_clock_simulator_unittest.cc", |
| "audio_fader_unittest.cc", |
| "interleaved_channel_mixer_unittest.cc", |
| "playback_rate_shifter_unittest.cc", |
| "rate_adjuster_unittest.cc", |
| ] |
| |
| deps = [ |
| ":audio", |
| ":interleaved_channel_mixer", |
| ":playback_rate_shifter", |
| ":processing", |
| ":rate_adjuster", |
| "//base", |
| "//chromecast/media/api", |
| "//media", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| } |