blob: 492736fb3395c1134a529b459c99c9b2bbfc456d [file] [log] [blame]
# Copyright (c) 2019 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("e2e") {
testonly = true
deps = [
":default_encoded_image_data_injector",
":encoded_image_data_injector_api",
":example_video_quality_analyzer",
":id_generator",
":quality_analyzing_video_decoder",
":quality_analyzing_video_encoder",
":single_process_encoded_image_data_injector",
]
if (rtc_include_tests) {
deps += [
":peerconnection_quality_test",
":test_peer",
":video_quality_analyzer_injection_helper",
]
}
}
if (rtc_include_tests) {
group("e2e_unittests") {
testonly = true
deps = [
":default_encoded_image_data_injector_unittest",
":default_video_quality_analyzer_test",
":peer_connection_e2e_smoke_test",
":single_process_encoded_image_data_injector_unittest",
]
}
}
rtc_library("peer_connection_quality_test_params") {
visibility = [ "*" ]
testonly = true
sources = [ "peer_connection_quality_test_params.h" ]
deps = [
"../../../api:callfactory_api",
"../../../api:fec_controller_api",
"../../../api:libjingle_peerconnection_api",
"../../../api:packet_socket_factory",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api/rtc_event_log",
"../../../api/task_queue",
"../../../api/transport:network_control",
"../../../api/transport/media:media_transport_interface",
"../../../api/video_codecs:video_codecs_api",
"../../../rtc_base",
]
}
rtc_library("encoded_image_data_injector_api") {
visibility = [ "*" ]
testonly = true
sources = [ "analyzer/video/encoded_image_data_injector.h" ]
deps = [ "../../../api/video:encoded_image" ]
}
rtc_library("default_encoded_image_data_injector") {
visibility = [ "*" ]
testonly = true
sources = [
"analyzer/video/default_encoded_image_data_injector.cc",
"analyzer/video/default_encoded_image_data_injector.h",
]
deps = [
":encoded_image_data_injector_api",
"../../../api/video:encoded_image",
"../../../rtc_base:checks",
"../../../rtc_base:criticalsection",
"//third_party/abseil-cpp/absl/memory",
]
}
rtc_library("single_process_encoded_image_data_injector") {
visibility = [ "*" ]
testonly = true
sources = [
"analyzer/video/single_process_encoded_image_data_injector.cc",
"analyzer/video/single_process_encoded_image_data_injector.h",
]
deps = [
":encoded_image_data_injector_api",
"../../../api/video:encoded_image",
"../../../rtc_base:checks",
"../../../rtc_base:criticalsection",
"//third_party/abseil-cpp/absl/memory",
]
}
rtc_library("id_generator") {
visibility = [ "*" ]
testonly = true
sources = [
"analyzer/video/id_generator.cc",
"analyzer/video/id_generator.h",
]
deps = []
}
rtc_library("simulcast_dummy_buffer_helper") {
visibility = [ "*" ]
testonly = true
sources = [
"analyzer/video/simulcast_dummy_buffer_helper.cc",
"analyzer/video/simulcast_dummy_buffer_helper.h",
]
deps = [
"../../../api/video:video_frame",
"../../../api/video:video_frame_i420",
]
}
rtc_library("quality_analyzing_video_decoder") {
visibility = [ "*" ]
testonly = true
sources = [
"analyzer/video/quality_analyzing_video_decoder.cc",
"analyzer/video/quality_analyzing_video_decoder.h",
]
deps = [
":encoded_image_data_injector_api",
":id_generator",
":simulcast_dummy_buffer_helper",
"../../../api:video_quality_analyzer_api",
"../../../api/video:encoded_image",
"../../../api/video:video_frame",
"../../../api/video:video_frame_i420",
"../../../api/video:video_rtp_headers",
"../../../api/video_codecs:video_codecs_api",
"../../../modules/video_coding:video_codec_interface",
"../../../rtc_base:criticalsection",
"../../../rtc_base:logging",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("quality_analyzing_video_encoder") {
visibility = [ "*" ]
testonly = true
sources = [
"analyzer/video/quality_analyzing_video_encoder.cc",
"analyzer/video/quality_analyzing_video_encoder.h",
]
deps = [
":encoded_image_data_injector_api",
":id_generator",
"../../../api:video_quality_analyzer_api",
"../../../api/video:encoded_image",
"../../../api/video:video_frame",
"../../../api/video:video_rtp_headers",
"../../../api/video_codecs:video_codecs_api",
"../../../modules/video_coding:video_codec_interface",
"../../../rtc_base:criticalsection",
"../../../rtc_base:logging",
]
}
if (rtc_include_tests) {
rtc_library("video_quality_analyzer_injection_helper") {
visibility = [ "*" ]
testonly = true
sources = [
"analyzer/video/video_quality_analyzer_injection_helper.cc",
"analyzer/video/video_quality_analyzer_injection_helper.h",
]
deps = [
":encoded_image_data_injector_api",
":id_generator",
":quality_analyzing_video_decoder",
":quality_analyzing_video_encoder",
":simulcast_dummy_buffer_helper",
"../..:test_renderer",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api:stats_observer_interface",
"../../../api:video_quality_analyzer_api",
"../../../api/video:video_frame",
"../../../api/video:video_rtp_headers",
"../../../api/video_codecs:video_codecs_api",
"../../../test:video_test_common",
"../../../test:video_test_support",
"//third_party/abseil-cpp/absl/memory",
]
}
rtc_library("echo_emulation") {
visibility = [ "*" ]
testonly = true
sources = [
"echo/echo_emulation.cc",
"echo/echo_emulation.h",
]
deps = [
"../../../api:peer_connection_quality_test_fixture_api",
"../../../modules/audio_device:audio_device_impl",
"../../../rtc_base:rtc_base_approved",
]
}
rtc_library("test_peer") {
visibility = [ "*" ]
testonly = true
sources = [
"test_peer.cc",
"test_peer.h",
]
deps = [
":echo_emulation",
":peer_connection_quality_test_params",
":video_quality_analyzer_injection_helper",
"../../../api:frame_generator_api",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api:scoped_refptr",
"../../../api/rtc_event_log:rtc_event_log_factory",
"../../../api/task_queue",
"../../../api/task_queue:default_task_queue_factory",
"../../../api/video_codecs:builtin_video_decoder_factory",
"../../../api/video_codecs:builtin_video_encoder_factory",
"../../../media:rtc_audio_video",
"../../../media:rtc_media_base",
"../../../media:rtc_media_engine_defaults",
"../../../modules/audio_device:audio_device_api",
"../../../modules/audio_device:audio_device_impl",
"../../../modules/audio_processing:api",
"../../../modules/audio_processing/aec_dump:aec_dump",
"../../../p2p:rtc_p2p",
"../../../pc:pc_test_utils",
"../../../pc:peerconnection_wrapper",
"../../../rtc_base",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base:rtc_task_queue",
"../../../test:copy_to_file_audio_capturer",
"../../../test:video_test_common",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("peerconnection_quality_test") {
visibility = [ "*" ]
testonly = true
sources = [
"peer_connection_quality_test.cc",
"peer_connection_quality_test.h",
]
deps = [
":analyzer_helper",
":default_audio_quality_analyzer",
":default_video_quality_analyzer",
":peer_connection_quality_test_params",
":sdp_changer",
":single_process_encoded_image_data_injector",
":stats_poller",
":test_peer",
":video_quality_analyzer_injection_helper",
":video_quality_metrics_reporter",
"../..:field_trial",
"../..:platform_video_capturer",
"../..:video_test_common",
"../../../api:audio_quality_analyzer_api",
"../../../api:create_frame_generator",
"../../../api:frame_generator_api",
"../../../api:libjingle_peerconnection_api",
"../../../api:media_stream_interface",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api:rtc_event_log_output_file",
"../../../api:scoped_refptr",
"../../../api:video_quality_analyzer_api",
"../../../api/rtc_event_log",
"../../../api/task_queue",
"../../../api/task_queue:default_task_queue_factory",
"../../../api/units:time_delta",
"../../../api/units:timestamp",
"../../../api/video:video_frame",
"../../../pc:pc_test_utils",
"../../../pc:peerconnection",
"../../../rtc_base",
"../../../rtc_base:gunit_helpers",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base:rtc_task_queue",
"../../../rtc_base:safe_conversions",
"../../../rtc_base:task_queue_for_test",
"../../../rtc_base/task_utils:repeating_task",
"../../../system_wrappers",
"../../../system_wrappers:field_trial",
"../../../test:fileutils",
"../../../test:video_test_support",
]
}
rtc_library("single_process_encoded_image_data_injector_unittest") {
testonly = true
sources = [
"analyzer/video/single_process_encoded_image_data_injector_unittest.cc",
]
deps = [
":single_process_encoded_image_data_injector",
"../../../api/video:encoded_image",
"../../../rtc_base:rtc_base_approved",
"../../../test:test_support",
]
}
rtc_library("default_encoded_image_data_injector_unittest") {
testonly = true
sources =
[ "analyzer/video/default_encoded_image_data_injector_unittest.cc" ]
deps = [
":default_encoded_image_data_injector",
"../../../api/video:encoded_image",
"../../../rtc_base:rtc_base_approved",
"../../../test:test_support",
]
}
peer_connection_e2e_smoke_test_resources = [
"../../../resources/pc_quality_smoke_test_alice_source.wav",
"../../../resources/pc_quality_smoke_test_bob_source.wav",
]
if (is_ios) {
bundle_data("peer_connection_e2e_smoke_test_resources_bundle_data") {
testonly = true
sources = peer_connection_e2e_smoke_test_resources
outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
}
}
rtc_library("peer_connection_e2e_smoke_test") {
testonly = true
sources = [ "peer_connection_e2e_smoke_test.cc" ]
deps = [
":default_audio_quality_analyzer",
":default_video_quality_analyzer",
":network_quality_metrics_reporter",
"../../../api:callfactory_api",
"../../../api:create_network_emulation_manager",
"../../../api:create_peerconnection_quality_test_fixture",
"../../../api:libjingle_peerconnection_api",
"../../../api:network_emulation_manager_api",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api:scoped_refptr",
"../../../api:simulated_network_api",
"../../../api/audio_codecs:builtin_audio_decoder_factory",
"../../../api/audio_codecs:builtin_audio_encoder_factory",
"../../../api/video_codecs:builtin_video_decoder_factory",
"../../../api/video_codecs:builtin_video_encoder_factory",
"../../../call:simulated_network",
"../../../media:rtc_audio_video",
"../../../modules/audio_device:audio_device_impl",
"../../../p2p:rtc_p2p",
"../../../pc:pc_test_utils",
"../../../pc:peerconnection_wrapper",
"../../../rtc_base",
"../../../rtc_base:gunit_helpers",
"../../../rtc_base:logging",
"../../../rtc_base:rtc_event",
"../../../system_wrappers:field_trial",
"../../../test:field_trial",
"../../../test:fileutils",
"../../../test:test_support",
]
data = peer_connection_e2e_smoke_test_resources
if (is_ios) {
deps += [ ":peer_connection_e2e_smoke_test_resources_bundle_data" ]
}
}
rtc_library("stats_poller") {
testonly = true
sources = [
"stats_poller.cc",
"stats_poller.h",
]
deps = [
":test_peer",
"../../../api:libjingle_peerconnection_api",
"../../../api:stats_observer_interface",
"../../../rtc_base:logging",
]
}
rtc_library("default_video_quality_analyzer_test") {
testonly = true
sources = [ "analyzer/video/default_video_quality_analyzer_test.cc" ]
deps = [
":default_video_quality_analyzer",
"../..:test_support",
"../../../api:create_frame_generator",
"../../../api:rtp_packet_info",
"../../../api/video:encoded_image",
"../../../api/video:video_frame",
"../../../api/video:video_frame_i420",
"../../../modules/rtp_rtcp:rtp_rtcp_format",
"../../../system_wrappers",
]
}
}
rtc_library("analyzer_helper") {
visibility = [ "*" ]
sources = [
"analyzer_helper.cc",
"analyzer_helper.h",
]
deps = [
"../../../api:track_id_stream_label_map",
"../../../rtc_base:macromagic",
"../../../rtc_base/synchronization:sequence_checker",
]
}
rtc_library("default_audio_quality_analyzer") {
visibility = [ "*" ]
testonly = true
sources = [
"analyzer/audio/default_audio_quality_analyzer.cc",
"analyzer/audio/default_audio_quality_analyzer.h",
]
deps = [
"../..:perf_test",
"../../../api:audio_quality_analyzer_api",
"../../../api:libjingle_peerconnection_api",
"../../../api:stats_observer_interface",
"../../../api:track_id_stream_label_map",
"../../../rtc_base:criticalsection",
"../../../rtc_base:logging",
"../../../rtc_base:rtc_numerics",
]
}
rtc_library("example_video_quality_analyzer") {
visibility = [ "*" ]
testonly = true
sources = [
"analyzer/video/example_video_quality_analyzer.cc",
"analyzer/video/example_video_quality_analyzer.h",
]
deps = [
"../../../api:video_quality_analyzer_api",
"../../../api/video:encoded_image",
"../../../api/video:video_frame",
"../../../api/video:video_rtp_headers",
"../../../rtc_base:criticalsection",
"../../../rtc_base:logging",
]
}
rtc_library("video_quality_metrics_reporter") {
visibility = [ "*" ]
testonly = true
sources = [
"analyzer/video/video_quality_metrics_reporter.cc",
"analyzer/video/video_quality_metrics_reporter.h",
]
deps = [
"../..:perf_test",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../rtc_base:criticalsection",
"../../../rtc_base:rtc_numerics",
]
}
rtc_library("default_video_quality_analyzer") {
visibility = [ "*" ]
testonly = true
sources = [
"analyzer/video/default_video_quality_analyzer.cc",
"analyzer/video/default_video_quality_analyzer.h",
]
deps = [
"../..:perf_test",
"../../../api:video_quality_analyzer_api",
"../../../api/units:time_delta",
"../../../api/units:timestamp",
"../../../api/video:encoded_image",
"../../../api/video:video_frame",
"../../../api/video:video_frame_i420",
"../../../api/video:video_rtp_headers",
"../../../common_video",
"../../../rtc_base:criticalsection",
"../../../rtc_base:logging",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base:rtc_event",
"../../../rtc_base:rtc_numerics",
"../../../system_wrappers",
]
}
rtc_library("network_quality_metrics_reporter") {
visibility = [ "*" ]
testonly = true
sources = [
"network_quality_metrics_reporter.cc",
"network_quality_metrics_reporter.h",
]
deps = [
"../..:perf_test",
"../../../api:libjingle_peerconnection_api",
"../../../api:network_emulation_manager_api",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../rtc_base:criticalsection",
"../../../rtc_base:rtc_event",
"../../../system_wrappers:field_trial",
]
}
rtc_library("sdp_changer") {
testonly = true
sources = [
"sdp/sdp_changer.cc",
"sdp/sdp_changer.h",
]
deps = [
"../../../api:array_view",
"../../../api:libjingle_peerconnection_api",
"../../../api:peer_connection_quality_test_fixture_api",
"../../../api:rtp_parameters",
"../../../media:rtc_media_base",
"../../../p2p:rtc_p2p",
"../../../pc:peerconnection",
"../../../pc:rtc_pc_base",
"../../../rtc_base:stringutils",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings:strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}