Pass frame generator to the AddVideoConfig method in the pc framework tests.

Bug: webrtc:11534
Change-Id: Id68feca50611f412897ddef3d43b811a224b200f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174023
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31167}
This commit is contained in:
Andrey Logvin 2020-05-05 10:33:01 +00:00 committed by Commit Bot
parent 421088815f
commit c064467b32
7 changed files with 170 additions and 110 deletions

View File

@ -172,11 +172,14 @@ class PeerConnectionE2EQualityTestFixture {
absl::optional<std::string> stream_label;
// You can specify one of |generator|, |input_file_name|,
// |screen_share_config| and |capturing_device_index|.
// If none of them are specified:
// * If config is added to the PeerConfigurer without specifying any video
// source, then |generator| will be set to VideoGeneratorType::kDefault.
// * If config is added with own video source implementation, then that
// video source will be used.
// 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<VideoGeneratorType> generator;

View File

@ -426,6 +426,7 @@ if (rtc_include_tests) {
":network_quality_metrics_reporter",
"../../../api:callfactory_api",
"../../../api:create_network_emulation_manager",
"../../../api:create_peer_connection_quality_test_frame_generator",
"../../../api:create_peerconnection_quality_test_fixture",
"../../../api:libjingle_peerconnection_api",
"../../../api:network_emulation_manager_api",

View File

@ -112,9 +112,7 @@ std::unique_ptr<test::TestVideoCapturer> MediaHelper::CreateVideoCapturer(
std::unique_ptr<test::FrameGeneratorInterface> frame_generator = nullptr;
if (generator) {
frame_generator = std::move(generator);
}
if (video_config.generator) {
} else if (video_config.generator) {
absl::optional<test::FrameGeneratorInterface::OutputType>
frame_generator_type = absl::nullopt;
if (video_config.generator == VideoGeneratorType::kDefault) {
@ -128,14 +126,12 @@ std::unique_ptr<test::TestVideoCapturer> MediaHelper::CreateVideoCapturer(
test::CreateSquareFrameGenerator(static_cast<int>(video_config.width),
static_cast<int>(video_config.height),
frame_generator_type, absl::nullopt);
}
if (video_config.input_file_name) {
} else if (video_config.input_file_name) {
frame_generator = test::CreateFromYuvFileFrameGenerator(
std::vector<std::string>(/*count=*/1,
video_config.input_file_name.value()),
video_config.width, video_config.height, /*frame_repeat_count=*/1);
}
if (video_config.screen_share_config) {
} else if (video_config.screen_share_config) {
frame_generator = CreateScreenShareFrameGenerator(
video_config, *video_config.screen_share_config);
}

View File

@ -118,7 +118,12 @@ void ValidateParams(
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)
@ -127,12 +132,11 @@ void ValidateParams(
++input_sources_count;
if (video_config.capturing_device_index)
++input_sources_count;
if ((*peers[i]->video_generators())[j])
++input_sources_count;
// TODO(titovartem) handle video_generators case properly
RTC_CHECK_EQ(input_sources_count, 1) << VideoConfigSourcePresenceToString(
video_config, (*peers[i]->video_generators())[j] != nullptr);
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,

View File

@ -12,6 +12,7 @@
#include <memory>
#include "api/test/create_network_emulation_manager.h"
#include "api/test/create_peer_connection_quality_test_frame_generator.h"
#include "api/test/create_peerconnection_quality_test_fixture.h"
#include "api/test/network_emulation_manager.h"
#include "api/test/peerconnection_quality_test_fixture.h"
@ -149,7 +150,8 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Smoke) {
VideoConfig video(640, 360, 30);
video.stream_label = "alice-video";
video.sync_group = "alice-media";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateSquareFrameGenerator(video, absl::nullopt);
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
AudioConfig audio;
audio.stream_label = "alice-audio";
@ -164,7 +166,8 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Smoke) {
VideoConfig video(640, 360, 30);
video.stream_label = "bob-video";
video.temporal_layers_count = 2;
bob->AddVideoConfig(std::move(video));
auto frame_generator = CreateSquareFrameGenerator(video, absl::nullopt);
bob->AddVideoConfig(std::move(video), std::move(frame_generator));
VideoConfig screenshare(640, 360, 30);
screenshare.stream_label = "bob-screenshare";
@ -172,7 +175,10 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Smoke) {
ScreenShareConfig(TimeDelta::Seconds(2));
screenshare.screen_share_config->scrolling_params = ScrollingParams(
TimeDelta::Millis(1800), kDefaultSlidesWidth, kDefaultSlidesHeight);
bob->AddVideoConfig(screenshare);
auto screen_share_frame_generator = CreateScreenShareFrameGenerator(
screenshare, *screenshare.screen_share_config);
bob->AddVideoConfig(std::move(screenshare),
std::move(screen_share_frame_generator));
AudioConfig audio;
audio.stream_label = "bob-audio";
@ -228,7 +234,9 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Simulcast) {
VideoConfig simulcast(1280, 720, 30);
simulcast.stream_label = "alice-simulcast";
simulcast.simulcast_config = VideoSimulcastConfig(3, 0);
alice->AddVideoConfig(std::move(simulcast));
auto frame_generator =
CreateSquareFrameGenerator(simulcast, absl::nullopt);
alice->AddVideoConfig(std::move(simulcast), std::move(frame_generator));
AudioConfig audio;
audio.stream_label = "alice-audio";
@ -240,7 +248,8 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Simulcast) {
[](PeerConfigurer* bob) {
VideoConfig video(640, 360, 30);
video.stream_label = "bob-video";
bob->AddVideoConfig(std::move(video));
auto frame_generator = CreateSquareFrameGenerator(video, absl::nullopt);
bob->AddVideoConfig(std::move(video), std::move(frame_generator));
AudioConfig audio;
audio.stream_label = "bob-audio";
@ -268,7 +277,9 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Svc) {
// Because we have network with packets loss we can analyze only the
// highest spatial layer in SVC mode.
simulcast.simulcast_config = VideoSimulcastConfig(3, 2);
alice->AddVideoConfig(std::move(simulcast));
auto frame_generator =
CreateSquareFrameGenerator(simulcast, absl::nullopt);
alice->AddVideoConfig(std::move(simulcast), std::move(frame_generator));
AudioConfig audio;
audio.stream_label = "alice-audio";
@ -280,7 +291,8 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_Svc) {
[](PeerConfigurer* bob) {
VideoConfig video(640, 360, 30);
video.stream_label = "bob-video";
bob->AddVideoConfig(std::move(video));
auto frame_generator = CreateSquareFrameGenerator(video, absl::nullopt);
bob->AddVideoConfig(std::move(video), std::move(frame_generator));
AudioConfig audio;
audio.stream_label = "bob-audio";
@ -313,7 +325,8 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_HighBitrate) {
video.stream_label = "alice-video";
video.min_encode_bitrate_bps = 500'000;
video.max_encode_bitrate_bps = 3'000'000;
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateSquareFrameGenerator(video, absl::nullopt);
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
AudioConfig audio;
audio.stream_label = "alice-audio";
@ -332,7 +345,8 @@ TEST_F(PeerConnectionE2EQualityTestSmokeTest, MAYBE_HighBitrate) {
video.stream_label = "bob-video";
video.min_encode_bitrate_bps = 500'000;
video.max_encode_bitrate_bps = 3'000'000;
bob->AddVideoConfig(std::move(video));
auto frame_generator = CreateSquareFrameGenerator(video, absl::nullopt);
bob->AddVideoConfig(std::move(video), std::move(frame_generator));
AudioConfig audio;
audio.stream_label = "bob-audio";

View File

@ -368,7 +368,9 @@ if (rtc_include_tests) {
sources = [ "pc_full_stack_tests.cc" ]
deps = [
"../api:create_network_emulation_manager",
"../api:create_peer_connection_quality_test_frame_generator",
"../api:create_peerconnection_quality_test_fixture",
"../api:frame_generator_api",
"../api:network_emulation_manager_api",
"../api:peer_connection_quality_test_fixture_api",
"../api:simulated_network_api",

View File

@ -13,7 +13,9 @@
#include <vector>
#include "api/test/create_network_emulation_manager.h"
#include "api/test/create_peer_connection_quality_test_frame_generator.h"
#include "api/test/create_peerconnection_quality_test_fixture.h"
#include "api/test/frame_generator_interface.h"
#include "api/test/network_emulation_manager.h"
#include "api/test/peerconnection_quality_test_fixture.h"
#include "api/test/simulated_network.h"
@ -133,9 +135,10 @@ TEST(PCFullStackTest, ForemanCifWithoutPacketLossVp9) {
BuiltInNetworkBehaviorConfig()),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -158,9 +161,10 @@ TEST_P(PCGenericDescriptorTest, ForemanCifPlr5Vp9) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -191,9 +195,10 @@ TEST(PCFullStackTest, MAYBE_GeneratorWithoutPacketLossVp9Profile2) {
BuiltInNetworkBehaviorConfig()),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.generator = VideoGeneratorType::kI010;
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateSquareFrameGenerator(
video, test::FrameGeneratorInterface::OutputType::kI010);
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -246,9 +251,10 @@ TEST(PCFullStackTest, ParisQcifWithoutPacketLoss) {
BuiltInNetworkBehaviorConfig()),
[](PeerConfigurer* alice) {
VideoConfig video(176, 144, 30);
video.input_file_name = ClipNameToClipPath("paris_qcif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("paris_qcif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -267,9 +273,10 @@ TEST_P(PCGenericDescriptorTest, ForemanCifWithoutPacketLoss) {
BuiltInNetworkBehaviorConfig()),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -288,9 +295,10 @@ TEST_P(PCGenericDescriptorTest, ForemanCif30kbpsWithoutPacketLoss) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 10);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
PeerConnectionInterface::BitrateParameters bitrate_params;
bitrate_params.min_bitrate_bps = 30000;
@ -320,9 +328,10 @@ TEST_P(PCGenericDescriptorTest,
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 10);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
PeerConnectionInterface::BitrateParameters bitrate_params;
bitrate_params.min_bitrate_bps = 30000;
@ -349,9 +358,10 @@ TEST(PCFullStackTest, ForemanCifLink150kbpsWithoutPacketLoss) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -373,9 +383,10 @@ TEST(PCFullStackTest, ForemanCifLink130kbps100msDelay1PercentPacketLossUlpfec) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -397,9 +408,10 @@ TEST(PCFullStackTest, ForemanCifLink50kbps100msDelay1PercentPacketLossUlpfec) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -422,9 +434,10 @@ TEST(PCFullStackTest, ForemanCifLink150kbpsBadRateController) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -452,9 +465,10 @@ TEST(PCFullStackTest, ForemanCifMediaCapacitySmallLossAndQueue) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -476,9 +490,10 @@ TEST_P(PCGenericDescriptorTest, ForemanCifPlr5) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -499,9 +514,10 @@ TEST_P(PCGenericDescriptorTest, ForemanCifPlr5Ulpfec) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -522,9 +538,10 @@ TEST(PCFullStackTest, ForemanCifPlr5Flexfec) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -546,9 +563,10 @@ TEST(PCFullStackTest, ForemanCif500kbpsPlr3Flexfec) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -570,9 +588,10 @@ TEST(PCFullStackTest, ForemanCif500kbpsPlr3Ulpfec) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -592,9 +611,10 @@ TEST(PCFullStackTest, ForemanCifWithoutPacketlossH264) {
BuiltInNetworkBehaviorConfig()),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -613,9 +633,10 @@ TEST(PCFullStackTest, ForemanCif30kbpsWithoutPacketlossH264) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 10);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
PeerConnectionInterface::BitrateParameters bitrate_params;
bitrate_params.min_bitrate_bps = 30000;
@ -642,9 +663,10 @@ TEST_P(PCGenericDescriptorTest, ForemanCifPlr5H264) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -668,9 +690,10 @@ TEST(PCFullStackTest, ForemanCifPlr5H264SpsPpsIdrIsKeyframe) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -691,9 +714,10 @@ TEST(PCFullStackTest, ForemanCifPlr5H264Flexfec) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -716,9 +740,10 @@ TEST(PCFullStackTest, DISABLED_ForemanCifPlr5H264Ulpfec) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -741,9 +766,10 @@ TEST(PCFullStackTest, ForemanCif500kbps) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -765,9 +791,10 @@ TEST(PCFullStackTest, ForemanCif500kbpsLimitedQueue) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -789,9 +816,10 @@ TEST(PCFullStackTest, ForemanCif500kbps100ms) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -813,9 +841,10 @@ TEST_P(PCGenericDescriptorTest, ForemanCif500kbps100msLimitedQueue) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -858,9 +887,10 @@ TEST(PCFullStackTest, ForemanCif1000kbps100msLimitedQueue) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(352, 288, 30);
video.input_file_name = ClipNameToClipPath("foreman_cif");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("foreman_cif"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -883,10 +913,10 @@ TEST(PCFullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(1280, 720, 50);
video.input_file_name =
ClipNameToClipPath("ConferenceMotion_1280_720_50");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("ConferenceMotion_1280_720_50"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -912,10 +942,10 @@ TEST(PCFullStackTest, ConferenceMotionHd1TLModerateLimitsWhitelistVp8) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(1280, 720, 50);
video.input_file_name =
ClipNameToClipPath("ConferenceMotion_1280_720_50");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("ConferenceMotion_1280_720_50"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -1064,10 +1094,10 @@ TEST(PCFullStackTest, ConferenceMotionHd2000kbps100msLimitedQueueVP9) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(1280, 720, 50);
video.input_file_name =
ClipNameToClipPath("ConferenceMotion_1280_720_50");
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("ConferenceMotion_1280_720_50"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -1091,7 +1121,9 @@ TEST(PCFullStackTest, ScreenshareSlidesVP8_2TL_NoConferenceMode) {
VideoConfig video(1850, 1110, 5);
video.screen_share_config = ScreenShareConfig(TimeDelta::Seconds(10));
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator =
CreateScreenShareFrameGenerator(video, *video.screen_share_config);
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -1112,7 +1144,9 @@ TEST(PCFullStackTest, ScreenshareSlidesVP8_2TL) {
VideoConfig video(1850, 1110, 5);
video.screen_share_config = ScreenShareConfig(TimeDelta::Seconds(10));
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator =
CreateScreenShareFrameGenerator(video, *video.screen_share_config);
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -1138,7 +1172,9 @@ TEST(PCFullStackTest, ScreenshareSlidesVP8_2TL_Simulcast_NoConferenceMode) {
video.simulcast_config = VideoSimulcastConfig(2, 1);
video.temporal_layers_count = 2;
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator =
CreateScreenShareFrameGenerator(video, *video.screen_share_config);
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -1161,7 +1197,9 @@ TEST(PCFullStackTest, ScreenshareSlidesVP8_2TL_Simulcast) {
video.simulcast_config = VideoSimulcastConfig(2, 1);
video.temporal_layers_count = 2;
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator =
CreateScreenShareFrameGenerator(video, *video.screen_share_config);
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -1399,7 +1437,9 @@ TEST(PCFullStackTest, ScreenshareSlidesVP9_3SL_High_Fps) {
video.stream_label = "alice-video";
video.screen_share_config = ScreenShareConfig(TimeDelta::Seconds(10));
video.simulcast_config = VideoSimulcastConfig(3, 2);
alice->AddVideoConfig(std::move(video));
auto frame_generator =
CreateScreenShareFrameGenerator(video, *video.screen_share_config);
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -1424,11 +1464,11 @@ TEST(PCFullStackTest, VP9SVC_3SL_High) {
[](PeerConfigurer* alice) {
VideoConfig video(1280, 720, 30);
video.stream_label = "alice-video";
video.input_file_name =
ClipNameToClipPath("ConferenceMotion_1280_720_50");
video.simulcast_config = VideoSimulcastConfig(3, 2);
video.temporal_layers_count = 3;
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("ConferenceMotion_1280_720_50"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -1453,11 +1493,11 @@ TEST(PCFullStackTest, VP9SVC_3SL_Low) {
[](PeerConfigurer* alice) {
VideoConfig video(1280, 720, 30);
video.stream_label = "alice-video";
video.input_file_name =
ClipNameToClipPath("ConferenceMotion_1280_720_50");
video.simulcast_config = VideoSimulcastConfig(3, 0);
video.temporal_layers_count = 3;
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("ConferenceMotion_1280_720_50"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -1582,11 +1622,11 @@ TEST(PCFullStackTest, MAYBE_SimulcastFullHdOveruse) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(1920, 1080, 30);
video.generator = VideoGeneratorType::kDefault;
video.simulcast_config = VideoSimulcastConfig(3, 2);
video.temporal_layers_count = 3;
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateSquareFrameGenerator(video, absl::nullopt);
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -1607,11 +1647,11 @@ TEST(PCFullStackTest, SimulcastVP8_3SL_High) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(1280, 720, 30);
video.input_file_name =
ClipNameToClipPath("ConferenceMotion_1280_720_50");
video.simulcast_config = VideoSimulcastConfig(3, 2);
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("ConferenceMotion_1280_720_50"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));
@ -1632,11 +1672,11 @@ TEST(PCFullStackTest, SimulcastVP8_3SL_Low) {
CreateTwoNetworkLinks(network_emulation_manager.get(), config),
[](PeerConfigurer* alice) {
VideoConfig video(1280, 720, 30);
video.input_file_name =
ClipNameToClipPath("ConferenceMotion_1280_720_50");
video.simulcast_config = VideoSimulcastConfig(3, 0);
video.stream_label = "alice-video";
alice->AddVideoConfig(std::move(video));
auto frame_generator = CreateFromYuvFileFrameGenerator(
video, ClipNameToClipPath("ConferenceMotion_1280_720_50"));
alice->AddVideoConfig(std::move(video), std::move(frame_generator));
},
[](PeerConfigurer* bob) {});
RunParams run_params(TimeDelta::Seconds(kTestDurationSec));