# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. # # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file in the root of the source # tree. An additional intellectual property rights grant can be found # in the file PATENTS. All contributing project authors may # be found in the AUTHORS file in the root of the source tree. import("../../webrtc.gni") group("audio_mixer") { public_deps = [ ":audio_frame_manipulator", ":audio_mixer_impl", ] } rtc_static_library("audio_mixer_impl") { sources = [ "audio_mixer_impl.cc", "audio_mixer_impl.h", "default_output_rate_calculator.cc", "default_output_rate_calculator.h", "frame_combiner.cc", "frame_combiner.h", "output_rate_calculator.h", ] public = [ "audio_mixer_impl.h", "default_output_rate_calculator.h", # For creating a mixer with limiter disabled. "frame_combiner.h", ] public_deps = [ "../../api:audio_mixer_api", ] deps = [ ":audio_frame_manipulator", "..:module_api", "../..:webrtc_common", "../../api:array_view", "../../audio/utility:audio_frame_operations", "../../rtc_base:rtc_base_approved", "../../system_wrappers", "../audio_processing", ] } rtc_static_library("audio_frame_manipulator") { visibility = [ ":*", "../../modules:*", ] sources = [ "audio_frame_manipulator.cc", "audio_frame_manipulator.h", ] deps = [ "..:module_api", "../../audio/utility", "../../rtc_base:rtc_base_approved", ] } if (rtc_include_tests) { rtc_source_set("audio_mixer_unittests") { testonly = true # Skip restricting visibility on mobile platforms since the tests on those # gets additional generated targets which would require many lines here to # cover (which would be confusing to read and hard to maintain). if (!is_android && !is_ios) { visibility = [ "..:modules_unittests" ] } sources = [ "audio_frame_manipulator_unittest.cc", "audio_mixer_impl_unittest.cc", "frame_combiner_unittest.cc", "gain_change_calculator.cc", "gain_change_calculator.h", "sine_wave_generator.cc", "sine_wave_generator.h", ] deps = [ ":audio_frame_manipulator", ":audio_mixer_impl", "..:module_api", "../../api:array_view", "../../api:audio_mixer_api", "../../audio/utility:audio_frame_operations", "../../rtc_base:rtc_base_approved", "../../rtc_base:rtc_task_queue", "../../test:test_support", "//testing/gmock", ] } }