Source code
Revision control
Copy as Markdown
Other Tools
# Copyright (c) 2022 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")
if (!build_with_chromium) {
group("video_analyzer") {
testonly = true
deps = [
":analyzing_video_sinks_helper",
":default_video_quality_analyzer_internal",
":encoded_image_data_injector_api",
":example_video_quality_analyzer",
":multi_reader_queue",
":quality_analyzing_video_decoder",
":quality_analyzing_video_encoder",
":simulcast_dummy_buffer_helper",
":single_process_encoded_image_data_injector",
":video_dumping",
":video_frame_tracking_id_injector",
":video_quality_metrics_reporter",
]
if (rtc_include_tests) {
deps += [
":analyzing_video_sink",
":video_quality_analyzer_injection_helper",
]
}
}
if (rtc_include_tests) {
group("video_analyzer_unittests") {
testonly = true
deps = [
":analyzing_video_sink_test",
":analyzing_video_sinks_helper_test",
":default_video_quality_analyzer_frames_comparator_test",
":default_video_quality_analyzer_metric_names_test",
":default_video_quality_analyzer_stream_state_test",
":default_video_quality_analyzer_test",
":multi_reader_queue_test",
":names_collection_test",
":simulcast_dummy_buffer_helper_test",
":single_process_encoded_image_data_injector_unittest",
":video_dumping_test",
":video_frame_tracking_id_injector_unittest",
]
}
}
}
rtc_library("video_dumping") {
testonly = true
sources = [
"video_dumping.cc",
"video_dumping.h",
]
deps = [
"../../../..:video_frame_writer",
"../../../../../api/test/video:video_frame_writer",
"../../../../../api/video:video_frame",
"../../../../../rtc_base:logging",
"../../../../../system_wrappers",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
rtc_library("encoded_image_data_injector_api") {
testonly = true
sources = [ "encoded_image_data_injector.h" ]
deps = [ "../../../../../api/video:encoded_image" ]
}
rtc_library("single_process_encoded_image_data_injector") {
testonly = true
sources = [
"single_process_encoded_image_data_injector.cc",
"single_process_encoded_image_data_injector.h",
]
deps = [
":encoded_image_data_injector_api",
"../../../../../api/video:encoded_image",
"../../../../../rtc_base:checks",
"../../../../../rtc_base/synchronization:mutex",
"//third_party/abseil-cpp/absl/memory",
]
}
rtc_library("video_frame_tracking_id_injector") {
testonly = true
sources = [
"video_frame_tracking_id_injector.cc",
"video_frame_tracking_id_injector.h",
]
deps = [
":encoded_image_data_injector_api",
"../../../../../api/video:encoded_image",
"../../../../../rtc_base:checks",
"//third_party/abseil-cpp/absl/memory",
]
}
rtc_library("simulcast_dummy_buffer_helper") {
testonly = true
sources = [
"simulcast_dummy_buffer_helper.cc",
"simulcast_dummy_buffer_helper.h",
]
deps = [ "../../../../../api/video:video_frame" ]
}
rtc_library("quality_analyzing_video_decoder") {
testonly = true
sources = [
"quality_analyzing_video_decoder.cc",
"quality_analyzing_video_decoder.h",
]
deps = [
":encoded_image_data_injector_api",
":simulcast_dummy_buffer_helper",
"../../../../../api:video_quality_analyzer_api",
"../../../../../api/environment",
"../../../../../api/video:encoded_image",
"../../../../../api/video:video_frame",
"../../../../../api/video_codecs:video_codecs_api",
"../../../../../modules/video_coding:video_codec_interface",
"../../../../../rtc_base:logging",
"../../../../../rtc_base/synchronization:mutex",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
rtc_library("quality_analyzing_video_encoder") {
testonly = true
sources = [
"quality_analyzing_video_encoder.cc",
"quality_analyzing_video_encoder.h",
]
deps = [
":encoded_image_data_injector_api",
"../../../../../api:video_quality_analyzer_api",
"../../../../../api/environment",
"../../../../../api/test/pclf:media_configuration",
"../../../../../api/video:video_frame",
"../../../../../api/video_codecs:video_codecs_api",
"../../../../../modules/video_coding:video_codec_interface",
"../../../../../modules/video_coding/svc:scalability_mode_util",
"../../../../../rtc_base:logging",
"../../../../../rtc_base/synchronization:mutex",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
rtc_library("analyzing_video_sinks_helper") {
testonly = true
sources = [
"analyzing_video_sinks_helper.cc",
"analyzing_video_sinks_helper.h",
]
deps = [
"../../../../../api/test/pclf:media_configuration",
"../../../../../api/test/video:video_frame_writer",
"../../../../../rtc_base:macromagic",
"../../../../../rtc_base/synchronization:mutex",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
rtc_library("example_video_quality_analyzer") {
testonly = true
sources = [
"example_video_quality_analyzer.cc",
"example_video_quality_analyzer.h",
]
deps = [
"../../../../../api:array_view",
"../../../../../api:video_quality_analyzer_api",
"../../../../../api/video:encoded_image",
"../../../../../api/video:video_frame",
"../../../../../rtc_base:logging",
"../../../../../rtc_base/synchronization:mutex",
]
}
# This target contains implementation details of DefaultVideoQualityAnalyzer,
# so headers exported by it shouldn't be used in other places.
rtc_library("default_video_quality_analyzer_internal") {
visibility = [
":default_video_quality_analyzer",
":default_video_quality_analyzer_frames_comparator_test",
":default_video_quality_analyzer_stream_state_test",
":names_collection_test",
":video_analyzer",
]
testonly = true
sources = [
"default_video_quality_analyzer_cpu_measurer.cc",
"default_video_quality_analyzer_cpu_measurer.h",
"default_video_quality_analyzer_frame_in_flight.cc",
"default_video_quality_analyzer_frame_in_flight.h",
"default_video_quality_analyzer_frames_comparator.cc",
"default_video_quality_analyzer_frames_comparator.h",
"default_video_quality_analyzer_internal_shared_objects.cc",
"default_video_quality_analyzer_internal_shared_objects.h",
"default_video_quality_analyzer_stream_state.cc",
"default_video_quality_analyzer_stream_state.h",
"names_collection.cc",
"names_collection.h",
]
deps = [
":default_video_quality_analyzer_shared",
":multi_reader_queue",
"../..:metric_metadata_keys",
"../../../../../api:array_view",
"../../../../../api:scoped_refptr",
"../../../../../api/numerics",
"../../../../../api/units:data_size",
"../../../../../api/units:time_delta",
"../../../../../api/units:timestamp",
"../../../../../api/video:video_frame",
"../../../../../api/video:video_frame_type",
"../../../../../common_video",
"../../../../../rtc_base:checks",
"../../../../../rtc_base:platform_thread",
"../../../../../rtc_base:rtc_base_tests_utils",
"../../../../../rtc_base:rtc_event",
"../../../../../rtc_base:stringutils",
"../../../../../rtc_base:timeutils",
"../../../../../rtc_base/synchronization:mutex",
"../../../../../rtc_tools:video_quality_analysis",
"../../../../../system_wrappers",
"dvqa:pausable_state",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
rtc_library("multi_reader_queue") {
testonly = true
sources = [ "multi_reader_queue.h" ]
deps = [ "../../../../../rtc_base:checks" ]
}
rtc_library("video_quality_metrics_reporter") {
testonly = true
sources = [
"video_quality_metrics_reporter.cc",
"video_quality_metrics_reporter.h",
]
deps = [
"../..:metric_metadata_keys",
"../../../../../api:peer_connection_quality_test_fixture_api",
"../../../../../api:rtc_stats_api",
"../../../../../api:track_id_stream_info_map",
"../../../../../api/numerics",
"../../../../../api/test/metrics:metric",
"../../../../../api/test/metrics:metrics_logger",
"../../../../../api/units:data_rate",
"../../../../../api/units:data_size",
"../../../../../api/units:time_delta",
"../../../../../api/units:timestamp",
"../../../../../rtc_base:checks",
"../../../../../rtc_base/synchronization:mutex",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
rtc_library("default_video_quality_analyzer") {
testonly = true
sources = [
"default_video_quality_analyzer.cc",
"default_video_quality_analyzer.h",
]
deps = [
":default_video_quality_analyzer_internal",
":default_video_quality_analyzer_shared",
"../..:metric_metadata_keys",
"../../../../../api:array_view",
"../../../../../api:video_quality_analyzer_api",
"../../../../../api/numerics",
"../../../../../api/test/metrics:metric",
"../../../../../api/test/metrics:metrics_logger",
"../../../../../api/units:data_size",
"../../../../../api/units:time_delta",
"../../../../../api/units:timestamp",
"../../../../../api/video:encoded_image",
"../../../../../api/video:video_frame",
"../../../../../rtc_base:checks",
"../../../../../rtc_base:logging",
"../../../../../rtc_base:macromagic",
"../../../../../rtc_base:stringutils",
"../../../../../rtc_base/synchronization:mutex",
"../../../../../system_wrappers",
"dvqa:frames_storage",
]
}
rtc_library("default_video_quality_analyzer_shared") {
testonly = true
sources = [
"default_video_quality_analyzer_shared_objects.cc",
"default_video_quality_analyzer_shared_objects.h",
]
deps = [
"../../../../../api/numerics",
"../../../../../api/units:time_delta",
"../../../../../api/units:timestamp",
"../../../../../rtc_base:checks",
"../../../../../rtc_base:stringutils",
]
}
rtc_library("analyzing_video_sink") {
testonly = true
sources = [
"analyzing_video_sink.cc",
"analyzing_video_sink.h",
]
deps = [
":analyzing_video_sinks_helper",
":simulcast_dummy_buffer_helper",
":video_dumping",
"../..:metric_metadata_keys",
"../../../..:fixed_fps_video_frame_writer_adapter",
"../../../..:test_renderer",
"../../../../../api:video_quality_analyzer_api",
"../../../../../api/numerics",
"../../../../../api/test/metrics:metric",
"../../../../../api/test/metrics:metrics_logger",
"../../../../../api/test/pclf:media_configuration",
"../../../../../api/test/video:video_frame_writer",
"../../../../../api/units:timestamp",
"../../../../../api/video:video_frame",
"../../../../../rtc_base:checks",
"../../../../../rtc_base:logging",
"../../../../../rtc_base:macromagic",
"../../../../../rtc_base/synchronization:mutex",
"../../../../../system_wrappers",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
rtc_library("video_quality_analyzer_injection_helper") {
testonly = true
sources = [
"video_quality_analyzer_injection_helper.cc",
"video_quality_analyzer_injection_helper.h",
]
deps = [
":analyzing_video_sink",
":analyzing_video_sinks_helper",
":encoded_image_data_injector_api",
":quality_analyzing_video_decoder",
":quality_analyzing_video_encoder",
":simulcast_dummy_buffer_helper",
":video_dumping",
"../../../..:fixed_fps_video_frame_writer_adapter",
"../../../..:test_renderer",
"../../../..:test_video_capturer",
"../../../..:video_frame_writer",
"../../../..:video_test_common",
"../../../../../api:array_view",
"../../../../../api:stats_observer_interface",
"../../../../../api:video_quality_analyzer_api",
"../../../../../api/test/pclf:media_configuration",
"../../../../../api/video:video_frame",
"../../../../../api/video_codecs:video_codecs_api",
"../../../../../rtc_base:checks",
"../../../../../rtc_base:logging",
"../../../../../rtc_base:stringutils",
"../../../../../rtc_base/synchronization:mutex",
"../../../../../system_wrappers",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
if (rtc_include_tests) {
rtc_library("simulcast_dummy_buffer_helper_test") {
testonly = true
sources = [ "simulcast_dummy_buffer_helper_test.cc" ]
deps = [
":simulcast_dummy_buffer_helper",
"../../../..:test_support",
"../../../../../api/video:video_frame",
"../../../../../rtc_base:random",
]
}
rtc_library("analyzing_video_sink_test") {
testonly = true
sources = [ "analyzing_video_sink_test.cc" ]
deps = [
":analyzing_video_sink",
":example_video_quality_analyzer",
"../../../..:fileutils",
"../../../..:test_support",
"../../../..:video_test_support",
"../../../../../api:create_frame_generator",
"../../../../../api:frame_generator_api",
"../../../../../api:scoped_refptr",
"../../../../../api/test/pclf:media_configuration",
"../../../../../api/units:time_delta",
"../../../../../api/units:timestamp",
"../../../../../api/video:video_frame",
"../../../../../common_video",
"../../../../../rtc_base:timeutils",
"../../../../../system_wrappers",
"../../../../time_controller",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
rtc_library("analyzing_video_sinks_helper_test") {
testonly = true
sources = [ "analyzing_video_sinks_helper_test.cc" ]
deps = [
":analyzing_video_sinks_helper",
"../../../..:test_support",
"../../../../../api/test/pclf:media_configuration",
]
}
rtc_library("default_video_quality_analyzer_frames_comparator_test") {
testonly = true
sources = [ "default_video_quality_analyzer_frames_comparator_test.cc" ]
deps = [
":default_video_quality_analyzer_internal",
":default_video_quality_analyzer_shared",
"../../../..:test_support",
"../../../../../api:create_frame_generator",
"../../../../../api/units:timestamp",
"../../../../../rtc_base:stringutils",
"../../../../../system_wrappers",
]
}
rtc_library("names_collection_test") {
testonly = true
sources = [ "names_collection_test.cc" ]
deps = [
":default_video_quality_analyzer_internal",
"../../../..:test_support",
]
}
rtc_library("multi_reader_queue_test") {
testonly = true
sources = [ "multi_reader_queue_test.cc" ]
deps = [
":multi_reader_queue",
"../../../..:test_support",
]
}
rtc_library("default_video_quality_analyzer_stream_state_test") {
testonly = true
sources = [ "default_video_quality_analyzer_stream_state_test.cc" ]
deps = [
":default_video_quality_analyzer_internal",
"../../../..:test_support",
"../../../../../api/units:timestamp",
"../../../../../system_wrappers",
]
}
rtc_library("default_video_quality_analyzer_test") {
testonly = true
sources = [ "default_video_quality_analyzer_test.cc" ]
deps = [
":default_video_quality_analyzer",
":default_video_quality_analyzer_shared",
"../../../..:test_support",
"../../../../../api:create_frame_generator",
"../../../../../api:rtp_packet_info",
"../../../../../api:time_controller",
"../../../../../api/test/metrics:global_metrics_logger_and_exporter",
"../../../../../api/units:time_delta",
"../../../../../api/units:timestamp",
"../../../../../api/video:encoded_image",
"../../../../../api/video:video_frame",
"../../../../../common_video",
"../../../../../rtc_base:stringutils",
"../../../../../rtc_tools:video_quality_analysis",
"../../../../../system_wrappers",
"../../../../time_controller",
]
}
rtc_library("default_video_quality_analyzer_metric_names_test") {
testonly = true
sources = [ "default_video_quality_analyzer_metric_names_test.cc" ]
deps = [
":default_video_quality_analyzer",
"../../../..:test_support",
"../../../../../api:create_frame_generator",
"../../../../../api:rtp_packet_info",
"../../../../../api/test/metrics:metric",
"../../../../../api/test/metrics:metrics_logger",
"../../../../../api/test/metrics:stdout_metrics_exporter",
"../../../../../api/video:encoded_image",
"../../../../../api/video:video_frame",
"../../../../../common_video",
"../../../../../rtc_tools:video_quality_analysis",
"../../../../../system_wrappers",
]
}
rtc_library("video_dumping_test") {
testonly = true
sources = [ "video_dumping_test.cc" ]
deps = [
":video_dumping",
"../../../..:fileutils",
"../../../..:test_support",
"../../../..:video_frame_writer",
"../../../..:video_test_support",
"../../../../../api:scoped_refptr",
"../../../../../api/video:video_frame",
"../../../../../rtc_base:random",
]
}
rtc_library("single_process_encoded_image_data_injector_unittest") {
testonly = true
sources = [ "single_process_encoded_image_data_injector_unittest.cc" ]
deps = [
":single_process_encoded_image_data_injector",
"../../../..:test_support",
"../../../../../api/video:encoded_image",
"../../../../../rtc_base:buffer",
]
}
rtc_library("video_frame_tracking_id_injector_unittest") {
testonly = true
sources = [ "video_frame_tracking_id_injector_unittest.cc" ]
deps = [
":video_frame_tracking_id_injector",
"../../../..:test_support",
"../../../../../api/video:encoded_image",
"../../../../../rtc_base:buffer",
]
}
}