diff --git a/api/BUILD.gn b/api/BUILD.gn index ad041d3844..1316e76e19 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -483,6 +483,7 @@ rtc_library("create_peer_connection_quality_test_frame_generator") { ":create_frame_generator", ":frame_generator_api", ":peer_connection_quality_test_fixture_api", + "../rtc_base:checks", "../test:fileutils", "//third_party/abseil-cpp/absl/types:optional", ] diff --git a/api/test/create_peer_connection_quality_test_frame_generator.cc b/api/test/create_peer_connection_quality_test_frame_generator.cc index b00751f9e5..d9f0937b30 100644 --- a/api/test/create_peer_connection_quality_test_frame_generator.cc +++ b/api/test/create_peer_connection_quality_test_frame_generator.cc @@ -15,6 +15,7 @@ #include "api/test/create_frame_generator.h" #include "api/test/peerconnection_quality_test_fixture.h" +#include "rtc_base/checks.h" #include "test/testsupport/file_utils.h" namespace webrtc { @@ -92,9 +93,9 @@ std::unique_ptr CreateScreenShareFrameGenerator( screen_share_config.slide_change_interval.seconds() * video_config.fps); } - // |pause_duration| is nonnegative. It is validated in ValidateParams(...). TimeDelta pause_duration = screen_share_config.slide_change_interval - screen_share_config.scrolling_params->duration; + RTC_DCHECK(pause_duration >= TimeDelta::Zero()); return test::CreateScrollingInputFromYuvFilesFrameGenerator( Clock::GetRealTimeClock(), slides, screen_share_config.scrolling_params->source_width, diff --git a/api/test/create_peer_connection_quality_test_frame_generator.h b/api/test/create_peer_connection_quality_test_frame_generator.h index 6b56e8e19b..ff87331204 100644 --- a/api/test/create_peer_connection_quality_test_frame_generator.h +++ b/api/test/create_peer_connection_quality_test_frame_generator.h @@ -20,16 +20,6 @@ namespace webrtc { namespace webrtc_pc_e2e { -// Validates that ScreeanShare frame generator can be created based on the -// screen_share_config. -// This function is temporarily added to the public interface and will be -// removed from here after refactoring is done. -// TODO(landrey) remove from the header file -void ValidateScreenShareConfig( - const PeerConnectionE2EQualityTestFixture::VideoConfig& video_config, - const PeerConnectionE2EQualityTestFixture::ScreenShareConfig& - screen_share_config); - // Creates a frame generator that produces frames with small squares that move // randomly towards the lower right corner. |type| has the default value // FrameGeneratorInterface::OutputType::I420. video_config specifies frame diff --git a/api/test/peerconnection_quality_test_fixture.h b/api/test/peerconnection_quality_test_fixture.h index 64671bfa99..5c27202afa 100644 --- a/api/test/peerconnection_quality_test_fixture.h +++ b/api/test/peerconnection_quality_test_fixture.h @@ -170,23 +170,10 @@ class PeerConnectionE2EQualityTestFixture { // Have to be unique among all specified configs for all peers in the call. // Will be auto generated if omitted. absl::optional stream_label; - // You can specify one of |generator|, |input_file_name|, - // |screen_share_config| and |capturing_device_index|. - // If none of them are specified and config is added to the PeerConfigurer - // without specifying any video source, then |generator| will be set to - // VideoGeneratorType::kDefault. - // If video source implementation is specified, - // then it will be used as video source regardless of other - // options. Please consider this way unless you are using - // |capturing_device_index| option, since the possibility of using other - // three is about to be removed. - // If specified generator of this type will be used to produce input video. - absl::optional generator; - // If specified this file will be used as input. Input video will be played - // in a circle. - absl::optional input_file_name; - // If specified screen share video stream will be created as input. + // If set, determines whether VideoTrackInterface::ContentHint::kText is set + // for the current video track. + // TODO(landrey) replace by use_text_content_hint boolean field. absl::optional screen_share_config; // If specified this capturing device will be used to get input video. The // |capturing_device_index| is the index of required capturing device in OS diff --git a/test/pc/e2e/BUILD.gn b/test/pc/e2e/BUILD.gn index ac4fe32ed1..3be1812fb5 100644 --- a/test/pc/e2e/BUILD.gn +++ b/test/pc/e2e/BUILD.gn @@ -274,7 +274,6 @@ if (rtc_include_tests) { "../..:platform_video_capturer", "../..:video_test_common", "../../../api:create_frame_generator", - "../../../api:create_peer_connection_quality_test_frame_generator", "../../../api:frame_generator_api", "../../../api:peer_connection_quality_test_fixture_api", "../../../api/video:video_frame", diff --git a/test/pc/e2e/media/media_helper.cc b/test/pc/e2e/media/media_helper.cc index 3848c15b70..0dd7ab5ba3 100644 --- a/test/pc/e2e/media/media_helper.cc +++ b/test/pc/e2e/media/media_helper.cc @@ -13,7 +13,6 @@ #include #include "api/test/create_frame_generator.h" -#include "api/test/create_peer_connection_quality_test_frame_generator.h" #include "test/frame_generator_capturer.h" #include "test/platform_video_capturer.h" #include "test/testsupport/file_utils.h" @@ -109,37 +108,10 @@ std::unique_ptr MediaHelper::CreateVideoCapturer( return capturer; } - std::unique_ptr frame_generator = nullptr; - if (generator) { - frame_generator = std::move(generator); - } else if (video_config.generator) { - absl::optional - frame_generator_type = absl::nullopt; - if (video_config.generator == VideoGeneratorType::kDefault) { - frame_generator_type = test::FrameGeneratorInterface::OutputType::kI420; - } else if (video_config.generator == VideoGeneratorType::kI420A) { - frame_generator_type = test::FrameGeneratorInterface::OutputType::kI420A; - } else if (video_config.generator == VideoGeneratorType::kI010) { - frame_generator_type = test::FrameGeneratorInterface::OutputType::kI010; - } - frame_generator = - test::CreateSquareFrameGenerator(static_cast(video_config.width), - static_cast(video_config.height), - frame_generator_type, absl::nullopt); - } else if (video_config.input_file_name) { - frame_generator = test::CreateFromYuvFileFrameGenerator( - std::vector(/*count=*/1, - video_config.input_file_name.value()), - video_config.width, video_config.height, /*frame_repeat_count=*/1); - } else if (video_config.screen_share_config) { - frame_generator = CreateScreenShareFrameGenerator( - video_config, *video_config.screen_share_config); - } - RTC_CHECK(frame_generator) << "Unsupported video_config input source"; + RTC_CHECK(generator) << "No input source."; auto capturer = std::make_unique( - clock_, std::move(frame_generator), video_config.fps, - *task_queue_factory_); + clock_, std::move(generator), video_config.fps, *task_queue_factory_); capturer->SetFramePreprocessor(std::move(frame_preprocessor)); capturer->Init(); return capturer; diff --git a/test/pc/e2e/peer_configurer.cc b/test/pc/e2e/peer_configurer.cc index 81f0fdb4f2..1102f687cb 100644 --- a/test/pc/e2e/peer_configurer.cc +++ b/test/pc/e2e/peer_configurer.cc @@ -16,7 +16,6 @@ namespace webrtc { namespace webrtc_pc_e2e { -namespace { using AudioConfig = PeerConnectionE2EQualityTestFixture::AudioConfig; using VideoConfig = PeerConnectionE2EQualityTestFixture::VideoConfig; @@ -25,25 +24,6 @@ using VideoGeneratorType = PeerConnectionE2EQualityTestFixture::VideoGeneratorType; using VideoCodecConfig = PeerConnectionE2EQualityTestFixture::VideoCodecConfig; -std::string VideoConfigSourcePresenceToString( - const VideoConfig& video_config, - bool has_user_provided_generator) { - char buf[1024]; - rtc::SimpleStringBuilder builder(buf); - builder << "video_config.generator=" << video_config.generator.has_value() - << "; video_config.input_file_name=" - << video_config.input_file_name.has_value() - << "; video_config.screen_share_config=" - << video_config.screen_share_config.has_value() - << "; video_config.capturing_device_index=" - << video_config.capturing_device_index.has_value() - << "; has_user_provided_generator=" << has_user_provided_generator - << ";"; - return builder.str(); -} - -} // namespace - void SetDefaultValuesForMissingParams( RunParams* run_params, std::vector>* peers) { @@ -54,15 +34,7 @@ void SetDefaultValuesForMissingParams( for (size_t i = 0; i < peers->size(); ++i) { auto* peer = peers->at(i).get(); auto* p = peer->params(); - for (size_t j = 0; j < p->video_configs.size(); ++j) { - VideoConfig& video_config = p->video_configs[j]; - std::unique_ptr& video_generator = - (*peer->video_generators())[j]; - if (!video_config.generator && !video_config.input_file_name && - !video_config.screen_share_config && - !video_config.capturing_device_index && !video_generator) { - video_config.generator = VideoGeneratorType::kDefault; - } + for (VideoConfig& video_config : p->video_configs) { if (!video_config.stream_label) { std::string label; do { @@ -107,40 +79,14 @@ void ValidateParams( } media_streams_count += p->video_configs.size(); - // Validate that each video config has exactly one of |generator|, - // |input_file_name| or |screen_share_config| set. Also validate that all - // video stream labels are unique. - for (size_t j = 0; j < p->video_configs.size(); ++j) { - VideoConfig& video_config = p->video_configs[j]; + // Validate that all video stream labels are unique. + for (const VideoConfig& video_config : p->video_configs) { RTC_CHECK(video_config.stream_label); bool inserted = video_labels.insert(video_config.stream_label.value()).second; RTC_CHECK(inserted) << "Duplicate video_config.stream_label=" << video_config.stream_label.value(); - bool user_provided_generator = false; - int input_sources_count = 0; - if ((*peers[i]->video_generators())[j]) { - user_provided_generator = true; - ++input_sources_count; - } - if (video_config.generator) - ++input_sources_count; - if (video_config.input_file_name) - ++input_sources_count; - if (video_config.screen_share_config) - ++input_sources_count; - if (video_config.capturing_device_index) - ++input_sources_count; - RTC_CHECK(input_sources_count == 1 || - (input_sources_count == 2 && user_provided_generator)) - << VideoConfigSourcePresenceToString(video_config, - user_provided_generator); - - if (video_config.screen_share_config) { - ValidateScreenShareConfig(video_config, - *video_config.screen_share_config); - } if (video_config.simulcast_config) { has_simulcast = true; RTC_CHECK(!video_config.max_encode_bitrate_bps)