Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

762 lines
32 KiB
Plaintext
Raw Normal View History

# Copyright (c) 2016 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")
import("audio_coding/audio_coding.gni")
declare_args() {
# Desktop capturer is supported only on Windows, OSX and Linux.
rtc_desktop_capture_supported = is_win || is_mac || is_linux
}
group("modules") {
public_deps = [
"audio_coding",
"audio_conference_mixer",
"audio_device",
GN: New conventions, default target and refactorings Introduce a convention on categorizing GN targets: 1. Production code 2. Tests 3. Examples 4. Tools The first two have targets spread out all over the tree, while the latter are isolated to examples/ and tools/ directories. Another new convention: Each directory's BUILD.gn file shall contain a target named similar to the directory name. This target shall contain the 'most common' production code, i.e. so that most consumers of the directory can depend on only the directory (which implicitly means that target in GN). //webrtc:webrtc_tests is changed to depend on all WebRTC tests. From now on, it's necessary to add new test targets to this dependency tree in order to get them compiled. Two new group targets are created: //webrtc/modules/audio_coding:audio_coding_tests //webrtc/modules/audio_processing:audio_processing_tests to reduce the long list of tests in //webrtc:webrtc_tests. Visibility on //webrtc:webrtc and //webrtc:webrtc_tests is restricted to the root target, to avoid circular dependencies due to the monolithic property of these targets (a problem we've had in the past). The 'root' target at the top level is renamed to 'default', which means GN will build this target instead of _all_ generated targets (see https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/faq.md#Can-I-control-what-targets-are-built-by-default). This target now depends on everything we want to build, meaning all targets now explicitly needs to be wired up from the root target in order to get build. Having this, the number of compiled objects on Android is decreased from 8855 to 6276. It also gives us better control over our build. BUG=webrtc:6440 TESTED=git cl try --clobber NOTRY=True Review-Url: https://codereview.webrtc.org/2441383002 Cr-Commit-Position: refs/heads/master@{#14821}
2016-10-28 05:44:03 -07:00
"audio_mixer",
"audio_processing",
"bitrate_controller",
GN: New conventions, default target and refactorings Introduce a convention on categorizing GN targets: 1. Production code 2. Tests 3. Examples 4. Tools The first two have targets spread out all over the tree, while the latter are isolated to examples/ and tools/ directories. Another new convention: Each directory's BUILD.gn file shall contain a target named similar to the directory name. This target shall contain the 'most common' production code, i.e. so that most consumers of the directory can depend on only the directory (which implicitly means that target in GN). //webrtc:webrtc_tests is changed to depend on all WebRTC tests. From now on, it's necessary to add new test targets to this dependency tree in order to get them compiled. Two new group targets are created: //webrtc/modules/audio_coding:audio_coding_tests //webrtc/modules/audio_processing:audio_processing_tests to reduce the long list of tests in //webrtc:webrtc_tests. Visibility on //webrtc:webrtc and //webrtc:webrtc_tests is restricted to the root target, to avoid circular dependencies due to the monolithic property of these targets (a problem we've had in the past). The 'root' target at the top level is renamed to 'default', which means GN will build this target instead of _all_ generated targets (see https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/faq.md#Can-I-control-what-targets-are-built-by-default). This target now depends on everything we want to build, meaning all targets now explicitly needs to be wired up from the root target in order to get build. Having this, the number of compiled objects on Android is decreased from 8855 to 6276. It also gives us better control over our build. BUG=webrtc:6440 TESTED=git cl try --clobber NOTRY=True Review-Url: https://codereview.webrtc.org/2441383002 Cr-Commit-Position: refs/heads/master@{#14821}
2016-10-28 05:44:03 -07:00
"congestion_controller",
"desktop_capture",
"media_file",
GN: New conventions, default target and refactorings Introduce a convention on categorizing GN targets: 1. Production code 2. Tests 3. Examples 4. Tools The first two have targets spread out all over the tree, while the latter are isolated to examples/ and tools/ directories. Another new convention: Each directory's BUILD.gn file shall contain a target named similar to the directory name. This target shall contain the 'most common' production code, i.e. so that most consumers of the directory can depend on only the directory (which implicitly means that target in GN). //webrtc:webrtc_tests is changed to depend on all WebRTC tests. From now on, it's necessary to add new test targets to this dependency tree in order to get them compiled. Two new group targets are created: //webrtc/modules/audio_coding:audio_coding_tests //webrtc/modules/audio_processing:audio_processing_tests to reduce the long list of tests in //webrtc:webrtc_tests. Visibility on //webrtc:webrtc and //webrtc:webrtc_tests is restricted to the root target, to avoid circular dependencies due to the monolithic property of these targets (a problem we've had in the past). The 'root' target at the top level is renamed to 'default', which means GN will build this target instead of _all_ generated targets (see https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/faq.md#Can-I-control-what-targets-are-built-by-default). This target now depends on everything we want to build, meaning all targets now explicitly needs to be wired up from the root target in order to get build. Having this, the number of compiled objects on Android is decreased from 8855 to 6276. It also gives us better control over our build. BUG=webrtc:6440 TESTED=git cl try --clobber NOTRY=True Review-Url: https://codereview.webrtc.org/2441383002 Cr-Commit-Position: refs/heads/master@{#14821}
2016-10-28 05:44:03 -07:00
"pacing",
"remote_bitrate_estimator",
"rtp_rtcp",
"utility",
GN: New conventions, default target and refactorings Introduce a convention on categorizing GN targets: 1. Production code 2. Tests 3. Examples 4. Tools The first two have targets spread out all over the tree, while the latter are isolated to examples/ and tools/ directories. Another new convention: Each directory's BUILD.gn file shall contain a target named similar to the directory name. This target shall contain the 'most common' production code, i.e. so that most consumers of the directory can depend on only the directory (which implicitly means that target in GN). //webrtc:webrtc_tests is changed to depend on all WebRTC tests. From now on, it's necessary to add new test targets to this dependency tree in order to get them compiled. Two new group targets are created: //webrtc/modules/audio_coding:audio_coding_tests //webrtc/modules/audio_processing:audio_processing_tests to reduce the long list of tests in //webrtc:webrtc_tests. Visibility on //webrtc:webrtc and //webrtc:webrtc_tests is restricted to the root target, to avoid circular dependencies due to the monolithic property of these targets (a problem we've had in the past). The 'root' target at the top level is renamed to 'default', which means GN will build this target instead of _all_ generated targets (see https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/faq.md#Can-I-control-what-targets-are-built-by-default). This target now depends on everything we want to build, meaning all targets now explicitly needs to be wired up from the root target in order to get build. Having this, the number of compiled objects on Android is decreased from 8855 to 6276. It also gives us better control over our build. BUG=webrtc:6440 TESTED=git cl try --clobber NOTRY=True Review-Url: https://codereview.webrtc.org/2441383002 Cr-Commit-Position: refs/heads/master@{#14821}
2016-10-28 05:44:03 -07:00
"video_capture",
"video_coding",
"video_processing",
]
}
if (rtc_include_tests) {
modules_tests_resources = [
"//resources/audio_coding/testfile32kHz.pcm",
"//resources/audio_coding/teststereo32kHz.pcm",
"//resources/foreman_cif.yuv",
"//resources/paris_qcif.yuv",
]
if (is_ios) {
bundle_data("modules_tests_bundle_data") {
testonly = true
sources = modules_tests_resources
outputs = [
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
}
rtc_test("modules_tests") {
testonly = true
videoprocessor_defines = []
if (rtc_use_h264) {
videoprocessor_defines += [ "WEBRTC_VIDEOPROCESSOR_H264_TESTS" ]
}
defines = audio_coding_defines + videoprocessor_defines
deps = [
"..:webrtc_common",
"../common_video",
"../media:rtc_media_base",
"../modules/audio_coding",
"../modules/audio_coding:audio_format_conversion",
"../modules/rtp_rtcp",
"../modules/utility",
"../modules/video_coding",
"../modules/video_coding:video_codecs_test_framework",
"../system_wrappers",
"../test:test_support",
"../test:test_support_main",
"//testing/gmock",
"//testing/gtest",
]
sources = [
"audio_coding/test/APITest.cc",
"audio_coding/test/Channel.cc",
"audio_coding/test/EncodeDecodeTest.cc",
"audio_coding/test/PCMFile.cc",
"audio_coding/test/PacketLossTest.cc",
"audio_coding/test/RTPFile.cc",
"audio_coding/test/TestAllCodecs.cc",
"audio_coding/test/TestRedFec.cc",
"audio_coding/test/TestStereo.cc",
"audio_coding/test/TestVADDTX.cc",
"audio_coding/test/Tester.cc",
"audio_coding/test/TwoWayCommunication.cc",
"audio_coding/test/iSACTest.cc",
"audio_coding/test/opus_test.cc",
"audio_coding/test/target_delay_unittest.cc",
"audio_coding/test/utility.cc",
"rtp_rtcp/test/testFec/test_fec.cc",
"video_coding/codecs/test/videoprocessor_integrationtest.cc",
"video_coding/codecs/vp8/test/vp8_impl_unittest.cc",
]
if (rtc_desktop_capture_supported) {
deps += [
"desktop_capture:desktop_capture_mock",
"desktop_capture:screen_drawer",
]
sources += [
"desktop_capture/screen_capturer_integration_test.cc",
"desktop_capture/screen_drawer_unittest.cc",
]
}
data = modules_tests_resources
if (is_android) {
deps += [ "//testing/android/native_test:native_test_native_code" ]
shard_timeout = 900
}
if (is_ios) {
deps += [ ":modules_tests_bundle_data" ]
}
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
if (is_win) {
cflags = [
# TODO(phoglund): get rid of 4373 supression when
# http://code.google.com/p/webrtc/issues/detail?id=261 is solved.
# legacy warning for ignoring const / volatile in signatures.
"/wd4373",
]
}
}
modules_unittests_resources = [
"//resources/att-downlink.rx",
"//resources/att-uplink.rx",
"//resources/audio_coding/neteq_opus.rtp",
"//resources/audio_coding/neteq_universal_new.rtp",
"//resources/audio_coding/speech_mono_16kHz.pcm",
"//resources/audio_coding/speech_mono_32_48kHz.pcm",
"//resources/audio_coding/testfile32kHz.pcm",
"//resources/audio_coding/teststereo32kHz.pcm",
"//resources/audio_device/audio_short16.pcm",
"//resources/audio_device/audio_short44.pcm",
"//resources/audio_device/audio_short48.pcm",
"//resources/audio_processing/agc/agc_audio.pcm",
"//resources/audio_processing/agc/agc_no_circular_buffer.dat",
"//resources/audio_processing/agc/agc_pitch_gain.dat",
"//resources/audio_processing/agc/agc_pitch_lag.dat",
"//resources/audio_processing/agc/agc_spectral_peak.dat",
"//resources/audio_processing/agc/agc_vad.dat",
"//resources/audio_processing/agc/agc_voicing_prob.dat",
"//resources/audio_processing/agc/agc_with_circular_buffer.dat",
"//resources/audio_processing/output_data_fixed.pb",
"//resources/audio_processing/output_data_float.pb",
"//resources/audio_processing/output_data_mac.pb",
"//resources/audio_processing/transient/ajm-macbook-1-spke16m.pcm",
"//resources/audio_processing/transient/audio16kHz.pcm",
"//resources/audio_processing/transient/audio32kHz.pcm",
"//resources/audio_processing/transient/audio48kHz.pcm",
"//resources/audio_processing/transient/audio8kHz.pcm",
"//resources/audio_processing/transient/detect16kHz.dat",
"//resources/audio_processing/transient/detect32kHz.dat",
"//resources/audio_processing/transient/detect48kHz.dat",
"//resources/audio_processing/transient/detect8kHz.dat",
"//resources/audio_processing/transient/double-utils.dat",
"//resources/audio_processing/transient/float-utils.dat",
"//resources/audio_processing/transient/suppressed16kHz.pcm",
"//resources/audio_processing/transient/suppressed32kHz.pcm",
"//resources/audio_processing/transient/suppressed8kHz.pcm",
"//resources/audio_processing/transient/wpd0.dat",
"//resources/audio_processing/transient/wpd1.dat",
"//resources/audio_processing/transient/wpd2.dat",
"//resources/audio_processing/transient/wpd3.dat",
"//resources/audio_processing/transient/wpd4.dat",
"//resources/audio_processing/transient/wpd5.dat",
"//resources/audio_processing/transient/wpd6.dat",
"//resources/audio_processing/transient/wpd7.dat",
"//resources/deflicker_before_cif_short.yuv",
"//resources/far16_stereo.pcm",
"//resources/far32_stereo.pcm",
"//resources/far44_stereo.pcm",
"//resources/far48_stereo.pcm",
"//resources/far8_stereo.pcm",
"//resources/foremanColorEnhanced_cif_short.yuv",
"//resources/foreman_cif.yuv",
"//resources/foreman_cif_short.yuv",
"//resources/near16_stereo.pcm",
"//resources/near32_stereo.pcm",
"//resources/near44_stereo.pcm",
"//resources/near48_stereo.pcm",
"//resources/near8_stereo.pcm",
"//resources/ref03.aecdump",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke1_0_AST.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke1_0_TOF.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke1_1_AST.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke1_1_TOF.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke2_0_AST.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke2_0_TOF.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke2_1_AST.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingChoke2_1_TOF.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingDelay1_0_AST.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingDelay1_0_TOF.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingLoss1_0_AST.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_IncreasingLoss1_0_TOF.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_Multi1_1_AST.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_Multi1_1_TOF.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyChoke_0_AST.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyChoke_0_TOF.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyChoke_1_AST.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyChoke_1_TOF.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyDelay_0_AST.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyDelay_0_TOF.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyLoss_0_AST.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_SteadyLoss_0_TOF.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_UnlimitedSpeed_0_AST.bin",
"//resources/remote_bitrate_estimator/VideoSendersTest_BweTest_UnlimitedSpeed_0_TOF.bin",
"//resources/short_mixed_mono_48.dat",
"//resources/short_mixed_mono_48_arm.dat",
"//resources/short_mixed_mono_48.pcm",
"//resources/short_mixed_stereo_48.dat",
"//resources/short_mixed_stereo_48.pcm",
"//resources/sprint-downlink.rx",
"//resources/sprint-uplink.rx",
"//resources/synthetic-trace.rx",
"//resources/tmobile-downlink.rx",
"//resources/tmobile-uplink.rx",
"//resources/utility/encapsulated_pcm16b_8khz.wav",
"//resources/utility/encapsulated_pcmu_8khz.wav",
"//resources/verizon3g-downlink.rx",
"//resources/verizon3g-uplink.rx",
"//resources/verizon4g-downlink.rx",
"//resources/verizon4g-uplink.rx",
"//resources/voice_engine/audio_tiny48.wav",
]
if (is_ios) {
bundle_data("modules_unittests_bundle_data") {
testonly = true
sources = modules_unittests_resources
outputs = [
"{{bundle_resources_dir}}/{{source_file_part}}",
]
}
}
rtc_source_set("audio_network_adaptor_unittests") {
# Put sources for unittests of audio network adaptor in a separate
# rtc_source_set to solve name collision on bitrate_controller_unittest.cc.
testonly = true
sources = [
"audio_coding/audio_network_adaptor/audio_network_adaptor_impl_unittest.cc",
"audio_coding/audio_network_adaptor/bitrate_controller_unittest.cc",
"audio_coding/audio_network_adaptor/channel_controller_unittest.cc",
"audio_coding/audio_network_adaptor/controller_manager_unittest.cc",
"audio_coding/audio_network_adaptor/dtx_controller_unittest.cc",
"audio_coding/audio_network_adaptor/fec_controller_unittest.cc",
"audio_coding/audio_network_adaptor/frame_length_controller_unittest.cc",
"audio_coding/audio_network_adaptor/mock/mock_controller.h",
"audio_coding/audio_network_adaptor/mock/mock_controller_manager.h",
]
deps = [
"audio_coding:audio_network_adaptor",
"//testing/gmock",
"//testing/gtest",
]
if (rtc_enable_protobuf) {
deps += [ "audio_coding:ana_config_proto" ]
defines = [ "WEBRTC_AUDIO_NETWORK_ADAPTOR_DEBUG_DUMP" ]
}
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
}
rtc_test("modules_unittests") {
testonly = true
defines = audio_coding_defines
deps = []
sources = [
"audio_coding/acm2/acm_receiver_unittest.cc",
"audio_coding/acm2/audio_coding_module_unittest.cc",
"audio_coding/acm2/call_statistics_unittest.cc",
"audio_coding/acm2/codec_manager_unittest.cc",
"audio_coding/acm2/rent_a_codec_unittest.cc",
"audio_coding/codecs/audio_decoder_factory_unittest.cc",
"audio_coding/codecs/cng/audio_encoder_cng_unittest.cc",
"audio_coding/codecs/cng/cng_unittest.cc",
"audio_coding/codecs/ilbc/ilbc_unittest.cc",
"audio_coding/codecs/isac/fix/source/filterbanks_unittest.cc",
"audio_coding/codecs/isac/fix/source/filters_unittest.cc",
"audio_coding/codecs/isac/fix/source/lpc_masking_model_unittest.cc",
"audio_coding/codecs/isac/fix/source/transform_unittest.cc",
"audio_coding/codecs/isac/main/source/audio_encoder_isac_unittest.cc",
"audio_coding/codecs/isac/main/source/isac_unittest.cc",
"audio_coding/codecs/isac/unittest.cc",
"audio_coding/codecs/legacy_encoded_audio_frame_unittest.cc",
"audio_coding/codecs/mock/mock_audio_encoder.cc",
"audio_coding/codecs/opus/audio_encoder_opus_unittest.cc",
"audio_coding/codecs/opus/opus_unittest.cc",
"audio_coding/codecs/red/audio_encoder_copy_red_unittest.cc",
"audio_coding/neteq/audio_classifier_unittest.cc",
"audio_coding/neteq/audio_multi_vector_unittest.cc",
"audio_coding/neteq/audio_vector_unittest.cc",
"audio_coding/neteq/background_noise_unittest.cc",
"audio_coding/neteq/buffer_level_filter_unittest.cc",
"audio_coding/neteq/comfort_noise_unittest.cc",
"audio_coding/neteq/decision_logic_unittest.cc",
"audio_coding/neteq/decoder_database_unittest.cc",
"audio_coding/neteq/delay_manager_unittest.cc",
"audio_coding/neteq/delay_peak_detector_unittest.cc",
"audio_coding/neteq/dsp_helper_unittest.cc",
"audio_coding/neteq/dtmf_buffer_unittest.cc",
"audio_coding/neteq/dtmf_tone_generator_unittest.cc",
"audio_coding/neteq/expand_unittest.cc",
"audio_coding/neteq/merge_unittest.cc",
"audio_coding/neteq/mock/mock_audio_decoder.h",
"audio_coding/neteq/mock/mock_buffer_level_filter.h",
"audio_coding/neteq/mock/mock_decoder_database.h",
"audio_coding/neteq/mock/mock_delay_manager.h",
"audio_coding/neteq/mock/mock_delay_peak_detector.h",
"audio_coding/neteq/mock/mock_dtmf_buffer.h",
"audio_coding/neteq/mock/mock_dtmf_tone_generator.h",
"audio_coding/neteq/mock/mock_expand.h",
"audio_coding/neteq/mock/mock_external_decoder_pcm16b.h",
"audio_coding/neteq/mock/mock_packet_buffer.h",
"audio_coding/neteq/mock/mock_red_payload_splitter.h",
"audio_coding/neteq/nack_tracker_unittest.cc",
"audio_coding/neteq/neteq_external_decoder_unittest.cc",
"audio_coding/neteq/neteq_impl_unittest.cc",
"audio_coding/neteq/neteq_network_stats_unittest.cc",
"audio_coding/neteq/neteq_stereo_unittest.cc",
"audio_coding/neteq/neteq_unittest.cc",
"audio_coding/neteq/normal_unittest.cc",
"audio_coding/neteq/packet_buffer_unittest.cc",
"audio_coding/neteq/post_decode_vad_unittest.cc",
"audio_coding/neteq/random_vector_unittest.cc",
"audio_coding/neteq/red_payload_splitter_unittest.cc",
"audio_coding/neteq/sync_buffer_unittest.cc",
"audio_coding/neteq/tick_timer_unittest.cc",
"audio_coding/neteq/time_stretch_unittest.cc",
"audio_coding/neteq/timestamp_scaler_unittest.cc",
"audio_coding/neteq/tools/input_audio_file_unittest.cc",
"audio_coding/neteq/tools/packet_unittest.cc",
"audio_conference_mixer/test/audio_conference_mixer_unittest.cc",
"audio_device/fine_audio_buffer_unittest.cc",
"audio_mixer/audio_frame_manipulator_unittest.cc",
"audio_mixer/audio_mixer_impl_unittest.cc",
"audio_processing/aec/echo_cancellation_unittest.cc",
"audio_processing/aec/system_delay_unittest.cc",
"audio_processing/agc/agc_manager_direct_unittest.cc",
"audio_processing/agc/loudness_histogram_unittest.cc",
"audio_processing/agc/mock_agc.h",
"audio_processing/audio_buffer_unittest.cc",
"audio_processing/beamformer/array_util_unittest.cc",
"audio_processing/beamformer/complex_matrix_unittest.cc",
"audio_processing/beamformer/covariance_matrix_generator_unittest.cc",
"audio_processing/beamformer/matrix_unittest.cc",
"audio_processing/beamformer/mock_nonlinear_beamformer.h",
"audio_processing/beamformer/nonlinear_beamformer_unittest.cc",
"audio_processing/config_unittest.cc",
"audio_processing/echo_cancellation_impl_unittest.cc",
"audio_processing/splitting_filter_unittest.cc",
"audio_processing/transient/dyadic_decimator_unittest.cc",
"audio_processing/transient/file_utils.cc",
"audio_processing/transient/file_utils.h",
"audio_processing/transient/file_utils_unittest.cc",
"audio_processing/transient/moving_moments_unittest.cc",
"audio_processing/transient/transient_detector_unittest.cc",
"audio_processing/transient/transient_suppressor_unittest.cc",
"audio_processing/transient/wpd_node_unittest.cc",
"audio_processing/transient/wpd_tree_unittest.cc",
"audio_processing/utility/block_mean_calculator_unittest.cc",
"audio_processing/utility/delay_estimator_unittest.cc",
"audio_processing/vad/gmm_unittest.cc",
"audio_processing/vad/pitch_based_vad_unittest.cc",
"audio_processing/vad/pitch_internal_unittest.cc",
"audio_processing/vad/pole_zero_filter_unittest.cc",
"audio_processing/vad/standalone_vad_unittest.cc",
"audio_processing/vad/vad_audio_proc_unittest.cc",
"audio_processing/vad/vad_circular_buffer_unittest.cc",
"audio_processing/vad/voice_activity_detector_unittest.cc",
"bitrate_controller/bitrate_controller_unittest.cc",
"bitrate_controller/send_side_bandwidth_estimation_unittest.cc",
"congestion_controller/congestion_controller_unittest.cc",
"congestion_controller/delay_based_bwe_unittest.cc",
"congestion_controller/delay_based_bwe_unittest_helper.cc",
"congestion_controller/delay_based_bwe_unittest_helper.h",
"congestion_controller/probe_bitrate_estimator_unittest.cc",
"congestion_controller/probe_controller_unittest.cc",
"congestion_controller/probing_interval_estimator_unittest.cc",
"congestion_controller/transport_feedback_adapter_unittest.cc",
"congestion_controller/trendline_estimator_unittest.cc",
"media_file/media_file_unittest.cc",
"module_common_types_unittest.cc",
"pacing/alr_detector_unittest.cc",
"pacing/bitrate_prober_unittest.cc",
"pacing/paced_sender_unittest.cc",
"pacing/packet_router_unittest.cc",
"remote_bitrate_estimator/aimd_rate_control_unittest.cc",
"remote_bitrate_estimator/include/mock/mock_remote_bitrate_estimator.h",
"remote_bitrate_estimator/include/mock/mock_remote_bitrate_observer.h",
"remote_bitrate_estimator/inter_arrival_unittest.cc",
"remote_bitrate_estimator/overuse_detector_unittest.cc",
"remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc",
"remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc",
"remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.cc",
"remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h",
"remote_bitrate_estimator/remote_estimator_proxy_unittest.cc",
"remote_bitrate_estimator/send_time_history_unittest.cc",
"remote_bitrate_estimator/test/bwe_test_framework_unittest.cc",
"remote_bitrate_estimator/test/bwe_unittest.cc",
"remote_bitrate_estimator/test/estimators/nada_unittest.cc",
"remote_bitrate_estimator/test/metric_recorder_unittest.cc",
"rtp_rtcp/source/byte_io_unittest.cc",
"rtp_rtcp/source/fec_test_helper.cc",
"rtp_rtcp/source/fec_test_helper.h",
"rtp_rtcp/source/flexfec_header_reader_writer_unittest.cc",
"rtp_rtcp/source/flexfec_receiver_unittest.cc",
"rtp_rtcp/source/flexfec_sender_unittest.cc",
"rtp_rtcp/source/nack_rtx_unittest.cc",
"rtp_rtcp/source/packet_loss_stats_unittest.cc",
"rtp_rtcp/source/playout_delay_oracle_unittest.cc",
"rtp_rtcp/source/receive_statistics_unittest.cc",
"rtp_rtcp/source/remote_ntp_time_estimator_unittest.cc",
"rtp_rtcp/source/rtcp_packet/app_unittest.cc",
"rtp_rtcp/source/rtcp_packet/bye_unittest.cc",
"rtp_rtcp/source/rtcp_packet/common_header_unittest.cc",
"rtp_rtcp/source/rtcp_packet/compound_packet_unittest.cc",
"rtp_rtcp/source/rtcp_packet/dlrr_unittest.cc",
"rtp_rtcp/source/rtcp_packet/extended_jitter_report_unittest.cc",
"rtp_rtcp/source/rtcp_packet/extended_reports_unittest.cc",
"rtp_rtcp/source/rtcp_packet/fir_unittest.cc",
"rtp_rtcp/source/rtcp_packet/nack_unittest.cc",
"rtp_rtcp/source/rtcp_packet/pli_unittest.cc",
"rtp_rtcp/source/rtcp_packet/rapid_resync_request_unittest.cc",
"rtp_rtcp/source/rtcp_packet/receiver_report_unittest.cc",
"rtp_rtcp/source/rtcp_packet/remb_unittest.cc",
"rtp_rtcp/source/rtcp_packet/report_block_unittest.cc",
"rtp_rtcp/source/rtcp_packet/rpsi_unittest.cc",
"rtp_rtcp/source/rtcp_packet/rrtr_unittest.cc",
"rtp_rtcp/source/rtcp_packet/sdes_unittest.cc",
"rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc",
"rtp_rtcp/source/rtcp_packet/sli_unittest.cc",
"rtp_rtcp/source/rtcp_packet/target_bitrate_unittest.cc",
"rtp_rtcp/source/rtcp_packet/tmmbn_unittest.cc",
"rtp_rtcp/source/rtcp_packet/tmmbr_unittest.cc",
"rtp_rtcp/source/rtcp_packet/transport_feedback_unittest.cc",
"rtp_rtcp/source/rtcp_packet/voip_metric_unittest.cc",
"rtp_rtcp/source/rtcp_packet_unittest.cc",
"rtp_rtcp/source/rtcp_receiver_unittest.cc",
"rtp_rtcp/source/rtcp_sender_unittest.cc",
"rtp_rtcp/source/rtcp_utility_unittest.cc",
"rtp_rtcp/source/rtp_fec_unittest.cc",
"rtp_rtcp/source/rtp_format_h264_unittest.cc",
"rtp_rtcp/source/rtp_format_vp8_test_helper.cc",
"rtp_rtcp/source/rtp_format_vp8_test_helper.h",
"rtp_rtcp/source/rtp_format_vp8_unittest.cc",
"rtp_rtcp/source/rtp_format_vp9_unittest.cc",
"rtp_rtcp/source/rtp_header_extension_unittest.cc",
"rtp_rtcp/source/rtp_packet_history_unittest.cc",
"rtp_rtcp/source/rtp_packet_unittest.cc",
"rtp_rtcp/source/rtp_payload_registry_unittest.cc",
"rtp_rtcp/source/rtp_rtcp_impl_unittest.cc",
"rtp_rtcp/source/rtp_sender_unittest.cc",
"rtp_rtcp/source/rtp_utility_unittest.cc",
"rtp_rtcp/source/time_util_unittest.cc",
"rtp_rtcp/source/ulpfec_generator_unittest.cc",
"rtp_rtcp/source/ulpfec_header_reader_writer_unittest.cc",
"rtp_rtcp/source/ulpfec_receiver_unittest.cc",
"rtp_rtcp/source/vp8_partition_aggregator_unittest.cc",
"rtp_rtcp/test/testAPI/test_api.cc",
"rtp_rtcp/test/testAPI/test_api.h",
"rtp_rtcp/test/testAPI/test_api_audio.cc",
"rtp_rtcp/test/testAPI/test_api_rtcp.cc",
"rtp_rtcp/test/testAPI/test_api_video.cc",
"utility/source/audio_frame_operations_unittest.cc",
"utility/source/file_player_unittests.cc",
"utility/source/process_thread_impl_unittest.cc",
"video_coding/codecs/test/packet_manipulator_unittest.cc",
"video_coding/codecs/test/stats_unittest.cc",
"video_coding/codecs/test/videoprocessor_unittest.cc",
"video_coding/codecs/vp8/default_temporal_layers_unittest.cc",
"video_coding/codecs/vp8/reference_picture_selection_unittest.cc",
"video_coding/codecs/vp8/screenshare_layers_unittest.cc",
"video_coding/codecs/vp8/simulcast_encoder_adapter_unittest.cc",
"video_coding/codecs/vp8/simulcast_unittest.cc",
"video_coding/codecs/vp8/simulcast_unittest.h",
"video_coding/decoding_state_unittest.cc",
"video_coding/frame_buffer2_unittest.cc",
"video_coding/h264_sps_pps_tracker_unittest.cc",
"video_coding/histogram_unittest.cc",
"video_coding/include/mock/mock_vcm_callbacks.h",
"video_coding/jitter_buffer_unittest.cc",
"video_coding/jitter_estimator_tests.cc",
"video_coding/nack_module_unittest.cc",
"video_coding/percentile_filter_unittest.cc",
"video_coding/protection_bitrate_calculator_unittest.cc",
"video_coding/receiver_unittest.cc",
"video_coding/rtp_frame_reference_finder_unittest.cc",
"video_coding/sequence_number_util_unittest.cc",
"video_coding/session_info_unittest.cc",
"video_coding/test/stream_generator.cc",
"video_coding/test/stream_generator.h",
"video_coding/timing_unittest.cc",
Reland #2 of Issue 2434073003: Extract bitrate allocation ... This is yet another reland of https://codereview.webrtc.org/2434073003/ including two fixes: 1. SimulcastRateAllocator did not handle the screenshare settings properly for numSimulcastStreams = 1. Additional test case was added for that. 2. In VideoSender, when rate allocation is updated after setting a new VideoCodec config, only update the state of the EncoderParameters, but don't actually run SetRateAllocation on the encoder itself. This caused some problems upstreams. Please review only the changes after patch set 1. Original description: Extract bitrate allocation of spatial/temporal layers out of codec impl. This CL makes a number of intervowen changes: * Add BitrateAllocation struct, that contains a codec independent view of how the target bitrate is distributed over spatial and temporal layers. * Adds the BitrateAllocator interface, which takes a bitrate and frame rate and produces a BitrateAllocation. * A default (non layered) implementation is added, and SimulcastRateAllocator is extended to fully handle VP8 allocation. This includes capturing TemporalLayer instances created by the encoder. * ViEEncoder now owns both the bitrate allocator and the temporal layer factories for VP8. This allows allocation to happen fully outside of the encoder implementation. This refactoring will make it possible for ViEEncoder to signal the full picture of target bitrates to the RTCP module. BUG=webrtc:6301 R=stefan@webrtc.org Review URL: https://codereview.webrtc.org/2510583002 . Cr-Commit-Position: refs/heads/master@{#15105}
2016-11-16 16:41:30 +01:00
"video_coding/utility/default_video_bitrate_allocator_unittest.cc",
"video_coding/utility/frame_dropper_unittest.cc",
"video_coding/utility/ivf_file_writer_unittest.cc",
"video_coding/utility/moving_average_unittest.cc",
"video_coding/utility/quality_scaler_unittest.cc",
"video_coding/utility/simulcast_rate_allocator_unittest.cc",
"video_coding/video_coding_robustness_unittest.cc",
"video_coding/video_packet_buffer_unittest.cc",
"video_coding/video_receiver_unittest.cc",
"video_coding/video_sender_unittest.cc",
"video_processing/test/denoiser_test.cc",
"video_processing/test/video_processing_unittest.cc",
"video_processing/test/video_processing_unittest.h",
]
if (apm_debug_dump) {
defines += [ "WEBRTC_APM_DEBUG_DUMP=1" ]
} else {
defines += [ "WEBRTC_APM_DEBUG_DUMP=0" ]
}
if (rtc_enable_intelligibility_enhancer) {
defines += [ "WEBRTC_INTELLIGIBILITY_ENHANCER=1" ]
sources += [
"audio_processing/intelligibility/intelligibility_enhancer_unittest.cc",
"audio_processing/intelligibility/intelligibility_utils_unittest.cc",
]
} else {
defines += [ "WEBRTC_INTELLIGIBILITY_ENHANCER=0" ]
}
if (rtc_libvpx_build_vp9) {
sources +=
[ "video_coding/codecs/vp9/vp9_screenshare_layers_unittest.cc" ]
}
if (rtc_desktop_capture_supported || is_android) {
deps += [ "desktop_capture" ]
sources += [
"desktop_capture/desktop_region_unittest.cc",
"desktop_capture/differ_block_unittest.cc",
]
}
if (rtc_desktop_capture_supported) {
deps += [ "desktop_capture:desktop_capture_mock" ]
sources += [
"desktop_capture/desktop_and_cursor_composer_unittest.cc",
"desktop_capture/desktop_capturer_differ_wrapper_unittest.cc",
"desktop_capture/desktop_frame_rotation_unittest.cc",
"desktop_capture/mouse_cursor_monitor_unittest.cc",
"desktop_capture/rgba_color_unittest.cc",
"desktop_capture/screen_capturer_helper_unittest.cc",
"desktop_capture/screen_capturer_mac_unittest.cc",
"desktop_capture/screen_capturer_mock_objects.h",
"desktop_capture/screen_capturer_unittest.cc",
"desktop_capture/test_utils.cc",
"desktop_capture/test_utils.h",
"desktop_capture/test_utils_unittest.cc",
"desktop_capture/win/cursor_unittest.cc",
"desktop_capture/win/cursor_unittest_resources.h",
"desktop_capture/win/cursor_unittest_resources.rc",
"desktop_capture/window_capturer_unittest.cc",
]
}
if (rtc_prefer_fixed_point) {
defines += [ "WEBRTC_AUDIOPROC_FIXED_PROFILE" ]
} else {
defines += [ "WEBRTC_AUDIOPROC_FLOAT_PROFILE" ]
}
if (rtc_enable_protobuf) {
defines += [
"WEBRTC_AUDIOPROC_DEBUG_DUMP",
"WEBRTC_NETEQ_UNITTEST_BITEXACT",
]
deps += [
"audio_coding:neteq_unittest_proto",
"audio_processing:audioproc_protobuf_utils",
"audio_processing:audioproc_unittest_proto",
]
sources += [
"audio_processing/audio_processing_impl_locking_unittest.cc",
"audio_processing/audio_processing_impl_unittest.cc",
"audio_processing/audio_processing_unittest.cc",
"audio_processing/echo_cancellation_bit_exact_unittest.cc",
"audio_processing/echo_control_mobile_unittest.cc",
"audio_processing/echo_detector/circular_buffer_unittest.cc",
"audio_processing/echo_detector/mean_variance_estimator_unittest.cc",
"audio_processing/echo_detector/normalized_covariance_estimator_unittest.cc",
"audio_processing/gain_control_unittest.cc",
"audio_processing/level_controller/level_controller_unittest.cc",
"audio_processing/level_estimator_unittest.cc",
"audio_processing/low_cut_filter_unittest.cc",
"audio_processing/noise_suppression_unittest.cc",
"audio_processing/residual_echo_detector_unittest.cc",
"audio_processing/rms_level_unittest.cc",
"audio_processing/test/bitexactness_tools.cc",
"audio_processing/test/bitexactness_tools.h",
"audio_processing/test/debug_dump_replayer.cc",
"audio_processing/test/debug_dump_replayer.h",
"audio_processing/test/debug_dump_test.cc",
"audio_processing/test/test_utils.h",
"audio_processing/voice_detection_unittest.cc",
]
}
if (rtc_build_libvpx) {
deps += [ rtc_libvpx_dir ]
}
# TODO(jschuh): bugs.webrtc.org/1348: fix this warning.
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
if (is_win) {
cflags = [
# TODO(kjellander): bugs.webrtc.org/261: Fix this warning.
"/wd4373", # virtual function override.
]
}
deps += [
":audio_network_adaptor_unittests",
"..:webrtc_common",
"../api:transport_api",
"../base:rtc_base", # TODO(kjellander): Cleanup in bugs.webrtc.org/3806.
"../common_audio",
"../common_video",
GN: New conventions, default target and refactorings Introduce a convention on categorizing GN targets: 1. Production code 2. Tests 3. Examples 4. Tools The first two have targets spread out all over the tree, while the latter are isolated to examples/ and tools/ directories. Another new convention: Each directory's BUILD.gn file shall contain a target named similar to the directory name. This target shall contain the 'most common' production code, i.e. so that most consumers of the directory can depend on only the directory (which implicitly means that target in GN). //webrtc:webrtc_tests is changed to depend on all WebRTC tests. From now on, it's necessary to add new test targets to this dependency tree in order to get them compiled. Two new group targets are created: //webrtc/modules/audio_coding:audio_coding_tests //webrtc/modules/audio_processing:audio_processing_tests to reduce the long list of tests in //webrtc:webrtc_tests. Visibility on //webrtc:webrtc and //webrtc:webrtc_tests is restricted to the root target, to avoid circular dependencies due to the monolithic property of these targets (a problem we've had in the past). The 'root' target at the top level is renamed to 'default', which means GN will build this target instead of _all_ generated targets (see https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/faq.md#Can-I-control-what-targets-are-built-by-default). This target now depends on everything we want to build, meaning all targets now explicitly needs to be wired up from the root target in order to get build. Having this, the number of compiled objects on Android is decreased from 8855 to 6276. It also gives us better control over our build. BUG=webrtc:6440 TESTED=git cl try --clobber NOTRY=True Review-Url: https://codereview.webrtc.org/2441383002 Cr-Commit-Position: refs/heads/master@{#14821}
2016-10-28 05:44:03 -07:00
"../system_wrappers",
"../test:rtp_test_utils",
"../test:test_common",
"../test:test_support",
"../test:test_support_main",
"../test:video_test_common",
"audio_coding",
"audio_coding:acm_receive_test",
"audio_coding:acm_send_test",
"audio_coding:builtin_audio_decoder_factory",
"audio_coding:cng",
"audio_coding:isac_fix",
"audio_coding:neteq",
"audio_coding:neteq_test_support",
"audio_coding:neteq_unittest_tools",
"audio_coding:pcm16b",
"audio_coding:red",
"audio_coding:webrtc_opus",
"audio_conference_mixer",
"audio_device",
GN: New conventions, default target and refactorings Introduce a convention on categorizing GN targets: 1. Production code 2. Tests 3. Examples 4. Tools The first two have targets spread out all over the tree, while the latter are isolated to examples/ and tools/ directories. Another new convention: Each directory's BUILD.gn file shall contain a target named similar to the directory name. This target shall contain the 'most common' production code, i.e. so that most consumers of the directory can depend on only the directory (which implicitly means that target in GN). //webrtc:webrtc_tests is changed to depend on all WebRTC tests. From now on, it's necessary to add new test targets to this dependency tree in order to get them compiled. Two new group targets are created: //webrtc/modules/audio_coding:audio_coding_tests //webrtc/modules/audio_processing:audio_processing_tests to reduce the long list of tests in //webrtc:webrtc_tests. Visibility on //webrtc:webrtc and //webrtc:webrtc_tests is restricted to the root target, to avoid circular dependencies due to the monolithic property of these targets (a problem we've had in the past). The 'root' target at the top level is renamed to 'default', which means GN will build this target instead of _all_ generated targets (see https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/faq.md#Can-I-control-what-targets-are-built-by-default). This target now depends on everything we want to build, meaning all targets now explicitly needs to be wired up from the root target in order to get build. Having this, the number of compiled objects on Android is decreased from 8855 to 6276. It also gives us better control over our build. BUG=webrtc:6440 TESTED=git cl try --clobber NOTRY=True Review-Url: https://codereview.webrtc.org/2441383002 Cr-Commit-Position: refs/heads/master@{#14821}
2016-10-28 05:44:03 -07:00
"audio_mixer",
"audio_processing",
"audio_processing:audioproc_test_utils",
"bitrate_controller",
"media_file",
"pacing",
"remote_bitrate_estimator",
"remote_bitrate_estimator:bwe_simulator_lib",
"rtp_rtcp",
"utility",
"video_capture",
"video_coding",
"video_coding:video_codecs_test_framework",
"video_coding:webrtc_vp8",
"video_coding:webrtc_vp9",
"video_processing",
"//testing/gmock",
"//testing/gtest",
"//third_party/gflags",
]
data = modules_unittests_resources
if (is_android) {
deps += [
"//testing/android/native_test:native_test_support",
"//webrtc/api:libjingle_peerconnection_java",
]
# Need to disable error due to the line in
# base/android/jni_android.h triggering it:
# const BASE_EXPORT jobject GetApplicationContext()
# error: type qualifiers ignored on function return type
cflags = [ "-Wno-ignored-qualifiers" ]
sources += [
"audio_device/android/audio_device_unittest.cc",
"audio_device/android/audio_manager_unittest.cc",
"audio_device/android/ensure_initialized.cc",
"audio_device/android/ensure_initialized.h",
]
shard_timeout = 900
}
if (is_ios) {
info_plist = "//webrtc/test/ios/Info.plist"
deps += [ ":modules_unittests_bundle_data" ]
configs += [
"..:common_objc",
"//build/config/compiler:enable_arc",
]
Reland of Add a webrtc{en,de}coderfactory implementation for VideoToolbox (patchset #1 id:1 of https://codereview.webrtc.org/2483273002/ ) Reason for revert: Fix gyp build Original issue's description: > Revert of Add a webrtc{en,de}coderfactory implementation for VideoToolbox (patchset #2 id:20001 of https://codereview.webrtc.org/2463313002/ ) > > Reason for revert: > Broke dependent project because the .gn changes weren't accompanied by corresponding .gyp changes. > > Original issue's description: > > Add a webrtc{en,de}coderfactory implementation for VideoToolbox > > > > This CL removes the coupling of the VideoToolbox h264 implementation > > to the generic h264 code. The files have been moved into sdb/obj/Framework > > and all dependency on them has been removed from the rest of WebRTC. > > We now add it as an external encoder via a factory supplied to the > > CreatePeerConnectionFactory call. This also brings the iOS implementation > > closer to what we do on Android for MediaCodec. > > > > BUG=webrtc:6619 > > > > Committed: https://crrev.com/6a5047dad31f14f53dd9f8bc1ecde19e1dede2e4 > > Cr-Commit-Position: refs/heads/master@{#14953} > > TBR=magjed@webrtc.org,stefan@webrtc.org,kthelgason@webrtc.org > BUG=webrtc:6619 > > Committed: https://crrev.com/d69ad84420d9c0e1c11450c352f6c92e7c9583f1 > Cr-Commit-Position: refs/heads/master@{#14985} R=magjed@webrtc.org TBR=kwiberg@webrtc.org, magjed@webrtc.org, stefan@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6619 Review URL: https://codereview.webrtc.org/2487723004 . Cr-Commit-Position: refs/heads/master@{#14992}
2016-11-09 10:43:26 +01:00
sources += [ "audio_device/ios/objc/RTCAudioSessionTest.mm" ]
if (target_cpu != "x64") {
sources += [ "audio_device/ios/audio_device_unittest_ios.cc" ]
}
ldflags = [ "-ObjC" ]
}
}
rtc_test("bwe_simulator") {
testonly = true
deps = []
sources = [
"remote_bitrate_estimator/bwe_simulations.cc",
]
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
if (is_win) {
cflags = [
# TODO(kjellander): bugs.webrtc.org/261: Fix this warning.
"/wd4373", # virtual function override.
]
}
deps += [
"..:webrtc_common",
"../base:rtc_base_approved",
"../test:test_common",
"../test:test_support_main",
"remote_bitrate_estimator:bwe_simulator_lib",
"video_capture",
"//testing/gmock",
"//testing/gtest",
"//third_party/gflags",
]
}
}