| Index: webrtc/video/full_stack.cc
|
| diff --git a/webrtc/video/full_stack.cc b/webrtc/video/full_stack.cc
|
| index 73744e01ede3441cfcede28129131431276b9b77..276934850af8be7c7e95909d051a098d7a423031 100644
|
| --- a/webrtc/video/full_stack.cc
|
| +++ b/webrtc/video/full_stack.cc
|
| @@ -14,7 +14,7 @@
|
|
|
| namespace webrtc {
|
|
|
| -static const int kFullStackTestDurationSecs = 60;
|
| +static const int kFullStackTestDurationSecs = 45;
|
|
|
| class FullStackTest : public VideoQualityTest {
|
| public:
|
| @@ -32,12 +32,21 @@ class FullStackTest : public VideoQualityTest {
|
| RunTest(foreman_cif);
|
| }
|
|
|
| - void ForemanCifPlr5(const std::string& video_codec) {
|
| + void ForemanCifPlr5(const std::string& video_codec,
|
| + bool use_ulpfec,
|
| + bool use_flexfec) {
|
| VideoQualityTest::Params foreman_cif;
|
| foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false,
|
| - video_codec, 1, 0, 0, false, false, "", "foreman_cif"};
|
| - foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_" + video_codec, 0.0,
|
| - 0.0, kFullStackTestDurationSecs};
|
| + video_codec, 1, 0, 0, use_ulpfec, use_flexfec, "",
|
| + "foreman_cif"};
|
| + std::string fec_description;
|
| + if (use_ulpfec)
|
| + fec_description += "_ulpfec";
|
| + if (use_flexfec)
|
| + fec_description += "_flexfec";
|
| + foreman_cif.analyzer = {
|
| + "foreman_cif_delay_50_0_plr_5_" + video_codec + fec_description, 0.0,
|
| + 0.0, kFullStackTestDurationSecs};
|
| foreman_cif.pipe.loss_percent = 5;
|
| foreman_cif.pipe.queue_delay_ms = 50;
|
| RunTest(foreman_cif);
|
| @@ -60,7 +69,9 @@ TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) {
|
| }
|
|
|
| TEST_F(FullStackTest, ForemanCifPlr5Vp9) {
|
| - ForemanCifPlr5("VP9");
|
| + const bool kUlpfec = false;
|
| + const bool kFlexfec = false;
|
| + ForemanCifPlr5("VP9", kUlpfec, kFlexfec);
|
| }
|
| #endif // !defined(RTC_DISABLE_VP9)
|
|
|
| @@ -97,6 +108,33 @@ TEST_F(FullStackTest, ForemanCifPlr5) {
|
| RunTest(foreman_cif);
|
| }
|
|
|
| +#if defined(WEBRTC_USE_H264)
|
| +TEST_F(FullStackTest, ForemanCifWithoutPacketlossH264) {
|
| + ForemanCifWithoutPacketLoss("H264");
|
| +}
|
| +
|
| +TEST_F(FullStackTest, ForemanCifPlr5H264) {
|
| + const bool kUlpfec = false;
|
| + const bool kFlexfec = false;
|
| + ForemanCifPlr5("H264", kUlpfec, kFlexfec);
|
| +}
|
| +
|
| +// Verify that this is worth the bot time, before enabling.
|
| +TEST_F(FullStackTest, ForemanCifPlr5H264Flexfec) {
|
| + const bool kUlpfec = false;
|
| + const bool kFlexfec = true;
|
| + ForemanCifPlr5("H264", kUlpfec, kFlexfec);
|
| +}
|
| +
|
| +// Ulpfec with H264 is an unsupported combination, so this test is only useful
|
| +// for debugging. It is therefore disabled by default.
|
| +TEST_F(FullStackTest, DISABLED_ForemanCifPlr5H264Ulpfec) {
|
| + const bool kUlpfec = true;
|
| + const bool kFlexfec = false;
|
| + ForemanCifPlr5("H264", kUlpfec, kFlexfec);
|
| +}
|
| +#endif // defined(WEBRTC_USE_H264)
|
| +
|
| TEST_F(FullStackTest, ForemanCif500kbps) {
|
| VideoQualityTest::Params foreman_cif;
|
| foreman_cif.call.send_side_bwe = true;
|
|
|