| # 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("../build/webrtc.gni") |
| |
| rtc_static_library("voice_engine") { |
| sources = [ |
| "channel.cc", |
| "channel.h", |
| "channel_manager.cc", |
| "channel_manager.h", |
| "channel_proxy.cc", |
| "channel_proxy.h", |
| "include/voe_audio_processing.h", |
| "include/voe_base.h", |
| "include/voe_codec.h", |
| "include/voe_errors.h", |
| "include/voe_external_media.h", |
| "include/voe_file.h", |
| "include/voe_hardware.h", |
| "include/voe_neteq_stats.h", |
| "include/voe_network.h", |
| "include/voe_rtp_rtcp.h", |
| "include/voe_video_sync.h", |
| "include/voe_volume_control.h", |
| "monitor_module.cc", |
| "monitor_module.h", |
| "network_predictor.cc", |
| "network_predictor.h", |
| "output_mixer.cc", |
| "output_mixer.h", |
| "shared_data.cc", |
| "shared_data.h", |
| "statistics.cc", |
| "statistics.h", |
| "transmit_mixer.cc", |
| "transmit_mixer.h", |
| "utility.cc", |
| "utility.h", |
| "voe_audio_processing_impl.cc", |
| "voe_audio_processing_impl.h", |
| "voe_base_impl.cc", |
| "voe_base_impl.h", |
| "voe_codec_impl.cc", |
| "voe_codec_impl.h", |
| "voe_external_media_impl.cc", |
| "voe_external_media_impl.h", |
| "voe_file_impl.cc", |
| "voe_file_impl.h", |
| "voe_hardware_impl.cc", |
| "voe_hardware_impl.h", |
| "voe_neteq_stats_impl.cc", |
| "voe_neteq_stats_impl.h", |
| "voe_network_impl.cc", |
| "voe_network_impl.h", |
| "voe_rtp_rtcp_impl.cc", |
| "voe_rtp_rtcp_impl.h", |
| "voe_video_sync_impl.cc", |
| "voe_video_sync_impl.h", |
| "voe_volume_control_impl.cc", |
| "voe_volume_control_impl.h", |
| "voice_engine_defines.h", |
| "voice_engine_impl.cc", |
| "voice_engine_impl.h", |
| ] |
| |
| if (is_win) { |
| defines = [ "WEBRTC_DRIFT_COMPENSATION_SUPPORTED" ] |
| |
| cflags = [ |
| # TODO(kjellander): Bug 261: fix this warning. |
| "/wd4373", # Virtual function override. |
| ] |
| } |
| |
| if (is_clang) { |
| # Suppress warnings from Chrome's Clang plugins. |
| # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. |
| suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
| } |
| |
| public_deps = [ |
| "../modules/audio_coding", |
| ] |
| deps = [ |
| ":level_indicator", |
| "..:webrtc_common", |
| "../api:call_api", |
| "../base:rtc_base_approved", |
| "../common_audio", |
| "../logging:rtc_event_log_api", |
| "../modules/audio_conference_mixer", |
| "../modules/audio_device", |
| "../modules/audio_processing", |
| "../modules/bitrate_controller", |
| "../modules/media_file", |
| "../modules/pacing", |
| "../modules/rtp_rtcp", |
| "../modules/utility", |
| "../system_wrappers", |
| ] |
| } |
| |
| rtc_static_library("level_indicator") { |
| sources = [ |
| "level_indicator.cc", |
| "level_indicator.h", |
| ] |
| |
| deps = [ |
| "..:webrtc_common", |
| "../base:rtc_base_approved", |
| "../common_audio", |
| ] |
| } |
| |
| if (rtc_include_tests) { |
| config("channel_transport_warnings_config") { |
| if (is_win) { |
| cflags = [ "/wd4302" ] # cast truncation |
| |
| if (is_clang) { |
| # GN orders flags on a target before flags from configs. The default |
| # config adds -Wall, and this flag have to be after -Wall -- so they need |
| # to come from a config and cannot be on the target directly. |
| cflags += [ |
| "-Wno-parentheses-equality", |
| "-Wno-reorder", |
| "-Wno-tautological-constant-out-of-range-compare", |
| |
| # See https://bugs.chromium.org/p/webrtc/issues/detail?id=6268 |
| # for -Wno-thread-safety-analysis |
| "-Wno-thread-safety-analysis", |
| "-Wno-unused-private-field", |
| ] |
| } |
| } |
| } |
| |
| rtc_static_library("channel_transport") { |
| testonly = true |
| sources = [ |
| "test/channel_transport/channel_transport.cc", |
| "test/channel_transport/channel_transport.h", |
| "test/channel_transport/traffic_control_win.cc", |
| "test/channel_transport/traffic_control_win.h", |
| "test/channel_transport/udp_socket2_manager_win.cc", |
| "test/channel_transport/udp_socket2_manager_win.h", |
| "test/channel_transport/udp_socket2_win.cc", |
| "test/channel_transport/udp_socket2_win.h", |
| "test/channel_transport/udp_socket_manager_posix.cc", |
| "test/channel_transport/udp_socket_manager_posix.h", |
| "test/channel_transport/udp_socket_manager_wrapper.cc", |
| "test/channel_transport/udp_socket_manager_wrapper.h", |
| "test/channel_transport/udp_socket_posix.cc", |
| "test/channel_transport/udp_socket_posix.h", |
| "test/channel_transport/udp_socket_wrapper.cc", |
| "test/channel_transport/udp_socket_wrapper.h", |
| "test/channel_transport/udp_transport.h", |
| "test/channel_transport/udp_transport_impl.cc", |
| "test/channel_transport/udp_transport_impl.h", |
| ] |
| |
| configs += [ ":channel_transport_warnings_config" ] |
| |
| if (is_clang && !is_nacl) { |
| # Suppress warnings from the Chromium Clang plugin. |
| # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. |
| suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
| } |
| |
| deps = [ |
| "..:webrtc_common", |
| "../system_wrappers", |
| "//testing/gtest", |
| ] |
| } |
| |
| rtc_test("voice_engine_unittests") { |
| deps = [ |
| ":channel_transport", |
| ":voice_engine", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//webrtc/common_audio", |
| "//webrtc/modules/audio_coding", |
| "//webrtc/modules/audio_conference_mixer", |
| "//webrtc/modules/audio_device", |
| "//webrtc/modules/audio_processing", |
| "//webrtc/modules/media_file", |
| "//webrtc/modules/rtp_rtcp", |
| "//webrtc/modules/utility", |
| "//webrtc/system_wrappers", |
| "//webrtc/test:test_support_main", |
| ] |
| |
| if (is_android) { |
| deps += [ "//testing/android/native_test:native_test_native_code" ] |
| shard_timeout = 900 |
| } |
| |
| sources = [ |
| "channel_unittest.cc", |
| "network_predictor_unittest.cc", |
| "test/channel_transport/udp_socket_manager_unittest.cc", |
| "test/channel_transport/udp_socket_wrapper_unittest.cc", |
| "test/channel_transport/udp_transport_unittest.cc", |
| "transmit_mixer_unittest.cc", |
| "utility_unittest.cc", |
| "voe_audio_processing_unittest.cc", |
| "voe_base_unittest.cc", |
| "voe_codec_unittest.cc", |
| "voe_network_unittest.cc", |
| "voice_engine_fixture.cc", |
| "voice_engine_fixture.h", |
| ] |
| |
| if (is_win) { |
| defines = [ "WEBRTC_DRIFT_COMPENSATION_SUPPORTED" ] |
| |
| cflags = [ |
| # TODO(kjellander): Bug 261: fix this warning. |
| "/wd4373", # Virtual function override. |
| ] |
| } |
| |
| if (is_clang) { |
| # Suppress warnings from Chrome's Clang plugins. |
| # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. |
| suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
| } |
| } |
| |
| rtc_executable("voe_cmd_test") { |
| testonly = true |
| |
| deps = [ |
| ":channel_transport", |
| ":voice_engine", |
| "//testing/gtest", |
| "//third_party/gflags", |
| "//webrtc/logging:rtc_event_log_api", |
| "//webrtc/system_wrappers", |
| "//webrtc/system_wrappers:system_wrappers_default", |
| "//webrtc/test:test_support", |
| ] |
| |
| sources = [ |
| "test/cmd_test/voe_cmd_test.cc", |
| ] |
| |
| if (is_clang) { |
| # Suppress warnings from Chrome's Clang plugins. |
| # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. |
| suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
| } |
| } |
| |
| if (!is_ios) { |
| rtc_executable("voe_auto_test") { |
| testonly = true |
| |
| deps = [ |
| ":channel_transport", |
| ":voice_engine", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/gflags", |
| "//webrtc/logging:rtc_event_log_api", |
| "//webrtc/modules/video_capture", |
| "//webrtc/system_wrappers", |
| "//webrtc/system_wrappers/:system_wrappers_default", |
| "//webrtc/test/:test_common", |
| "//webrtc/test/:test_support", |
| ] |
| |
| sources = [ |
| "test/auto_test/automated_mode.cc", |
| "test/auto_test/extended/agc_config_test.cc", |
| "test/auto_test/extended/ec_metrics_test.cc", |
| "test/auto_test/fakes/conference_transport.cc", |
| "test/auto_test/fakes/conference_transport.h", |
| "test/auto_test/fakes/loudest_filter.cc", |
| "test/auto_test/fakes/loudest_filter.h", |
| "test/auto_test/fixtures/after_initialization_fixture.cc", |
| "test/auto_test/fixtures/after_initialization_fixture.h", |
| "test/auto_test/fixtures/after_streaming_fixture.cc", |
| "test/auto_test/fixtures/after_streaming_fixture.h", |
| "test/auto_test/fixtures/before_initialization_fixture.cc", |
| "test/auto_test/fixtures/before_initialization_fixture.h", |
| "test/auto_test/fixtures/before_streaming_fixture.cc", |
| "test/auto_test/fixtures/before_streaming_fixture.h", |
| "test/auto_test/resource_manager.cc", |
| "test/auto_test/standard/audio_processing_test.cc", |
| "test/auto_test/standard/codec_before_streaming_test.cc", |
| "test/auto_test/standard/codec_test.cc", |
| "test/auto_test/standard/dtmf_test.cc", |
| "test/auto_test/standard/external_media_test.cc", |
| "test/auto_test/standard/file_before_streaming_test.cc", |
| "test/auto_test/standard/file_test.cc", |
| "test/auto_test/standard/hardware_before_initializing_test.cc", |
| "test/auto_test/standard/hardware_test.cc", |
| "test/auto_test/standard/mixing_test.cc", |
| "test/auto_test/standard/neteq_stats_test.cc", |
| "test/auto_test/standard/rtp_rtcp_before_streaming_test.cc", |
| "test/auto_test/standard/rtp_rtcp_extensions.cc", |
| "test/auto_test/standard/rtp_rtcp_test.cc", |
| "test/auto_test/standard/video_sync_test.cc", |
| "test/auto_test/standard/voe_base_misc_test.cc", |
| "test/auto_test/standard/volume_test.cc", |
| "test/auto_test/voe_conference_test.cc", |
| "test/auto_test/voe_cpu_test.cc", |
| "test/auto_test/voe_cpu_test.h", |
| "test/auto_test/voe_output_test.cc", |
| "test/auto_test/voe_standard_test.cc", |
| "test/auto_test/voe_standard_test.h", |
| "test/auto_test/voe_stress_test.cc", |
| "test/auto_test/voe_stress_test.h", |
| "test/auto_test/voe_test_defines.h", |
| "test/auto_test/voe_test_interface.h", |
| ] |
| |
| if (!is_android) { |
| # Some tests are not supported on android yet, exclude these tests. |
| sources += |
| [ "test/auto_test/standard/hardware_before_streaming_test.cc" ] |
| } |
| |
| defines = [] |
| |
| if (rtc_enable_protobuf) { |
| defines = [ "ENABLE_RTC_EVENT_LOG" ] |
| } |
| |
| if (is_win) { |
| defines += [ "WEBRTC_DRIFT_COMPENSATION_SUPPORTED" ] |
| |
| cflags = [ |
| "/wd4267", # size_t to int truncation. |
| "/wd4373", # Virtual function override. |
| # TODO(kjellander): Bug 261: fix this warning. |
| ] |
| } |
| |
| if (is_clang) { |
| # Suppress warnings from Chrome's Clang plugins. |
| # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. |
| suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
| } |
| } |
| } |
| } |