From 76793c300fdd87fa8fd8be3dd2e5faf8c1916e96 Mon Sep 17 00:00:00 2001 From: Ilya Nikolaevskiy Date: Fri, 18 Nov 2022 09:15:57 +0000 Subject: [PATCH] Revert "[DVQA] Create separate BUILD.gn file for video analyzer" This reverts commit 116c0a53d4a35c6dee857eb4cc2b6ae233a0427c. Reason for revert: Breaks bot: https://ci.chromium.org/ui/p/chromium/builders/try/linux_chromium_compile_dbg_ng/1415352/overview Original change's description: > [DVQA] Create separate BUILD.gn file for video analyzer > > Bug: None > Change-Id: I37dd2262bf3f52b2f5abe7934b9c41eaa27ffd17 > No-try: True > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/283141 > Commit-Queue: Artem Titov > Reviewed-by: Mirko Bonadei > Cr-Commit-Position: refs/heads/main@{#38662} Bug: None Change-Id: Ieeb8c569560cb9d60d0c4d3c1268fa57f56b8157 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/284000 Auto-Submit: Ilya Nikolaevskiy Bot-Commit: rubber-stamper@appspot.gserviceaccount.com Commit-Queue: Mirko Bonadei Reviewed-by: Mirko Bonadei Cr-Commit-Position: refs/heads/main@{#38672} --- api/BUILD.gn | 1 + api/test/pclf/BUILD.gn | 2 +- pc/BUILD.gn | 2 +- test/pc/e2e/BUILD.gn | 583 +++++++++++++++++++++++++++- test/pc/e2e/analyzer/video/BUILD.gn | 572 --------------------------- 5 files changed, 573 insertions(+), 587 deletions(-) delete mode 100644 test/pc/e2e/analyzer/video/BUILD.gn diff --git a/api/BUILD.gn b/api/BUILD.gn index c661dc56ad..5874b953b9 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -576,6 +576,7 @@ rtc_source_set("peer_connection_quality_test_fixture_api") { "../rtc_base:stringutils", "../rtc_base:threading", "../test:fileutils", + "../test/pc/e2e:video_dumping", "audio:audio_mixer_api", "rtc_event_log", "task_queue", diff --git a/api/test/pclf/BUILD.gn b/api/test/pclf/BUILD.gn index a50744e92b..17cd758ea4 100644 --- a/api/test/pclf/BUILD.gn +++ b/api/test/pclf/BUILD.gn @@ -40,7 +40,7 @@ rtc_source_set("media_configuration") { "../../../rtc_base:threading", "../../../test:fileutils", "../../../test:video_test_support", - "../../../test/pc/e2e/analyzer/video:video_dumping", + "../../../test/pc/e2e:video_dumping", "../../audio:audio_mixer_api", "../../rtc_event_log", "../../task_queue", diff --git a/pc/BUILD.gn b/pc/BUILD.gn index 053f4e62b0..7395072e5d 100644 --- a/pc/BUILD.gn +++ b/pc/BUILD.gn @@ -2742,8 +2742,8 @@ if (rtc_include_tests && !build_with_chromium) { "../test:fileutils", "../test:test_main", "../test:test_support", + "../test/pc/e2e:default_video_quality_analyzer", "../test/pc/e2e:network_quality_metrics_reporter", - "../test/pc/e2e/analyzer/video:default_video_quality_analyzer", ] if (is_ios) { diff --git a/test/pc/e2e/BUILD.gn b/test/pc/e2e/BUILD.gn index e73c0aa0d7..ea4014d6e5 100644 --- a/test/pc/e2e/BUILD.gn +++ b/test/pc/e2e/BUILD.gn @@ -8,20 +8,40 @@ import("../../../webrtc.gni") -rtc_library("metric_metadata_keys") { +rtc_library("video_dumping") { testonly = true - sources = [ "metric_metadata_keys.h" ] + sources = [ + "analyzer/video/video_dumping.cc", + "analyzer/video/video_dumping.h", + ] + deps = [ + "../..:video_test_support", + "../../../api/test/video:video_frame_writer", + "../../../api/video:video_frame", + "../../../rtc_base:checks", + "../../../rtc_base:logging", + "../../../system_wrappers", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } if (!build_with_chromium) { group("e2e") { testonly = true - deps = [ ":metric_metadata_keys" ] + deps = [ + ":encoded_image_data_injector_api", + ":example_video_quality_analyzer", + ":quality_analyzing_video_decoder", + ":quality_analyzing_video_encoder", + ":single_process_encoded_image_data_injector", + ":video_frame_tracking_id_injector", + ] if (rtc_include_tests) { deps += [ ":peerconnection_quality_test", ":test_peer", + ":video_quality_analyzer_injection_helper", ] } } @@ -31,15 +51,237 @@ if (!build_with_chromium) { 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", ":peer_connection_e2e_smoke_test", ":peer_connection_quality_test_metric_names_test", ":peer_connection_quality_test_test", + ":simulcast_dummy_buffer_helper_test", + ":single_process_encoded_image_data_injector_unittest", ":stats_poller_test", + ":video_dumping_test", + ":video_frame_tracking_id_injector_unittest", ] } } + rtc_library("encoded_image_data_injector_api") { + testonly = true + sources = [ "analyzer/video/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 = [ + "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", + "../../../rtc_base/synchronization:mutex", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] + } + + rtc_library("video_frame_tracking_id_injector") { + testonly = true + sources = [ + "analyzer/video/video_frame_tracking_id_injector.cc", + "analyzer/video/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 = [ + "analyzer/video/simulcast_dummy_buffer_helper.cc", + "analyzer/video/simulcast_dummy_buffer_helper.h", + ] + deps = [ "../../../api/video:video_frame" ] + } + + rtc_library("simulcast_dummy_buffer_helper_test") { + testonly = true + sources = [ "analyzer/video/simulcast_dummy_buffer_helper_test.cc" ] + deps = [ + ":simulcast_dummy_buffer_helper", + "../..:test_support", + "../../../api/video:video_frame", + "../../../rtc_base:random", + ] + } + + rtc_library("quality_analyzing_video_decoder") { + testonly = true + sources = [ + "analyzer/video/quality_analyzing_video_decoder.cc", + "analyzer/video/quality_analyzing_video_decoder.h", + ] + deps = [ + ":encoded_image_data_injector_api", + ":simulcast_dummy_buffer_helper", + "../../../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", + "../../../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 = [ + "analyzer/video/quality_analyzing_video_encoder.cc", + "analyzer/video/quality_analyzing_video_encoder.h", + ] + deps = [ + ":encoded_image_data_injector_api", + "../../../api:video_quality_analyzer_api", + "../../../api/test/pclf:media_configuration", + "../../../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", + "../../../modules/video_coding/svc:scalability_mode_util", + "../../../rtc_base:criticalsection", + "../../../rtc_base:logging", + "../../../rtc_base/synchronization:mutex", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] + } + if (rtc_include_tests) { + rtc_library("video_dumping_test") { + testonly = true + sources = [ "analyzer/video/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("analyzing_video_sinks_helper") { + testonly = true + sources = [ + "analyzer/video/analyzing_video_sinks_helper.cc", + "analyzer/video/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("analyzing_video_sink") { + testonly = true + sources = [ + "analyzer/video/analyzing_video_sink.cc", + "analyzer/video/analyzing_video_sink.h", + ] + deps = [ + ":analyzing_video_sinks_helper", + ":simulcast_dummy_buffer_helper", + ":video_dumping", + "../..:fixed_fps_video_frame_writer_adapter", + "../..:test_renderer", + "../../../api:video_quality_analyzer_api", + "../../../api/numerics", + "../../../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 = [ + "analyzer/video/video_quality_analyzer_injection_helper.cc", + "analyzer/video/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", + "../../../api:array_view", + "../../../api:stats_observer_interface", + "../../../api:video_quality_analyzer_api", + "../../../api/test/pclf:media_configuration", + "../../../api/video:video_frame", + "../../../api/video:video_rtp_headers", + "../../../api/video_codecs:video_codecs_api", + "../../../rtc_base:checks", + "../../../rtc_base:criticalsection", + "../../../rtc_base:logging", + "../../../rtc_base:stringutils", + "../../../rtc_base/synchronization:mutex", + "../../../system_wrappers", + "../../../test:video_test_common", + "../../../test:video_test_support", + ] + absl_deps = [ + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/strings", + ] + } + rtc_library("echo_emulation") { testonly = true sources = [ @@ -91,7 +333,9 @@ if (!build_with_chromium) { ] deps = [ ":echo_emulation", + ":quality_analyzing_video_encoder", ":test_peer", + ":video_quality_analyzer_injection_helper", "../..:copy_to_file_audio_capturer", "../../../api:create_time_controller", "../../../api:time_controller", @@ -110,8 +354,6 @@ if (!build_with_chromium) { "../../../p2p:rtc_p2p", "../../../rtc_base:rtc_task_queue", "../../../rtc_base:threading", - "analyzer/video:quality_analyzing_video_encoder", - "analyzer/video:video_quality_analyzer_injection_helper", ] absl_deps = [ "//third_party/abseil-cpp/absl/memory", @@ -128,6 +370,7 @@ if (!build_with_chromium) { ] deps = [ ":test_peer", + ":video_quality_analyzer_injection_helper", "../..:fileutils", "../..:platform_video_capturer", "../..:video_test_common", @@ -139,7 +382,6 @@ if (!build_with_chromium) { "../../../api/video:video_frame", "../../../pc:session_description", "../../../pc:video_track_source", - "analyzer/video:video_quality_analyzer_injection_helper", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:variant" ] } @@ -199,14 +441,19 @@ if (!build_with_chromium) { ":analyzer_helper", ":cross_media_metrics_reporter", ":default_audio_quality_analyzer", + ":default_video_quality_analyzer", ":media_helper", ":metric_metadata_keys", ":peer_params_preprocessor", ":sdp_changer", + ":single_process_encoded_image_data_injector", ":stats_poller", ":test_activities_executor", ":test_peer", ":test_peer_factory", + ":video_frame_tracking_id_injector", + ":video_quality_analyzer_injection_helper", + ":video_quality_metrics_reporter", "../..:field_trial", "../..:fileutils", "../..:perf_test", @@ -239,15 +486,73 @@ if (!build_with_chromium) { "../../../rtc_base/synchronization:mutex", "../../../system_wrappers", "../../../system_wrappers:field_trial", - "analyzer/video:default_video_quality_analyzer", - "analyzer/video:single_process_encoded_image_data_injector", - "analyzer/video:video_frame_tracking_id_injector", - "analyzer/video:video_quality_analyzer_injection_helper", - "analyzer/video:video_quality_metrics_reporter", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } + 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:buffer", + "../../../test:test_support", + ] + } + + rtc_library("video_frame_tracking_id_injector_unittest") { + testonly = true + sources = + [ "analyzer/video/video_frame_tracking_id_injector_unittest.cc" ] + deps = [ + ":video_frame_tracking_id_injector", + "../../../api/video:encoded_image", + "../../../rtc_base:buffer", + "../../../test:test_support", + ] + } + + rtc_library("analyzing_video_sinks_helper_test") { + testonly = true + sources = [ "analyzer/video/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("analyzing_video_sink_test") { + testonly = true + sources = [ "analyzer/video/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", + ] + } + peer_connection_e2e_smoke_test_resources = [ "../../../resources/pc_quality_smoke_test_alice_source.wav", "../../../resources/pc_quality_smoke_test_bob_source.wav", @@ -266,6 +571,8 @@ if (!build_with_chromium) { sources = [ "peer_connection_e2e_smoke_test.cc" ] deps = [ ":default_audio_quality_analyzer", + ":default_video_quality_analyzer", + ":default_video_quality_analyzer_shared", ":network_quality_metrics_reporter", ":stats_based_network_quality_metrics_reporter", "../../../api:callfactory_api", @@ -300,8 +607,6 @@ if (!build_with_chromium) { "../../../test:field_trial", "../../../test:fileutils", "../../../test:test_support", - "analyzer/video:default_video_quality_analyzer", - "analyzer/video:default_video_quality_analyzer_shared", ] data = peer_connection_e2e_smoke_test_resources if (is_mac || is_ios) { @@ -386,6 +691,99 @@ if (!build_with_chromium) { "../../../api:rtc_stats_api", ] } + + rtc_library("default_video_quality_analyzer_test") { + testonly = true + sources = [ "analyzer/video/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/test/metrics:global_metrics_logger_and_exporter", + "../../../api/video:encoded_image", + "../../../api/video:video_frame", + "../../../common_video", + "../../../modules/rtp_rtcp:rtp_rtcp_format", + "../../../rtc_base:stringutils", + "../../../rtc_tools:video_quality_analysis", + "../../../system_wrappers", + ] + } + + rtc_library("default_video_quality_analyzer_metric_names_test") { + testonly = true + sources = [ + "analyzer/video/default_video_quality_analyzer_metric_names_test.cc", + ] + deps = [ + ":default_video_quality_analyzer", + ":default_video_quality_analyzer_shared", + "../..: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_base:stringutils", + "../../../rtc_tools:video_quality_analysis", + "../../../system_wrappers", + ] + } + + rtc_library("default_video_quality_analyzer_frames_comparator_test") { + testonly = true + sources = [ "analyzer/video/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 = [ "analyzer/video/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 = [ "analyzer/video/multi_reader_queue_test.cc" ] + deps = [ + ":multi_reader_queue", + "../../../test:test_support", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] + } + + rtc_library("default_video_quality_analyzer_stream_state_test") { + testonly = true + sources = [ + "analyzer/video/default_video_quality_analyzer_stream_state_test.cc", + ] + deps = [ + ":default_video_quality_analyzer_internal", + "../../../api/units:timestamp", + "../../../test:test_support", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] + } } rtc_library("analyzer_helper") { @@ -432,6 +830,158 @@ if (!build_with_chromium) { absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } + rtc_library("example_video_quality_analyzer") { + testonly = true + sources = [ + "analyzer/video/example_video_quality_analyzer.cc", + "analyzer/video/example_video_quality_analyzer.h", + ] + + deps = [ + "../../../api:array_view", + "../../../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_base/synchronization:mutex", + ] + } + + rtc_library("video_quality_metrics_reporter") { + testonly = true + sources = [ + "analyzer/video/video_quality_metrics_reporter.cc", + "analyzer/video/video_quality_metrics_reporter.h", + ] + deps = [ + ":metric_metadata_keys", + "../..:perf_test", + "../../../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:criticalsection", + "../../../rtc_base:rtc_numerics", + "../../../rtc_base/synchronization:mutex", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] + } + + rtc_library("metric_metadata_keys") { + testonly = true + sources = [ "metric_metadata_keys.h" ] + } + + rtc_library("default_video_quality_analyzer") { + testonly = true + sources = [ + "analyzer/video/default_video_quality_analyzer.cc", + "analyzer/video/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", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] + } + + # 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", + ] + + testonly = true + sources = [ + "analyzer/video/default_video_quality_analyzer_cpu_measurer.cc", + "analyzer/video/default_video_quality_analyzer_cpu_measurer.h", + "analyzer/video/default_video_quality_analyzer_frame_in_flight.cc", + "analyzer/video/default_video_quality_analyzer_frame_in_flight.h", + "analyzer/video/default_video_quality_analyzer_frames_comparator.cc", + "analyzer/video/default_video_quality_analyzer_frames_comparator.h", + "analyzer/video/default_video_quality_analyzer_internal_shared_objects.cc", + "analyzer/video/default_video_quality_analyzer_internal_shared_objects.h", + "analyzer/video/default_video_quality_analyzer_stream_state.cc", + "analyzer/video/default_video_quality_analyzer_stream_state.h", + "analyzer/video/names_collection.cc", + "analyzer/video/names_collection.h", + ] + + deps = [ + ":default_video_quality_analyzer_shared", + ":metric_metadata_keys", + ":multi_reader_queue", + "../../../api:array_view", + "../../../api:scoped_refptr", + "../../../api/numerics:numerics", + "../../../api/units:data_size", + "../../../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:system_wrappers", + ] + absl_deps = [ + "//third_party/abseil-cpp/absl/strings:strings", + "//third_party/abseil-cpp/absl/types:optional", + ] + } + + rtc_library("default_video_quality_analyzer_shared") { + testonly = true + sources = [ + "analyzer/video/default_video_quality_analyzer_shared_objects.cc", + "analyzer/video/default_video_quality_analyzer_shared_objects.h", + ] + + deps = [ + "../../../api/numerics:numerics", + "../../../api/units:timestamp", + "../../../rtc_base:checks", + "../../../rtc_base:stringutils", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] + } + rtc_library("network_quality_metrics_reporter") { testonly = true sources = [ @@ -542,4 +1092,11 @@ if (!build_with_chromium) { "//third_party/abseil-cpp/absl/types:optional", ] } + + rtc_library("multi_reader_queue") { + testonly = true + sources = [ "analyzer/video/multi_reader_queue.h" ] + deps = [ "../../../rtc_base:checks" ] + absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] + } } diff --git a/test/pc/e2e/analyzer/video/BUILD.gn b/test/pc/e2e/analyzer/video/BUILD.gn deleted file mode 100644 index 47a3721ea2..0000000000 --- a/test/pc/e2e/analyzer/video/BUILD.gn +++ /dev/null @@ -1,572 +0,0 @@ -# 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/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/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/units:data_size", - "../../../../../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", - ] - 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", - ] - 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: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", - "../../../..:fixed_fps_video_frame_writer_adapter", - "../../../..:test_renderer", - "../../../../../api:video_quality_analyzer_api", - "../../../../../api/numerics", - "../../../../../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", - "../../../..: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", - ] - 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/test/metrics:global_metrics_logger_and_exporter", - "../../../../../api/video:encoded_image", - "../../../../../api/video:video_frame", - "../../../../../common_video", - "../../../../../rtc_base:stringutils", - "../../../../../rtc_tools:video_quality_analysis", - "../../../../../system_wrappers", - ] - } - - 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", - ] - } -}