From eb3da2b1ec36319bdb8aae79670d3f2cc1c73978 Mon Sep 17 00:00:00 2001 From: Artem Titov Date: Wed, 26 Jun 2024 13:23:44 +0200 Subject: [PATCH] Extract video writing into separate target Bug: None Change-Id: I3af192606eb623e21a4d648fb69bb62c14ab8b0d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355560 Reviewed-by: Mirko Bonadei Commit-Queue: Artem Titov Cr-Commit-Position: refs/heads/main@{#42541} --- api/test/pclf/BUILD.gn | 2 +- api/test/video/BUILD.gn | 1 - api/video_codecs/BUILD.gn | 1 + modules/desktop_capture/BUILD.gn | 1 - modules/video_coding/BUILD.gn | 2 ++ rtc_tools/BUILD.gn | 2 +- test/BUILD.gn | 45 +++++++++++++++++------------ test/pc/e2e/analyzer/video/BUILD.gn | 5 ++-- video/BUILD.gn | 2 +- 9 files changed, 36 insertions(+), 25 deletions(-) diff --git a/api/test/pclf/BUILD.gn b/api/test/pclf/BUILD.gn index 6a42f95cf1..f88ce19a9d 100644 --- a/api/test/pclf/BUILD.gn +++ b/api/test/pclf/BUILD.gn @@ -39,7 +39,7 @@ rtc_source_set("media_configuration") { "../../../rtc_base:stringutils", "../../../rtc_base:threading", "../../../test:fileutils", - "../../../test:video_test_support", + "../../../test:video_frame_writer", "../../../test/pc/e2e/analyzer/video:video_dumping", "../../audio:audio_mixer_api", "../../audio:audio_processing", diff --git a/api/test/video/BUILD.gn b/api/test/video/BUILD.gn index ab9da974a5..61af6b0302 100644 --- a/api/test/video/BUILD.gn +++ b/api/test/video/BUILD.gn @@ -25,7 +25,6 @@ rtc_library("function_video_factory") { rtc_library("video_frame_writer") { visibility = [ "*" ] - testonly = true sources = [ "video_frame_writer.h" ] deps = [ "../../video:video_frame" ] diff --git a/api/video_codecs/BUILD.gn b/api/video_codecs/BUILD.gn index f71fa08503..b911e6b608 100644 --- a/api/video_codecs/BUILD.gn +++ b/api/video_codecs/BUILD.gn @@ -381,6 +381,7 @@ rtc_library("libaom_av1_encoder_factory_test") { "../../rtc_base:logging", "../../test:fileutils", "../../test:test_support", + "../../test:video_frame_writer", "../../test:video_test_support", "//third_party/abseil-cpp/absl/types:variant", ] diff --git a/modules/desktop_capture/BUILD.gn b/modules/desktop_capture/BUILD.gn index 90930adc0d..ddbf3c3d58 100644 --- a/modules/desktop_capture/BUILD.gn +++ b/modules/desktop_capture/BUILD.gn @@ -67,7 +67,6 @@ if (rtc_include_tests) { "../../rtc_base/third_party/base64", "../../system_wrappers", "../../test:test_support", - "../../test:video_test_support", ] sources += [ "screen_capturer_integration_test.cc", diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn index 6f39202e63..606a49f9b7 100644 --- a/modules/video_coding/BUILD.gn +++ b/modules/video_coding/BUILD.gn @@ -838,6 +838,7 @@ if (rtc_include_tests) { "../../rtc_base/synchronization:mutex", "../../rtc_base/system:no_unique_address", "../../test:test_support", + "../../test:video_frame_writer", "../../test:video_test_common", "../../test:video_test_support", "../rtp_rtcp:rtp_rtcp_format", @@ -925,6 +926,7 @@ if (rtc_include_tests) { "../../system_wrappers", "../../test:fileutils", "../../test:test_support", + "../../test:video_frame_writer", "../../test:video_test_common", "../../test:video_test_support", "../../video/config:encoder_config", diff --git a/rtc_tools/BUILD.gn b/rtc_tools/BUILD.gn index 6e12b59d85..78985e1363 100644 --- a/rtc_tools/BUILD.gn +++ b/rtc_tools/BUILD.gn @@ -261,9 +261,9 @@ if (!is_component_build) { "../test:test_renderer", "../test:test_support", "../test:test_video_capturer", + "../test:video_frame_writer", "../test:video_test_common", "../test:video_test_constants", - "../test:video_test_support", "../test/time_controller:time_controller", "//third_party/abseil-cpp/absl/flags:flag", "//third_party/abseil-cpp/absl/flags:parse", diff --git a/test/BUILD.gn b/test/BUILD.gn index 2a91b4de4f..3055c616ed 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -484,14 +484,12 @@ rtc_source_set("test_support") { rtc_library("fixed_fps_video_frame_writer_adapter") { visibility = [ "*" ] - testonly = true sources = [ "testsupport/fixed_fps_video_frame_writer_adapter.cc", "testsupport/fixed_fps_video_frame_writer_adapter.h", ] deps = [ ":video_frame_writer", - ":video_test_support", "../api/test/video:video_frame_writer", "../api/units:time_delta", "../api/video:video_frame", @@ -502,9 +500,30 @@ rtc_library("fixed_fps_video_frame_writer_adapter") { } rtc_library("video_frame_writer") { - sources = [] + sources = [ + "testsupport/frame_writer.h", + "testsupport/video_frame_writer.cc", + "testsupport/video_frame_writer.h", + "testsupport/y4m_frame_writer.cc", + "testsupport/yuv_frame_writer.cc", + ] - deps = [] + deps = [ + "../api:scoped_refptr", + "../api/test/video:video_frame_writer", + "../api/video:video_frame", + "../common_video", + "../rtc_base:buffer", + "../rtc_base:checks", + "../rtc_base:logging", + ] + + if (!is_ios) { + deps += [ "//third_party:jpeg" ] + sources += [ "testsupport/jpeg_frame_writer.cc" ] + } else { + sources += [ "testsupport/jpeg_frame_writer_ios.cc" ] + } } rtc_library("video_test_support") { @@ -512,14 +531,9 @@ rtc_library("video_test_support") { sources = [ "testsupport/frame_reader.h", - "testsupport/frame_writer.h", "testsupport/mock/mock_frame_reader.h", - "testsupport/video_frame_writer.cc", - "testsupport/video_frame_writer.h", "testsupport/y4m_frame_reader.cc", - "testsupport/y4m_frame_writer.cc", "testsupport/yuv_frame_reader.cc", - "testsupport/yuv_frame_writer.cc", ] deps = [ @@ -549,13 +563,6 @@ rtc_library("video_test_support") { "../rtc_base/system:file_wrapper", "//third_party/abseil-cpp/absl/types:optional", ] - - if (!is_ios) { - deps += [ "//third_party:jpeg" ] - sources += [ "testsupport/jpeg_frame_writer.cc" ] - } else { - sources += [ "testsupport/jpeg_frame_writer_ios.cc" ] - } } if (rtc_include_tests) { @@ -675,7 +682,7 @@ if (rtc_include_tests) { deps = [ ":fixed_fps_video_frame_writer_adapter", ":test_support", - ":video_test_support", + ":video_frame_writer", "../api/units:time_delta", "../api/units:timestamp", "../api/video:video_frame", @@ -705,6 +712,7 @@ if (rtc_include_tests) { ":test_support", ":test_support_test_artifacts", ":video_codec_tester", + ":video_frame_writer", ":video_test_common", ":video_test_support", ":y4m_frame_generator", @@ -1346,6 +1354,8 @@ rtc_library("video_codec_tester") { ] deps = [ ":scoped_key_value_config", + ":video_frame_writer", + ":video_test_support", "../api:array_view", "../api:create_frame_generator", "../api:frame_generator_api", @@ -1381,7 +1391,6 @@ rtc_library("video_codec_tester") { "../rtc_base/synchronization:mutex", "../system_wrappers", "../test:fileutils", - "../test:video_test_support", "../video/config:streams_config", "//third_party/abseil-cpp/absl/strings", "//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 index b4de081071..33e358adbe 100644 --- a/test/pc/e2e/analyzer/video/BUILD.gn +++ b/test/pc/e2e/analyzer/video/BUILD.gn @@ -63,7 +63,7 @@ rtc_library("video_dumping") { "video_dumping.h", ] deps = [ - "../../../..:video_test_support", + "../../../..:video_frame_writer", "../../../../../api/test/video:video_frame_writer", "../../../../../api/video:video_frame", "../../../../../rtc_base:logging", @@ -383,8 +383,8 @@ rtc_library("video_quality_analyzer_injection_helper") { "../../../..:fixed_fps_video_frame_writer_adapter", "../../../..:test_renderer", "../../../..:test_video_capturer", + "../../../..:video_frame_writer", "../../../..:video_test_common", - "../../../..:video_test_support", "../../../../../api:array_view", "../../../../../api:stats_observer_interface", "../../../../../api:video_quality_analyzer_api", @@ -543,6 +543,7 @@ if (rtc_include_tests) { ":video_dumping", "../../../..:fileutils", "../../../..:test_support", + "../../../..:video_frame_writer", "../../../..:video_test_support", "../../../../../api:scoped_refptr", "../../../../../api/video:video_frame", diff --git a/video/BUILD.gn b/video/BUILD.gn index e8449b580a..227febc4d8 100644 --- a/video/BUILD.gn +++ b/video/BUILD.gn @@ -555,9 +555,9 @@ if (rtc_include_tests) { "../test:test_renderer", "../test:test_support", "../test:test_support_test_artifacts", + "../test:video_frame_writer", "../test:video_test_common", "../test:video_test_constants", - "../test:video_test_support", "config:streams_config", "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/flags:flag",