| # 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_test_support", |
| "../../../../../api/test/video:video_frame_writer", |
| "../../../../../api/video:video_frame", |
| "../../../../../rtc_base:logging", |
| "../../../../../system_wrappers", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] |
| } |
| |
| rtc_library("encoded_image_data_injector_api") { |
| testonly = true |
| sources = [ "encoded_image_data_injector.h" ] |
| |
| deps = [ "../../../../../api/video:encoded_image" ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| 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", |
| ] |
| absl_deps = [ "//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", |
| ] |
| absl_deps = [ "//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", |
| ] |
| absl_deps = [ |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| 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", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] |
| } |
| |
| 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", |
| ] |
| absl_deps = [ |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| 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", |
| ] |
| absl_deps = [ |
| "//third_party/abseil-cpp/absl/strings:strings", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_library("multi_reader_queue") { |
| testonly = true |
| sources = [ "multi_reader_queue.h" ] |
| deps = [ "../../../../../rtc_base:checks" ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| 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", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] |
| } |
| |
| 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", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| 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", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| 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", |
| ] |
| absl_deps = [ |
| "//third_party/abseil-cpp/absl/memory:memory", |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| 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_test_common", |
| "../../../..:video_test_support", |
| "../../../../../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", |
| ] |
| absl_deps = [ |
| "//third_party/abseil-cpp/absl/memory", |
| "//third_party/abseil-cpp/absl/strings", |
| ] |
| } |
| |
| 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", |
| ] |
| absl_deps = [ |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| 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", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| 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", |
| ] |
| absl_deps = [ |
| "//third_party/abseil-cpp/absl/strings:strings", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_library("multi_reader_queue_test") { |
| testonly = true |
| sources = [ "multi_reader_queue_test.cc" ] |
| deps = [ |
| ":multi_reader_queue", |
| "../../../..:test_support", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| 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", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| 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_test_support", |
| "../../../../../api:scoped_refptr", |
| "../../../../../api/video:video_frame", |
| "../../../../../rtc_base:random", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| 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", |
| ] |
| } |
| } |