| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 #include <stdio.h> | 10 #include <stdio.h> |
| 11 | 11 |
| 12 #include <string> | |
| 13 | |
| 14 #include "modules/pacing/alr_detector.h" | 12 #include "modules/pacing/alr_detector.h" |
| 15 #include "test/field_trial.h" | 13 #include "test/field_trial.h" |
| 16 #include "test/gtest.h" | 14 #include "test/gtest.h" |
| 17 #include "video/video_quality_test.h" | 15 #include "video/video_quality_test.h" |
| 18 | 16 |
| 19 namespace webrtc { | 17 namespace webrtc { |
| 20 | 18 |
| 21 namespace { | 19 namespace { |
| 22 static const int kFullStackTestDurationSecs = 45; | 20 static const int kFullStackTestDurationSecs = 45; |
| 23 } // namespace | 21 } // namespace |
| (...skipping 20 matching lines...) Expand all Loading... |
| 44 // pipe, // FakeNetworkPipe::Config | 42 // pipe, // FakeNetworkPipe::Config |
| 45 // { ... }, // Spatial scalability. | 43 // { ... }, // Spatial scalability. |
| 46 // logs // bool | 44 // logs // bool |
| 47 // }; | 45 // }; |
| 48 | 46 |
| 49 #if !defined(RTC_DISABLE_VP9) | 47 #if !defined(RTC_DISABLE_VP9) |
| 50 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) { | 48 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) { |
| 51 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 49 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
| 52 VideoQualityTest::Params foreman_cif; | 50 VideoQualityTest::Params foreman_cif; |
| 53 foreman_cif.call.send_side_bwe = true; | 51 foreman_cif.call.send_side_bwe = true; |
| 54 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, | 52 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, |
| 55 700000, false, "VP9", false, false, 1, | 53 "VP9", 1, 0, 0, false, false, "foreman_cif"}; |
| 56 0, 0, false, false, "foreman_cif"}; | |
| 57 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_VP9", 0.0, 0.0, | 54 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_VP9", 0.0, 0.0, |
| 58 kFullStackTestDurationSecs}; | 55 kFullStackTestDurationSecs}; |
| 59 RunTest(foreman_cif); | 56 RunTest(foreman_cif); |
| 60 } | 57 } |
| 61 | 58 |
| 62 TEST_F(FullStackTest, ForemanCifPlr5Vp9) { | 59 TEST_F(FullStackTest, ForemanCifPlr5Vp9) { |
| 63 VideoQualityTest::Params foreman_cif; | 60 VideoQualityTest::Params foreman_cif; |
| 64 foreman_cif.call.send_side_bwe = true; | 61 foreman_cif.call.send_side_bwe = true; |
| 65 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 62 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 66 2000000, false, "VP9", false, false, 1, | 63 "VP9", 1, 0, 0, false, false, "foreman_cif"}; |
| 67 0, 0, false, false, "foreman_cif"}; | |
| 68 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_VP9", 0.0, 0.0, | 64 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_VP9", 0.0, 0.0, |
| 69 kFullStackTestDurationSecs}; | 65 kFullStackTestDurationSecs}; |
| 70 foreman_cif.pipe.loss_percent = 5; | 66 foreman_cif.pipe.loss_percent = 5; |
| 71 foreman_cif.pipe.queue_delay_ms = 50; | 67 foreman_cif.pipe.queue_delay_ms = 50; |
| 72 RunTest(foreman_cif); | 68 RunTest(foreman_cif); |
| 73 } | 69 } |
| 74 #endif // !defined(RTC_DISABLE_VP9) | 70 #endif // !defined(RTC_DISABLE_VP9) |
| 75 | 71 |
| 76 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { | 72 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { |
| 77 VideoQualityTest::Params paris_qcif; | 73 VideoQualityTest::Params paris_qcif; |
| 78 paris_qcif.call.send_side_bwe = true; | 74 paris_qcif.call.send_side_bwe = true; |
| 79 paris_qcif.video = {true, 176, 144, 30, 300000, 300000, | 75 paris_qcif.video = {true, 176, 144, 30, 300000, 300000, 300000, false, |
| 80 300000, false, "VP8", false, false, 1, | 76 "VP8", 1, 0, 0, false, false, "paris_qcif"}; |
| 81 0, 0, false, false, "paris_qcif"}; | |
| 82 paris_qcif.analyzer = {"net_delay_0_0_plr_0", 36.0, 0.96, | 77 paris_qcif.analyzer = {"net_delay_0_0_plr_0", 36.0, 0.96, |
| 83 kFullStackTestDurationSecs}; | 78 kFullStackTestDurationSecs}; |
| 84 RunTest(paris_qcif); | 79 RunTest(paris_qcif); |
| 85 } | 80 } |
| 86 | 81 |
| 87 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { | 82 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { |
| 88 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 83 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
| 89 VideoQualityTest::Params foreman_cif; | 84 VideoQualityTest::Params foreman_cif; |
| 90 foreman_cif.call.send_side_bwe = true; | 85 foreman_cif.call.send_side_bwe = true; |
| 91 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, | 86 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, |
| 92 700000, false, "VP8", false, false, 1, | 87 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 93 0, 0, false, false, "foreman_cif"}; | |
| 94 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0, | 88 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0, |
| 95 kFullStackTestDurationSecs}; | 89 kFullStackTestDurationSecs}; |
| 96 RunTest(foreman_cif); | 90 RunTest(foreman_cif); |
| 97 } | 91 } |
| 98 | 92 |
| 99 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketLoss) { | 93 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketLoss) { |
| 100 VideoQualityTest::Params foreman_cif; | 94 VideoQualityTest::Params foreman_cif; |
| 101 foreman_cif.call.send_side_bwe = true; | 95 foreman_cif.call.send_side_bwe = true; |
| 102 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, | 96 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false, |
| 103 30000, false, "VP8", false, false, 1, | 97 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 104 0, 0, false, false, "foreman_cif"}; | |
| 105 foreman_cif.analyzer = {"foreman_cif_30kbps_net_delay_0_0_plr_0", 0.0, 0.0, | 98 foreman_cif.analyzer = {"foreman_cif_30kbps_net_delay_0_0_plr_0", 0.0, 0.0, |
| 106 kFullStackTestDurationSecs}; | 99 kFullStackTestDurationSecs}; |
| 107 RunTest(foreman_cif); | 100 RunTest(foreman_cif); |
| 108 } | 101 } |
| 109 | 102 |
| 110 TEST_F(FullStackTest, ForemanCifPlr5) { | 103 TEST_F(FullStackTest, ForemanCifPlr5) { |
| 111 VideoQualityTest::Params foreman_cif; | 104 VideoQualityTest::Params foreman_cif; |
| 112 foreman_cif.call.send_side_bwe = true; | 105 foreman_cif.call.send_side_bwe = true; |
| 113 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 106 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 114 2000000, false, "VP8", false, false, 1, | 107 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 115 0, 0, false, false, "foreman_cif"}; | |
| 116 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0, | 108 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0, |
| 117 kFullStackTestDurationSecs}; | 109 kFullStackTestDurationSecs}; |
| 118 foreman_cif.pipe.loss_percent = 5; | 110 foreman_cif.pipe.loss_percent = 5; |
| 119 foreman_cif.pipe.queue_delay_ms = 50; | 111 foreman_cif.pipe.queue_delay_ms = 50; |
| 120 RunTest(foreman_cif); | 112 RunTest(foreman_cif); |
| 121 } | 113 } |
| 122 | 114 |
| 123 TEST_F(FullStackTest, ForemanCifPlr5Ulpfec) { | 115 TEST_F(FullStackTest, ForemanCifPlr5Ulpfec) { |
| 124 VideoQualityTest::Params foreman_cif; | 116 VideoQualityTest::Params foreman_cif; |
| 125 foreman_cif.call.send_side_bwe = true; | 117 foreman_cif.call.send_side_bwe = true; |
| 126 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 118 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 127 2000000, false, "VP8", false, false, 1, | 119 "VP8", 1, 0, 0, true, false, "foreman_cif"}; |
| 128 0, 0, true, false, "foreman_cif"}; | |
| 129 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_ulpfec", 0.0, 0.0, | 120 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_ulpfec", 0.0, 0.0, |
| 130 kFullStackTestDurationSecs}; | 121 kFullStackTestDurationSecs}; |
| 131 foreman_cif.pipe.loss_percent = 5; | 122 foreman_cif.pipe.loss_percent = 5; |
| 132 foreman_cif.pipe.queue_delay_ms = 50; | 123 foreman_cif.pipe.queue_delay_ms = 50; |
| 133 RunTest(foreman_cif); | 124 RunTest(foreman_cif); |
| 134 } | 125 } |
| 135 | 126 |
| 136 TEST_F(FullStackTest, ForemanCifPlr5Flexfec) { | 127 TEST_F(FullStackTest, ForemanCifPlr5Flexfec) { |
| 137 VideoQualityTest::Params foreman_cif; | 128 VideoQualityTest::Params foreman_cif; |
| 138 foreman_cif.call.send_side_bwe = true; | 129 foreman_cif.call.send_side_bwe = true; |
| 139 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 130 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 140 2000000, false, "VP8", false, false, 1, | 131 "VP8", 1, 0, 0, false, true, "foreman_cif"}; |
| 141 0, 0, false, true, "foreman_cif"}; | |
| 142 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_flexfec", 0.0, 0.0, | 132 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_flexfec", 0.0, 0.0, |
| 143 kFullStackTestDurationSecs}; | 133 kFullStackTestDurationSecs}; |
| 144 foreman_cif.pipe.loss_percent = 5; | 134 foreman_cif.pipe.loss_percent = 5; |
| 145 foreman_cif.pipe.queue_delay_ms = 50; | 135 foreman_cif.pipe.queue_delay_ms = 50; |
| 146 RunTest(foreman_cif); | 136 RunTest(foreman_cif); |
| 147 } | 137 } |
| 148 | 138 |
| 149 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Flexfec) { | 139 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Flexfec) { |
| 150 VideoQualityTest::Params foreman_cif; | 140 VideoQualityTest::Params foreman_cif; |
| 151 foreman_cif.call.send_side_bwe = true; | 141 foreman_cif.call.send_side_bwe = true; |
| 152 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 142 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 153 2000000, false, "VP8", false, false, 1, | 143 "VP8", 1, 0, 0, false, true, "foreman_cif"}; |
| 154 0, 0, false, true, "foreman_cif"}; | |
| 155 foreman_cif.analyzer = {"foreman_cif_500kbps_delay_50_0_plr_3_flexfec", 0.0, | 144 foreman_cif.analyzer = {"foreman_cif_500kbps_delay_50_0_plr_3_flexfec", 0.0, |
| 156 0.0, kFullStackTestDurationSecs}; | 145 0.0, kFullStackTestDurationSecs}; |
| 157 foreman_cif.pipe.loss_percent = 3; | 146 foreman_cif.pipe.loss_percent = 3; |
| 158 foreman_cif.pipe.link_capacity_kbps = 500; | 147 foreman_cif.pipe.link_capacity_kbps = 500; |
| 159 foreman_cif.pipe.queue_delay_ms = 50; | 148 foreman_cif.pipe.queue_delay_ms = 50; |
| 160 RunTest(foreman_cif); | 149 RunTest(foreman_cif); |
| 161 } | 150 } |
| 162 | 151 |
| 163 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Ulpfec) { | 152 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Ulpfec) { |
| 164 VideoQualityTest::Params foreman_cif; | 153 VideoQualityTest::Params foreman_cif; |
| 165 foreman_cif.call.send_side_bwe = true; | 154 foreman_cif.call.send_side_bwe = true; |
| 166 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 155 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 167 2000000, false, "VP8", false, false, 1, | 156 "VP8", 1, 0, 0, true, false, "foreman_cif"}; |
| 168 0, 0, true, false, "foreman_cif"}; | |
| 169 foreman_cif.analyzer = {"foreman_cif_500kbps_delay_50_0_plr_3_ulpfec", 0.0, | 157 foreman_cif.analyzer = {"foreman_cif_500kbps_delay_50_0_plr_3_ulpfec", 0.0, |
| 170 0.0, kFullStackTestDurationSecs}; | 158 0.0, kFullStackTestDurationSecs}; |
| 171 foreman_cif.pipe.loss_percent = 3; | 159 foreman_cif.pipe.loss_percent = 3; |
| 172 foreman_cif.pipe.link_capacity_kbps = 500; | 160 foreman_cif.pipe.link_capacity_kbps = 500; |
| 173 foreman_cif.pipe.queue_delay_ms = 50; | 161 foreman_cif.pipe.queue_delay_ms = 50; |
| 174 RunTest(foreman_cif); | 162 RunTest(foreman_cif); |
| 175 } | 163 } |
| 176 | 164 |
| 177 #if defined(WEBRTC_USE_H264) | 165 #if defined(WEBRTC_USE_H264) |
| 178 TEST_F(FullStackTest, ForemanCifWithoutPacketlossH264) { | 166 TEST_F(FullStackTest, ForemanCifWithoutPacketlossH264) { |
| 179 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 167 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
| 180 VideoQualityTest::Params foreman_cif; | 168 VideoQualityTest::Params foreman_cif; |
| 181 foreman_cif.call.send_side_bwe = true; | 169 foreman_cif.call.send_side_bwe = true; |
| 182 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, | 170 foreman_cif.video = {true, 352, 288, 30, 700000, |
| 183 700000, false, "H264", false, false, 1, | 171 700000, 700000, false, "H264", 1, |
| 184 0, 0, false, false, "foreman_cif"}; | 172 0, 0, false, false, "foreman_cif"}; |
| 185 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_H264", 0.0, 0.0, | 173 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_H264", 0.0, 0.0, |
| 186 kFullStackTestDurationSecs}; | 174 kFullStackTestDurationSecs}; |
| 187 RunTest(foreman_cif); | 175 RunTest(foreman_cif); |
| 188 } | 176 } |
| 189 | 177 |
| 190 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketlossH264) { | 178 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketlossH264) { |
| 191 VideoQualityTest::Params foreman_cif; | 179 VideoQualityTest::Params foreman_cif; |
| 192 foreman_cif.call.send_side_bwe = true; | 180 foreman_cif.call.send_side_bwe = true; |
| 193 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, | 181 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false, |
| 194 30000, false, "H264", false, false, 1, | 182 "H264", 1, 0, 0, false, false, "foreman_cif"}; |
| 195 0, 0, false, false, "foreman_cif"}; | |
| 196 foreman_cif.analyzer = {"foreman_cif_30kbps_net_delay_0_0_plr_0_H264", 0.0, | 183 foreman_cif.analyzer = {"foreman_cif_30kbps_net_delay_0_0_plr_0_H264", 0.0, |
| 197 0.0, kFullStackTestDurationSecs}; | 184 0.0, kFullStackTestDurationSecs}; |
| 198 RunTest(foreman_cif); | 185 RunTest(foreman_cif); |
| 199 } | 186 } |
| 200 | 187 |
| 201 TEST_F(FullStackTest, ForemanCifPlr5H264) { | 188 TEST_F(FullStackTest, ForemanCifPlr5H264) { |
| 202 VideoQualityTest::Params foreman_cif; | 189 VideoQualityTest::Params foreman_cif; |
| 203 foreman_cif.call.send_side_bwe = true; | 190 foreman_cif.call.send_side_bwe = true; |
| 204 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 191 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 205 2000000, false, "H264", false, false, 1, | 192 "H264", 1, 0, 0, false, false, "foreman_cif"}; |
| 206 0, 0, false, false, "foreman_cif"}; | |
| 207 std::string fec_description; | 193 std::string fec_description; |
| 208 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264", 0.0, 0.0, | 194 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264", 0.0, 0.0, |
| 209 kFullStackTestDurationSecs}; | 195 kFullStackTestDurationSecs}; |
| 210 foreman_cif.pipe.loss_percent = 5; | 196 foreman_cif.pipe.loss_percent = 5; |
| 211 foreman_cif.pipe.queue_delay_ms = 50; | 197 foreman_cif.pipe.queue_delay_ms = 50; |
| 212 RunTest(foreman_cif); | 198 RunTest(foreman_cif); |
| 213 } | 199 } |
| 214 | 200 |
| 215 // Verify that this is worth the bot time, before enabling. | 201 // Verify that this is worth the bot time, before enabling. |
| 216 TEST_F(FullStackTest, ForemanCifPlr5H264Flexfec) { | 202 TEST_F(FullStackTest, ForemanCifPlr5H264Flexfec) { |
| 217 VideoQualityTest::Params foreman_cif; | 203 VideoQualityTest::Params foreman_cif; |
| 218 foreman_cif.call.send_side_bwe = true; | 204 foreman_cif.call.send_side_bwe = true; |
| 219 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 205 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 220 2000000, false, "H264", false, false, 1, | 206 "H264", 1, 0, 0, false, true, "foreman_cif"}; |
| 221 0, 0, false, true, "foreman_cif"}; | |
| 222 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264_flexfec", 0.0, 0.0, | 207 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264_flexfec", 0.0, 0.0, |
| 223 kFullStackTestDurationSecs}; | 208 kFullStackTestDurationSecs}; |
| 224 foreman_cif.pipe.loss_percent = 5; | 209 foreman_cif.pipe.loss_percent = 5; |
| 225 foreman_cif.pipe.queue_delay_ms = 50; | 210 foreman_cif.pipe.queue_delay_ms = 50; |
| 226 RunTest(foreman_cif); | 211 RunTest(foreman_cif); |
| 227 } | 212 } |
| 228 | 213 |
| 229 // Ulpfec with H264 is an unsupported combination, so this test is only useful | 214 // Ulpfec with H264 is an unsupported combination, so this test is only useful |
| 230 // for debugging. It is therefore disabled by default. | 215 // for debugging. It is therefore disabled by default. |
| 231 TEST_F(FullStackTest, DISABLED_ForemanCifPlr5H264Ulpfec) { | 216 TEST_F(FullStackTest, DISABLED_ForemanCifPlr5H264Ulpfec) { |
| 232 VideoQualityTest::Params foreman_cif; | 217 VideoQualityTest::Params foreman_cif; |
| 233 foreman_cif.call.send_side_bwe = true; | 218 foreman_cif.call.send_side_bwe = true; |
| 234 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 219 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 235 2000000, false, "H264", false, false, 1, | 220 "H264", 1, 0, 0, true, false, "foreman_cif"}; |
| 236 0, 0, true, false, "foreman_cif"}; | |
| 237 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264_ulpfec", 0.0, 0.0, | 221 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264_ulpfec", 0.0, 0.0, |
| 238 kFullStackTestDurationSecs}; | 222 kFullStackTestDurationSecs}; |
| 239 foreman_cif.pipe.loss_percent = 5; | 223 foreman_cif.pipe.loss_percent = 5; |
| 240 foreman_cif.pipe.queue_delay_ms = 50; | 224 foreman_cif.pipe.queue_delay_ms = 50; |
| 241 RunTest(foreman_cif); | 225 RunTest(foreman_cif); |
| 242 } | 226 } |
| 243 #endif // defined(WEBRTC_USE_H264) | 227 #endif // defined(WEBRTC_USE_H264) |
| 244 | 228 |
| 245 TEST_F(FullStackTest, ForemanCif500kbps) { | 229 TEST_F(FullStackTest, ForemanCif500kbps) { |
| 246 VideoQualityTest::Params foreman_cif; | 230 VideoQualityTest::Params foreman_cif; |
| 247 foreman_cif.call.send_side_bwe = true; | 231 foreman_cif.call.send_side_bwe = true; |
| 248 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 232 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 249 2000000, false, "VP8", false, false, 1, | 233 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 250 0, 0, false, false, "foreman_cif"}; | |
| 251 foreman_cif.analyzer = {"foreman_cif_500kbps", 0.0, 0.0, | 234 foreman_cif.analyzer = {"foreman_cif_500kbps", 0.0, 0.0, |
| 252 kFullStackTestDurationSecs}; | 235 kFullStackTestDurationSecs}; |
| 253 foreman_cif.pipe.queue_length_packets = 0; | 236 foreman_cif.pipe.queue_length_packets = 0; |
| 254 foreman_cif.pipe.queue_delay_ms = 0; | 237 foreman_cif.pipe.queue_delay_ms = 0; |
| 255 foreman_cif.pipe.link_capacity_kbps = 500; | 238 foreman_cif.pipe.link_capacity_kbps = 500; |
| 256 RunTest(foreman_cif); | 239 RunTest(foreman_cif); |
| 257 } | 240 } |
| 258 | 241 |
| 259 TEST_F(FullStackTest, ForemanSqcif30kbpsLibvpx) { | |
| 260 VideoQualityTest::Params foreman_sqcif; | |
| 261 foreman_sqcif.call.send_side_bwe = true; | |
| 262 foreman_sqcif.video = {true, 128, 96, 7, 30000, 30000, | |
| 263 2000000, false, "VP8", false, false, 1, | |
| 264 0, 0, false, false, "foreman_128x96"}; | |
| 265 foreman_sqcif.analyzer = {"foreman_sqcif_30kbps_libvpx", 0.0, 0.0, | |
| 266 kFullStackTestDurationSecs}; | |
| 267 foreman_sqcif.pipe.link_capacity_kbps = 30; | |
| 268 RunTest(foreman_sqcif); | |
| 269 } | |
| 270 | |
| 271 TEST_F(FullStackTest, Foreman240p100kbpsLibvpx) { | |
| 272 VideoQualityTest::Params foreman_240p; | |
| 273 foreman_240p.call.send_side_bwe = true; | |
| 274 foreman_240p.video = { | |
| 275 true, 320, 240, 10, 30000, 100000, 2000000, false, "VP8", false, | |
| 276 false, 1, 0, 0, false, false, "foreman_320x240"}; | |
| 277 foreman_240p.analyzer = {"foreman_240p_100kbps_libvpx", 0.0, 0.0, | |
| 278 kFullStackTestDurationSecs}; | |
| 279 foreman_240p.pipe.link_capacity_kbps = 100; | |
| 280 RunTest(foreman_240p); | |
| 281 } | |
| 282 | |
| 283 #if defined(WEBRTC_ANDROID) | |
| 284 TEST_F(FullStackTest, ForemanSqcif30kbpsMediaCodec) { | |
| 285 VideoQualityTest::Params foreman_sqcif; | |
| 286 foreman_sqcif.call.send_side_bwe = true; | |
| 287 foreman_sqcif.video = {true, 128, 96, 7, 30000, 30000, | |
| 288 2000000, false, "VP8", true, false, 1, | |
| 289 0, 0, false, false, "foreman_128x96"}; | |
| 290 foreman_sqcif.analyzer = {"foreman_sqcif_30kbps_mediacodec", 0.0, 0.0, | |
| 291 kFullStackTestDurationSecs}; | |
| 292 foreman_sqcif.pipe.link_capacity_kbps = 30; | |
| 293 RunTest(foreman_sqcif); | |
| 294 } | |
| 295 | |
| 296 TEST_F(FullStackTest, Foreman240p100kbpsMediaCodec) { | |
| 297 VideoQualityTest::Params foreman_240p; | |
| 298 foreman_240p.call.send_side_bwe = true; | |
| 299 foreman_240p.video = { | |
| 300 true, 320, 240, 10, 30000, 100000, 2000000, false, "VP8", true, | |
| 301 false, 1, 0, 0, false, false, "foreman_320x240"}; | |
| 302 foreman_240p.analyzer = {"foreman_240p_100kbps_mediacodec", 0.0, 0.0, | |
| 303 kFullStackTestDurationSecs}; | |
| 304 foreman_240p.pipe.link_capacity_kbps = 100; | |
| 305 RunTest(foreman_240p); | |
| 306 } | |
| 307 | |
| 308 TEST_F(FullStackTest, Foreman240p100kbpsMediaCodecWithForcedSwFallback) { | |
| 309 std::string field_trial = | |
| 310 "WebRTC-VP8-Forced-Fallback-Encoder/Enabled-150,175," + | |
| 311 std::to_string(1000 * kFullStackTestDurationSecs / 2) + ",19200/"; | |
| 312 test::ScopedFieldTrials override_field_trials(field_trial); | |
| 313 | |
| 314 VideoQualityTest::Params foreman_240p; | |
| 315 foreman_240p.call.send_side_bwe = true; | |
| 316 foreman_240p.video = { | |
| 317 true, 320, 240, 10, 30000, 100000, 2000000, false, "VP8", true, | |
| 318 true, 1, 0, 0, false, false, "foreman_320x240"}; | |
| 319 foreman_240p.analyzer = {"foreman_240p_100kbps_mediacodec_sw_fallback", 0.0, | |
| 320 0.0, kFullStackTestDurationSecs}; | |
| 321 foreman_240p.pipe.link_capacity_kbps = 100; | |
| 322 RunTest(foreman_240p); | |
| 323 } | |
| 324 #endif // defined(WEBRTC_ANDROID) | |
| 325 | |
| 326 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { | 242 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { |
| 327 VideoQualityTest::Params foreman_cif; | 243 VideoQualityTest::Params foreman_cif; |
| 328 foreman_cif.call.send_side_bwe = true; | 244 foreman_cif.call.send_side_bwe = true; |
| 329 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 245 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 330 2000000, false, "VP8", false, false, 1, | 246 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 331 0, 0, false, false, "foreman_cif"}; | |
| 332 foreman_cif.analyzer = {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0, | 247 foreman_cif.analyzer = {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0, |
| 333 kFullStackTestDurationSecs}; | 248 kFullStackTestDurationSecs}; |
| 334 foreman_cif.pipe.queue_length_packets = 32; | 249 foreman_cif.pipe.queue_length_packets = 32; |
| 335 foreman_cif.pipe.queue_delay_ms = 0; | 250 foreman_cif.pipe.queue_delay_ms = 0; |
| 336 foreman_cif.pipe.link_capacity_kbps = 500; | 251 foreman_cif.pipe.link_capacity_kbps = 500; |
| 337 RunTest(foreman_cif); | 252 RunTest(foreman_cif); |
| 338 } | 253 } |
| 339 | 254 |
| 340 TEST_F(FullStackTest, ForemanCif500kbps100ms) { | 255 TEST_F(FullStackTest, ForemanCif500kbps100ms) { |
| 341 VideoQualityTest::Params foreman_cif; | 256 VideoQualityTest::Params foreman_cif; |
| 342 foreman_cif.call.send_side_bwe = true; | 257 foreman_cif.call.send_side_bwe = true; |
| 343 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 258 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 344 2000000, false, "VP8", false, false, 1, | 259 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 345 0, 0, false, false, "foreman_cif"}; | |
| 346 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms", 0.0, 0.0, | 260 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms", 0.0, 0.0, |
| 347 kFullStackTestDurationSecs}; | 261 kFullStackTestDurationSecs}; |
| 348 foreman_cif.pipe.queue_length_packets = 0; | 262 foreman_cif.pipe.queue_length_packets = 0; |
| 349 foreman_cif.pipe.queue_delay_ms = 100; | 263 foreman_cif.pipe.queue_delay_ms = 100; |
| 350 foreman_cif.pipe.link_capacity_kbps = 500; | 264 foreman_cif.pipe.link_capacity_kbps = 500; |
| 351 RunTest(foreman_cif); | 265 RunTest(foreman_cif); |
| 352 } | 266 } |
| 353 | 267 |
| 354 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { | 268 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { |
| 355 VideoQualityTest::Params foreman_cif; | 269 VideoQualityTest::Params foreman_cif; |
| 356 foreman_cif.call.send_side_bwe = true; | 270 foreman_cif.call.send_side_bwe = true; |
| 357 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 271 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 358 2000000, false, "VP8", false, false, 1, | 272 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 359 0, 0, false, false, "foreman_cif"}; | |
| 360 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, | 273 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, |
| 361 kFullStackTestDurationSecs}; | 274 kFullStackTestDurationSecs}; |
| 362 foreman_cif.pipe.queue_length_packets = 32; | 275 foreman_cif.pipe.queue_length_packets = 32; |
| 363 foreman_cif.pipe.queue_delay_ms = 100; | 276 foreman_cif.pipe.queue_delay_ms = 100; |
| 364 foreman_cif.pipe.link_capacity_kbps = 500; | 277 foreman_cif.pipe.link_capacity_kbps = 500; |
| 365 RunTest(foreman_cif); | 278 RunTest(foreman_cif); |
| 366 } | 279 } |
| 367 | 280 |
| 368 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) { | 281 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) { |
| 369 VideoQualityTest::Params foreman_cif; | 282 VideoQualityTest::Params foreman_cif; |
| 370 foreman_cif.call.send_side_bwe = false; | 283 foreman_cif.call.send_side_bwe = false; |
| 371 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, | 284 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 372 2000000, false, "VP8", false, false, 1, | 285 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 373 0, 0, false, false, "foreman_cif"}; | |
| 374 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue_recv_bwe", | 286 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue_recv_bwe", |
| 375 0.0, 0.0, kFullStackTestDurationSecs}; | 287 0.0, 0.0, kFullStackTestDurationSecs}; |
| 376 foreman_cif.pipe.queue_length_packets = 32; | 288 foreman_cif.pipe.queue_length_packets = 32; |
| 377 foreman_cif.pipe.queue_delay_ms = 100; | 289 foreman_cif.pipe.queue_delay_ms = 100; |
| 378 foreman_cif.pipe.link_capacity_kbps = 500; | 290 foreman_cif.pipe.link_capacity_kbps = 500; |
| 379 RunTest(foreman_cif); | 291 RunTest(foreman_cif); |
| 380 } | 292 } |
| 381 | 293 |
| 382 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { | 294 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { |
| 383 VideoQualityTest::Params foreman_cif; | 295 VideoQualityTest::Params foreman_cif; |
| 384 foreman_cif.call.send_side_bwe = true; | 296 foreman_cif.call.send_side_bwe = true; |
| 385 foreman_cif.video = {true, 352, 288, 30, 30000, 2000000, | 297 foreman_cif.video = {true, 352, 288, 30, 30000, 2000000, 2000000, false, |
| 386 2000000, false, "VP8", false, false, 1, | 298 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 387 0, 0, false, false, "foreman_cif"}; | |
| 388 foreman_cif.analyzer = {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0, | 299 foreman_cif.analyzer = {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0, |
| 389 kFullStackTestDurationSecs}; | 300 kFullStackTestDurationSecs}; |
| 390 foreman_cif.pipe.queue_length_packets = 32; | 301 foreman_cif.pipe.queue_length_packets = 32; |
| 391 foreman_cif.pipe.queue_delay_ms = 100; | 302 foreman_cif.pipe.queue_delay_ms = 100; |
| 392 foreman_cif.pipe.link_capacity_kbps = 1000; | 303 foreman_cif.pipe.link_capacity_kbps = 1000; |
| 393 RunTest(foreman_cif); | 304 RunTest(foreman_cif); |
| 394 } | 305 } |
| 395 | 306 |
| 396 // TODO(sprang): Remove this if we have the similar ModerateLimits below? | 307 // TODO(sprang): Remove this if we have the similar ModerateLimits below? |
| 397 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) { | 308 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) { |
| 398 VideoQualityTest::Params conf_motion_hd; | 309 VideoQualityTest::Params conf_motion_hd; |
| 399 conf_motion_hd.call.send_side_bwe = true; | 310 conf_motion_hd.call.send_side_bwe = true; |
| 400 conf_motion_hd.video = {true, | 311 conf_motion_hd.video = { |
| 401 1280, | 312 true, 1280, 720, 50, 30000, |
| 402 720, | 313 3000000, 3000000, false, "VP8", 1, |
| 403 50, | 314 0, 0, false, false, "ConferenceMotion_1280_720_50"}; |
| 404 30000, | |
| 405 3000000, | |
| 406 3000000, | |
| 407 false, | |
| 408 "VP8", | |
| 409 false, | |
| 410 false, | |
| 411 1, | |
| 412 0, | |
| 413 0, | |
| 414 false, | |
| 415 false, | |
| 416 "ConferenceMotion_1280_720_50"}; | |
| 417 conf_motion_hd.analyzer = {"conference_motion_hd_2000kbps_100ms_32pkts_queue", | 315 conf_motion_hd.analyzer = {"conference_motion_hd_2000kbps_100ms_32pkts_queue", |
| 418 0.0, 0.0, kFullStackTestDurationSecs}; | 316 0.0, 0.0, kFullStackTestDurationSecs}; |
| 419 conf_motion_hd.pipe.queue_length_packets = 32; | 317 conf_motion_hd.pipe.queue_length_packets = 32; |
| 420 conf_motion_hd.pipe.queue_delay_ms = 100; | 318 conf_motion_hd.pipe.queue_delay_ms = 100; |
| 421 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 319 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
| 422 RunTest(conf_motion_hd); | 320 RunTest(conf_motion_hd); |
| 423 } | 321 } |
| 424 | 322 |
| 425 TEST_F(FullStackTest, ConferenceMotionHd1TLModerateLimits) { | 323 TEST_F(FullStackTest, ConferenceMotionHd1TLModerateLimits) { |
| 426 VideoQualityTest::Params conf_motion_hd; | 324 VideoQualityTest::Params conf_motion_hd; |
| 427 conf_motion_hd.call.send_side_bwe = true; | 325 conf_motion_hd.call.send_side_bwe = true; |
| 428 conf_motion_hd.video = {true, | 326 conf_motion_hd.video = { |
| 429 1280, | 327 true, 1280, 720, 50, 30000, |
| 430 720, | 328 3000000, 3000000, false, "VP8", 1, |
| 431 50, | 329 -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
| 432 30000, | |
| 433 3000000, | |
| 434 3000000, | |
| 435 false, | |
| 436 "VP8", | |
| 437 false, | |
| 438 false, | |
| 439 1, | |
| 440 -1, | |
| 441 0, | |
| 442 false, | |
| 443 false, | |
| 444 "ConferenceMotion_1280_720_50"}; | |
| 445 conf_motion_hd.analyzer = {"conference_motion_hd_1tl_moderate_limits", 0.0, | 330 conf_motion_hd.analyzer = {"conference_motion_hd_1tl_moderate_limits", 0.0, |
| 446 0.0, kFullStackTestDurationSecs}; | 331 0.0, kFullStackTestDurationSecs}; |
| 447 conf_motion_hd.pipe.queue_length_packets = 50; | 332 conf_motion_hd.pipe.queue_length_packets = 50; |
| 448 conf_motion_hd.pipe.loss_percent = 3; | 333 conf_motion_hd.pipe.loss_percent = 3; |
| 449 conf_motion_hd.pipe.queue_delay_ms = 100; | 334 conf_motion_hd.pipe.queue_delay_ms = 100; |
| 450 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 335 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
| 451 RunTest(conf_motion_hd); | 336 RunTest(conf_motion_hd); |
| 452 } | 337 } |
| 453 | 338 |
| 454 TEST_F(FullStackTest, ConferenceMotionHd2TLModerateLimits) { | 339 TEST_F(FullStackTest, ConferenceMotionHd2TLModerateLimits) { |
| 455 VideoQualityTest::Params conf_motion_hd; | 340 VideoQualityTest::Params conf_motion_hd; |
| 456 conf_motion_hd.call.send_side_bwe = true; | 341 conf_motion_hd.call.send_side_bwe = true; |
| 457 conf_motion_hd.video = {true, | 342 conf_motion_hd.video = { |
| 458 1280, | 343 true, 1280, 720, 50, 30000, |
| 459 720, | 344 3000000, 3000000, false, "VP8", 2, |
| 460 50, | 345 -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
| 461 30000, | |
| 462 3000000, | |
| 463 3000000, | |
| 464 false, | |
| 465 "VP8", | |
| 466 false, | |
| 467 false, | |
| 468 2, | |
| 469 -1, | |
| 470 0, | |
| 471 false, | |
| 472 false, | |
| 473 "ConferenceMotion_1280_720_50"}; | |
| 474 conf_motion_hd.analyzer = {"conference_motion_hd_2tl_moderate_limits", 0.0, | 346 conf_motion_hd.analyzer = {"conference_motion_hd_2tl_moderate_limits", 0.0, |
| 475 0.0, kFullStackTestDurationSecs}; | 347 0.0, kFullStackTestDurationSecs}; |
| 476 conf_motion_hd.pipe.queue_length_packets = 50; | 348 conf_motion_hd.pipe.queue_length_packets = 50; |
| 477 conf_motion_hd.pipe.loss_percent = 3; | 349 conf_motion_hd.pipe.loss_percent = 3; |
| 478 conf_motion_hd.pipe.queue_delay_ms = 100; | 350 conf_motion_hd.pipe.queue_delay_ms = 100; |
| 479 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 351 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
| 480 RunTest(conf_motion_hd); | 352 RunTest(conf_motion_hd); |
| 481 } | 353 } |
| 482 | 354 |
| 483 TEST_F(FullStackTest, ConferenceMotionHd3TLModerateLimits) { | 355 TEST_F(FullStackTest, ConferenceMotionHd3TLModerateLimits) { |
| 484 VideoQualityTest::Params conf_motion_hd; | 356 VideoQualityTest::Params conf_motion_hd; |
| 485 conf_motion_hd.call.send_side_bwe = true; | 357 conf_motion_hd.call.send_side_bwe = true; |
| 486 conf_motion_hd.video = {true, | 358 conf_motion_hd.video = { |
| 487 1280, | 359 true, 1280, 720, 50, 30000, |
| 488 720, | 360 3000000, 3000000, false, "VP8", 3, |
| 489 50, | 361 -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
| 490 30000, | |
| 491 3000000, | |
| 492 3000000, | |
| 493 false, | |
| 494 "VP8", | |
| 495 false, | |
| 496 false, | |
| 497 3, | |
| 498 -1, | |
| 499 0, | |
| 500 false, | |
| 501 false, | |
| 502 "ConferenceMotion_1280_720_50"}; | |
| 503 conf_motion_hd.analyzer = {"conference_motion_hd_3tl_moderate_limits", 0.0, | 362 conf_motion_hd.analyzer = {"conference_motion_hd_3tl_moderate_limits", 0.0, |
| 504 0.0, kFullStackTestDurationSecs}; | 363 0.0, kFullStackTestDurationSecs}; |
| 505 conf_motion_hd.pipe.queue_length_packets = 50; | 364 conf_motion_hd.pipe.queue_length_packets = 50; |
| 506 conf_motion_hd.pipe.loss_percent = 3; | 365 conf_motion_hd.pipe.loss_percent = 3; |
| 507 conf_motion_hd.pipe.queue_delay_ms = 100; | 366 conf_motion_hd.pipe.queue_delay_ms = 100; |
| 508 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 367 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
| 509 RunTest(conf_motion_hd); | 368 RunTest(conf_motion_hd); |
| 510 } | 369 } |
| 511 | 370 |
| 512 TEST_F(FullStackTest, ConferenceMotionHd4TLModerateLimits) { | 371 TEST_F(FullStackTest, ConferenceMotionHd4TLModerateLimits) { |
| 513 VideoQualityTest::Params conf_motion_hd; | 372 VideoQualityTest::Params conf_motion_hd; |
| 514 conf_motion_hd.call.send_side_bwe = true; | 373 conf_motion_hd.call.send_side_bwe = true; |
| 515 conf_motion_hd.video = {true, | 374 conf_motion_hd.video = { |
| 516 1280, | 375 true, 1280, 720, 50, 30000, |
| 517 720, | 376 3000000, 3000000, false, "VP8", 4, |
| 518 50, | 377 -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
| 519 30000, | |
| 520 3000000, | |
| 521 3000000, | |
| 522 false, | |
| 523 "VP8", | |
| 524 false, | |
| 525 false, | |
| 526 4, | |
| 527 -1, | |
| 528 0, | |
| 529 false, | |
| 530 false, | |
| 531 "ConferenceMotion_1280_720_50"}; | |
| 532 conf_motion_hd.analyzer = {"conference_motion_hd_4tl_moderate_limits", 0.0, | 378 conf_motion_hd.analyzer = {"conference_motion_hd_4tl_moderate_limits", 0.0, |
| 533 0.0, kFullStackTestDurationSecs}; | 379 0.0, kFullStackTestDurationSecs}; |
| 534 conf_motion_hd.pipe.queue_length_packets = 50; | 380 conf_motion_hd.pipe.queue_length_packets = 50; |
| 535 conf_motion_hd.pipe.loss_percent = 3; | 381 conf_motion_hd.pipe.loss_percent = 3; |
| 536 conf_motion_hd.pipe.queue_delay_ms = 100; | 382 conf_motion_hd.pipe.queue_delay_ms = 100; |
| 537 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 383 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
| 538 RunTest(conf_motion_hd); | 384 RunTest(conf_motion_hd); |
| 539 } | 385 } |
| 540 | 386 |
| 541 TEST_F(FullStackTest, ConferenceMotionHd3TLModerateLimitsAltTLPattern) { | 387 TEST_F(FullStackTest, ConferenceMotionHd3TLModerateLimitsAltTLPattern) { |
| 542 test::ScopedFieldTrials field_trial("WebRTC-UseShortVP8TL3Pattern/Enabled/"); | 388 test::ScopedFieldTrials field_trial("WebRTC-UseShortVP8TL3Pattern/Enabled/"); |
| 543 VideoQualityTest::Params conf_motion_hd; | 389 VideoQualityTest::Params conf_motion_hd; |
| 544 conf_motion_hd.call.send_side_bwe = true; | 390 conf_motion_hd.call.send_side_bwe = true; |
| 545 conf_motion_hd.video = {true, | 391 conf_motion_hd.video = { |
| 546 1280, | 392 true, 1280, 720, 50, 30000, |
| 547 720, | 393 3000000, 3000000, false, "VP8", 3, |
| 548 50, | 394 -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
| 549 30000, | |
| 550 3000000, | |
| 551 3000000, | |
| 552 false, | |
| 553 "VP8", | |
| 554 false, | |
| 555 false, | |
| 556 3, | |
| 557 -1, | |
| 558 0, | |
| 559 false, | |
| 560 false, | |
| 561 "ConferenceMotion_1280_720_50"}; | |
| 562 conf_motion_hd.analyzer = {"conference_motion_hd_3tl_alt_moderate_limits", | 395 conf_motion_hd.analyzer = {"conference_motion_hd_3tl_alt_moderate_limits", |
| 563 0.0, 0.0, kFullStackTestDurationSecs}; | 396 0.0, 0.0, kFullStackTestDurationSecs}; |
| 564 conf_motion_hd.pipe.queue_length_packets = 50; | 397 conf_motion_hd.pipe.queue_length_packets = 50; |
| 565 conf_motion_hd.pipe.loss_percent = 3; | 398 conf_motion_hd.pipe.loss_percent = 3; |
| 566 conf_motion_hd.pipe.queue_delay_ms = 100; | 399 conf_motion_hd.pipe.queue_delay_ms = 100; |
| 567 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 400 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
| 568 RunTest(conf_motion_hd); | 401 RunTest(conf_motion_hd); |
| 569 } | 402 } |
| 570 | 403 |
| 571 #if !defined(RTC_DISABLE_VP9) | 404 #if !defined(RTC_DISABLE_VP9) |
| 572 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueueVP9) { | 405 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueueVP9) { |
| 573 VideoQualityTest::Params conf_motion_hd; | 406 VideoQualityTest::Params conf_motion_hd; |
| 574 conf_motion_hd.call.send_side_bwe = true; | 407 conf_motion_hd.call.send_side_bwe = true; |
| 575 conf_motion_hd.video = {true, | 408 conf_motion_hd.video = { |
| 576 1280, | 409 true, 1280, 720, 50, 30000, |
| 577 720, | 410 3000000, 3000000, false, "VP9", 1, |
| 578 50, | 411 0, 0, false, false, "ConferenceMotion_1280_720_50"}; |
| 579 30000, | |
| 580 3000000, | |
| 581 3000000, | |
| 582 false, | |
| 583 "VP9", | |
| 584 false, | |
| 585 false, | |
| 586 1, | |
| 587 0, | |
| 588 0, | |
| 589 false, | |
| 590 false, | |
| 591 "ConferenceMotion_1280_720_50"}; | |
| 592 conf_motion_hd.analyzer = { | 412 conf_motion_hd.analyzer = { |
| 593 "conference_motion_hd_2000kbps_100ms_32pkts_queue_vp9", 0.0, 0.0, | 413 "conference_motion_hd_2000kbps_100ms_32pkts_queue_vp9", 0.0, 0.0, |
| 594 kFullStackTestDurationSecs}; | 414 kFullStackTestDurationSecs}; |
| 595 conf_motion_hd.pipe.queue_length_packets = 32; | 415 conf_motion_hd.pipe.queue_length_packets = 32; |
| 596 conf_motion_hd.pipe.queue_delay_ms = 100; | 416 conf_motion_hd.pipe.queue_delay_ms = 100; |
| 597 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 417 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
| 598 RunTest(conf_motion_hd); | 418 RunTest(conf_motion_hd); |
| 599 } | 419 } |
| 600 #endif | 420 #endif |
| 601 | 421 |
| 602 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { | 422 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { |
| 603 VideoQualityTest::Params screenshare; | 423 VideoQualityTest::Params screenshare; |
| 604 screenshare.call.send_side_bwe = true; | 424 screenshare.call.send_side_bwe = true; |
| 605 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 425 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 606 2000000, false, "VP8", false, false, 2, | 426 "VP8", 2, 1, 400000, false, false, ""}; |
| 607 1, 400000, false, false, ""}; | |
| 608 screenshare.screenshare = {true, false, 10}; | 427 screenshare.screenshare = {true, false, 10}; |
| 609 screenshare.analyzer = {"screenshare_slides", 0.0, 0.0, | 428 screenshare.analyzer = {"screenshare_slides", 0.0, 0.0, |
| 610 kFullStackTestDurationSecs}; | 429 kFullStackTestDurationSecs}; |
| 611 RunTest(screenshare); | 430 RunTest(screenshare); |
| 612 } | 431 } |
| 613 | 432 |
| 614 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast) { | 433 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast) { |
| 615 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment); | 434 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment); |
| 616 VideoQualityTest::Params screenshare; | 435 VideoQualityTest::Params screenshare; |
| 617 screenshare.call.send_side_bwe = true; | 436 screenshare.call.send_side_bwe = true; |
| 618 screenshare.screenshare = {true, false, 10}; | 437 screenshare.screenshare = {true, false, 10}; |
| 619 screenshare.video = {true, 1850, 1110, 5, 800000, 2500000, | 438 screenshare.video = {true, 1850, 1110, 5, 800000, |
| 620 2500000, false, "VP8", false, false, 3, | 439 2500000, 2500000, false, "VP8", 3, |
| 621 2, 400000, false, false, ""}; | 440 2, 400000, false, false, ""}; |
| 622 screenshare.analyzer = {"screenshare_slides_simulcast", 0.0, 0.0, | 441 screenshare.analyzer = {"screenshare_slides_simulcast", 0.0, 0.0, |
| 623 kFullStackTestDurationSecs}; | 442 kFullStackTestDurationSecs}; |
| 624 VideoQualityTest::Params screenshare_params_high; | 443 VideoQualityTest::Params screenshare_params_high; |
| 625 screenshare_params_high.video = { | 444 screenshare_params_high.video = {true, 1850, 1110, 5, 800000, |
| 626 true, 1850, 1110, 5, 800000, 2500000, 2500000, false, "VP8", | 445 2500000, 2500000, false, "VP8", 3, |
| 627 false, false, 3, 0, 400000, false, false, ""}; | 446 0, 400000, false, false, ""}; |
| 628 VideoQualityTest::Params screenshare_params_low; | 447 VideoQualityTest::Params screenshare_params_low; |
| 629 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, | 448 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, |
| 630 2000000, false, "VP8", false, false, 2, | 449 200000, 2000000, false, "VP8", 2, |
| 631 0, 400000, false, false, ""}; | 450 0, 400000, false, false, ""}; |
| 632 | 451 |
| 633 std::vector<VideoStream> streams = { | 452 std::vector<VideoStream> streams = { |
| 634 DefaultVideoStream(screenshare_params_low), | 453 DefaultVideoStream(screenshare_params_low), |
| 635 DefaultVideoStream(screenshare_params_high)}; | 454 DefaultVideoStream(screenshare_params_high)}; |
| 636 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; | 455 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; |
| 637 RunTest(screenshare); | 456 RunTest(screenshare); |
| 638 } | 457 } |
| 639 | 458 |
| 640 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { | 459 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { |
| 641 VideoQualityTest::Params config; | 460 VideoQualityTest::Params config; |
| 642 config.call.send_side_bwe = true; | 461 config.call.send_side_bwe = true; |
| 643 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, | 462 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false, |
| 644 2000000, false, "VP8", false, false, 2, | 463 "VP8", 2, 1, 400000, false, false, ""}; |
| 645 1, 400000, false, false, ""}; | |
| 646 config.screenshare = {true, false, 10, 2}; | 464 config.screenshare = {true, false, 10, 2}; |
| 647 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0, | 465 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0, |
| 648 kFullStackTestDurationSecs}; | 466 kFullStackTestDurationSecs}; |
| 649 RunTest(config); | 467 RunTest(config); |
| 650 } | 468 } |
| 651 | 469 |
| 652 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { | 470 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { |
| 653 VideoQualityTest::Params screenshare; | 471 VideoQualityTest::Params screenshare; |
| 654 screenshare.call.send_side_bwe = true; | 472 screenshare.call.send_side_bwe = true; |
| 655 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 473 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 656 2000000, false, "VP8", false, false, 2, | 474 "VP8", 2, 1, 400000, false, false, ""}; |
| 657 1, 400000, false, false, ""}; | |
| 658 screenshare.screenshare = {true, false, 10}; | 475 screenshare.screenshare = {true, false, 10}; |
| 659 screenshare.analyzer = {"screenshare_slides_lossy_net", 0.0, 0.0, | 476 screenshare.analyzer = {"screenshare_slides_lossy_net", 0.0, 0.0, |
| 660 kFullStackTestDurationSecs}; | 477 kFullStackTestDurationSecs}; |
| 661 screenshare.pipe.loss_percent = 5; | 478 screenshare.pipe.loss_percent = 5; |
| 662 screenshare.pipe.queue_delay_ms = 200; | 479 screenshare.pipe.queue_delay_ms = 200; |
| 663 screenshare.pipe.link_capacity_kbps = 500; | 480 screenshare.pipe.link_capacity_kbps = 500; |
| 664 RunTest(screenshare); | 481 RunTest(screenshare); |
| 665 } | 482 } |
| 666 | 483 |
| 667 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { | 484 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { |
| 668 VideoQualityTest::Params screenshare; | 485 VideoQualityTest::Params screenshare; |
| 669 screenshare.call.send_side_bwe = true; | 486 screenshare.call.send_side_bwe = true; |
| 670 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 487 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 671 2000000, false, "VP8", false, false, 2, | 488 "VP8", 2, 1, 400000, false, false, ""}; |
| 672 1, 400000, false, false, ""}; | |
| 673 screenshare.screenshare = {true, false, 10}; | 489 screenshare.screenshare = {true, false, 10}; |
| 674 screenshare.analyzer = {"screenshare_slides_very_lossy", 0.0, 0.0, | 490 screenshare.analyzer = {"screenshare_slides_very_lossy", 0.0, 0.0, |
| 675 kFullStackTestDurationSecs}; | 491 kFullStackTestDurationSecs}; |
| 676 screenshare.pipe.loss_percent = 10; | 492 screenshare.pipe.loss_percent = 10; |
| 677 screenshare.pipe.queue_delay_ms = 200; | 493 screenshare.pipe.queue_delay_ms = 200; |
| 678 screenshare.pipe.link_capacity_kbps = 500; | 494 screenshare.pipe.link_capacity_kbps = 500; |
| 679 RunTest(screenshare); | 495 RunTest(screenshare); |
| 680 } | 496 } |
| 681 | 497 |
| 682 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue) { | 498 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue) { |
| 683 VideoQualityTest::Params screenshare; | 499 VideoQualityTest::Params screenshare; |
| 684 screenshare.call.send_side_bwe = true; | 500 screenshare.call.send_side_bwe = true; |
| 685 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 501 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 686 2000000, false, "VP8", false, false, 2, | 502 "VP8", 2, 1, 400000, false, false, ""}; |
| 687 1, 400000, false, false, ""}; | |
| 688 screenshare.screenshare = {true, false, 10}; | 503 screenshare.screenshare = {true, false, 10}; |
| 689 screenshare.analyzer = {"screenshare_slides_lossy_limited", 0.0, 0.0, | 504 screenshare.analyzer = {"screenshare_slides_lossy_limited", 0.0, 0.0, |
| 690 kFullStackTestDurationSecs}; | 505 kFullStackTestDurationSecs}; |
| 691 screenshare.pipe.loss_percent = 5; | 506 screenshare.pipe.loss_percent = 5; |
| 692 screenshare.pipe.link_capacity_kbps = 200; | 507 screenshare.pipe.link_capacity_kbps = 200; |
| 693 screenshare.pipe.queue_length_packets = 30; | 508 screenshare.pipe.queue_length_packets = 30; |
| 694 | 509 |
| 695 RunTest(screenshare); | 510 RunTest(screenshare); |
| 696 } | 511 } |
| 697 | 512 |
| 698 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted) { | 513 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted) { |
| 699 VideoQualityTest::Params screenshare; | 514 VideoQualityTest::Params screenshare; |
| 700 screenshare.call.send_side_bwe = true; | 515 screenshare.call.send_side_bwe = true; |
| 701 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 516 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 702 2000000, false, "VP8", false, false, 2, | 517 "VP8", 2, 1, 400000, false, false, ""}; |
| 703 1, 400000, false, false, ""}; | |
| 704 screenshare.screenshare = {true, false, 10}; | 518 screenshare.screenshare = {true, false, 10}; |
| 705 screenshare.analyzer = {"screenshare_slides_moderately_restricted", 0.0, 0.0, | 519 screenshare.analyzer = {"screenshare_slides_moderately_restricted", 0.0, 0.0, |
| 706 kFullStackTestDurationSecs}; | 520 kFullStackTestDurationSecs}; |
| 707 screenshare.pipe.loss_percent = 1; | 521 screenshare.pipe.loss_percent = 1; |
| 708 screenshare.pipe.link_capacity_kbps = 1200; | 522 screenshare.pipe.link_capacity_kbps = 1200; |
| 709 screenshare.pipe.queue_length_packets = 30; | 523 screenshare.pipe.queue_length_packets = 30; |
| 710 | 524 |
| 711 RunTest(screenshare); | 525 RunTest(screenshare); |
| 712 } | 526 } |
| 713 | 527 |
| 714 // TODO(sprang): Retire these tests once experiment is removed. | 528 // TODO(sprang): Retire these tests once experiment is removed. |
| 715 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue_ALR) { | 529 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue_ALR) { |
| 716 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); | 530 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
| 717 VideoQualityTest::Params screenshare; | 531 VideoQualityTest::Params screenshare; |
| 718 screenshare.call.send_side_bwe = true; | 532 screenshare.call.send_side_bwe = true; |
| 719 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 533 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 720 2000000, false, "VP8", false, false, 2, | 534 "VP8", 2, 1, 400000, false, false, ""}; |
| 721 1, 400000, false, false, ""}; | |
| 722 screenshare.screenshare = {true, false, 10}; | 535 screenshare.screenshare = {true, false, 10}; |
| 723 screenshare.analyzer = {"screenshare_slides_lossy_limited_ALR", 0.0, 0.0, | 536 screenshare.analyzer = {"screenshare_slides_lossy_limited_ALR", 0.0, 0.0, |
| 724 kFullStackTestDurationSecs}; | 537 kFullStackTestDurationSecs}; |
| 725 screenshare.pipe.loss_percent = 5; | 538 screenshare.pipe.loss_percent = 5; |
| 726 screenshare.pipe.link_capacity_kbps = 200; | 539 screenshare.pipe.link_capacity_kbps = 200; |
| 727 screenshare.pipe.queue_length_packets = 30; | 540 screenshare.pipe.queue_length_packets = 30; |
| 728 | 541 |
| 729 RunTest(screenshare); | 542 RunTest(screenshare); |
| 730 } | 543 } |
| 731 | 544 |
| 732 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ALR) { | 545 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ALR) { |
| 733 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); | 546 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
| 734 VideoQualityTest::Params screenshare; | 547 VideoQualityTest::Params screenshare; |
| 735 screenshare.call.send_side_bwe = true; | 548 screenshare.call.send_side_bwe = true; |
| 736 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 549 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 737 2000000, false, "VP8", false, false, 2, | 550 "VP8", 2, 1, 400000, false, false, ""}; |
| 738 1, 400000, false, false, ""}; | |
| 739 screenshare.screenshare = {true, false, 10}; | 551 screenshare.screenshare = {true, false, 10}; |
| 740 screenshare.analyzer = {"screenshare_slides_ALR", 0.0, 0.0, | 552 screenshare.analyzer = {"screenshare_slides_ALR", 0.0, 0.0, |
| 741 kFullStackTestDurationSecs}; | 553 kFullStackTestDurationSecs}; |
| 742 RunTest(screenshare); | 554 RunTest(screenshare); |
| 743 } | 555 } |
| 744 | 556 |
| 745 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted_ALR) { | 557 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted_ALR) { |
| 746 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); | 558 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
| 747 VideoQualityTest::Params screenshare; | 559 VideoQualityTest::Params screenshare; |
| 748 screenshare.call.send_side_bwe = true; | 560 screenshare.call.send_side_bwe = true; |
| 749 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 561 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 750 2000000, false, "VP8", false, false, 2, | 562 "VP8", 2, 1, 400000, false, false, ""}; |
| 751 1, 400000, false, false, ""}; | |
| 752 screenshare.screenshare = {true, false, 10}; | 563 screenshare.screenshare = {true, false, 10}; |
| 753 screenshare.analyzer = {"screenshare_slides_moderately_restricted_ALR", 0.0, | 564 screenshare.analyzer = {"screenshare_slides_moderately_restricted_ALR", 0.0, |
| 754 0.0, kFullStackTestDurationSecs}; | 565 0.0, kFullStackTestDurationSecs}; |
| 755 screenshare.pipe.loss_percent = 1; | 566 screenshare.pipe.loss_percent = 1; |
| 756 screenshare.pipe.link_capacity_kbps = 1200; | 567 screenshare.pipe.link_capacity_kbps = 1200; |
| 757 screenshare.pipe.queue_length_packets = 30; | 568 screenshare.pipe.queue_length_packets = 30; |
| 758 | 569 |
| 759 RunTest(screenshare); | 570 RunTest(screenshare); |
| 760 } | 571 } |
| 761 | 572 |
| 762 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast_ALR) { | 573 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast_ALR) { |
| 763 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment + | 574 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment + |
| 764 kAlrProbingExperiment); | 575 kAlrProbingExperiment); |
| 765 VideoQualityTest::Params screenshare; | 576 VideoQualityTest::Params screenshare; |
| 766 screenshare.call.send_side_bwe = true; | 577 screenshare.call.send_side_bwe = true; |
| 767 screenshare.screenshare = {true, false, 10}; | 578 screenshare.screenshare = {true, false, 10}; |
| 768 screenshare.video = {true, 1850, 1110, 5, 800000, 2500000, | 579 screenshare.video = {true, 1850, 1110, 5, 800000, |
| 769 2500000, false, "VP8", false, false, 3, | 580 2500000, 2500000, false, "VP8", 3, |
| 770 2, 400000, false, false, ""}; | 581 2, 400000, false, false, ""}; |
| 771 screenshare.analyzer = {"screenshare_slides_simulcast_alr", 0.0, 0.0, | 582 screenshare.analyzer = {"screenshare_slides_simulcast_alr", 0.0, 0.0, |
| 772 kFullStackTestDurationSecs}; | 583 kFullStackTestDurationSecs}; |
| 773 VideoQualityTest::Params screenshare_params_high; | 584 VideoQualityTest::Params screenshare_params_high; |
| 774 screenshare_params_high.video = { | 585 screenshare_params_high.video = {true, 1850, 1110, 5, 800000, |
| 775 true, 1850, 1110, 5, 800000, 2500000, 2500000, false, "VP8", | 586 2500000, 2500000, false, "VP8", 3, |
| 776 false, false, 3, 0, 400000, false, false, ""}; | 587 0, 400000, false, false, ""}; |
| 777 VideoQualityTest::Params screenshare_params_low; | 588 VideoQualityTest::Params screenshare_params_low; |
| 778 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, | 589 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, |
| 779 2000000, false, "VP8", false, false, 2, | 590 200000, 2000000, false, "VP8", 2, |
| 780 0, 400000, false, false, ""}; | 591 0, 400000, false, false, ""}; |
| 781 | 592 |
| 782 std::vector<VideoStream> streams = { | 593 std::vector<VideoStream> streams = { |
| 783 DefaultVideoStream(screenshare_params_low), | 594 DefaultVideoStream(screenshare_params_low), |
| 784 DefaultVideoStream(screenshare_params_high)}; | 595 DefaultVideoStream(screenshare_params_high)}; |
| 785 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; | 596 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; |
| 786 RunTest(screenshare); | 597 RunTest(screenshare); |
| 787 } | 598 } |
| 788 | 599 |
| 789 const VideoQualityTest::Params::Video kSvcVp9Video = { | 600 const VideoQualityTest::Params::Video kSvcVp9Video = { |
| 790 true, | 601 true, 1280, 720, 30, 800000, |
| 791 1280, | 602 2500000, 2500000, false, "VP9", 3, |
| 792 720, | 603 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
| 793 30, | |
| 794 800000, | |
| 795 2500000, | |
| 796 2500000, | |
| 797 false, | |
| 798 "VP9", | |
| 799 false, | |
| 800 false, | |
| 801 3, | |
| 802 2, | |
| 803 400000, | |
| 804 false, | |
| 805 false, | |
| 806 "ConferenceMotion_1280_720_50"}; | |
| 807 | 604 |
| 808 const VideoQualityTest::Params::Video kSimulcastVp8VideoHigh = { | 605 const VideoQualityTest::Params::Video kSimulcastVp8VideoHigh = { |
| 809 true, | 606 true, 1280, 720, 30, 800000, |
| 810 1280, | 607 2500000, 2500000, false, "VP8", 3, |
| 811 720, | 608 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
| 812 30, | |
| 813 800000, | |
| 814 2500000, | |
| 815 2500000, | |
| 816 false, | |
| 817 "VP8", | |
| 818 false, | |
| 819 false, | |
| 820 3, | |
| 821 2, | |
| 822 400000, | |
| 823 false, | |
| 824 false, | |
| 825 "ConferenceMotion_1280_720_50"}; | |
| 826 | 609 |
| 827 const VideoQualityTest::Params::Video kSimulcastVp8VideoMedium = { | 610 const VideoQualityTest::Params::Video kSimulcastVp8VideoMedium = { |
| 828 true, | 611 true, 640, 360, 30, 150000, |
| 829 640, | 612 500000, 700000, false, "VP8", 3, |
| 830 360, | 613 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
| 831 30, | |
| 832 150000, | |
| 833 500000, | |
| 834 700000, | |
| 835 false, | |
| 836 "VP8", | |
| 837 false, | |
| 838 false, | |
| 839 3, | |
| 840 2, | |
| 841 400000, | |
| 842 false, | |
| 843 false, | |
| 844 "ConferenceMotion_1280_720_50"}; | |
| 845 | 614 |
| 846 const VideoQualityTest::Params::Video kSimulcastVp8VideoLow = { | 615 const VideoQualityTest::Params::Video kSimulcastVp8VideoLow = { |
| 847 true, | 616 true, 320, 180, 30, 30000, |
| 848 320, | 617 150000, 200000, false, "VP8", 3, |
| 849 180, | 618 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
| 850 30, | |
| 851 30000, | |
| 852 150000, | |
| 853 200000, | |
| 854 false, | |
| 855 "VP8", | |
| 856 false, | |
| 857 false, | |
| 858 3, | |
| 859 2, | |
| 860 400000, | |
| 861 false, | |
| 862 false, | |
| 863 "ConferenceMotion_1280_720_50"}; | |
| 864 | 619 |
| 865 #if !defined(RTC_DISABLE_VP9) | 620 #if !defined(RTC_DISABLE_VP9) |
| 866 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { | 621 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { |
| 867 VideoQualityTest::Params screenshare; | 622 VideoQualityTest::Params screenshare; |
| 868 screenshare.call.send_side_bwe = true; | 623 screenshare.call.send_side_bwe = true; |
| 869 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, | 624 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 870 2000000, false, "VP9", false, false, 1, | 625 "VP9", 1, 0, 400000, false, false, ""}; |
| 871 0, 400000, false, false, ""}; | |
| 872 screenshare.screenshare = {true, false, 10}; | 626 screenshare.screenshare = {true, false, 10}; |
| 873 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, | 627 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, |
| 874 kFullStackTestDurationSecs}; | 628 kFullStackTestDurationSecs}; |
| 875 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1, | 629 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1, |
| 876 std::vector<SpatialLayer>(), false}; | 630 std::vector<SpatialLayer>(), false}; |
| 877 RunTest(screenshare); | 631 RunTest(screenshare); |
| 878 } | 632 } |
| 879 | 633 |
| 880 TEST_F(FullStackTest, VP9SVC_3SL_High) { | 634 TEST_F(FullStackTest, VP9SVC_3SL_High) { |
| 881 VideoQualityTest::Params simulcast; | 635 VideoQualityTest::Params simulcast; |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 913 // Android bots can't handle FullHD, so disable the test. | 667 // Android bots can't handle FullHD, so disable the test. |
| 914 #if defined(WEBRTC_ANDROID) | 668 #if defined(WEBRTC_ANDROID) |
| 915 #define MAYBE_SimulcastFullHdOveruse DISABLED_SimulcastFullHdOveruse | 669 #define MAYBE_SimulcastFullHdOveruse DISABLED_SimulcastFullHdOveruse |
| 916 #else | 670 #else |
| 917 #define MAYBE_SimulcastFullHdOveruse SimulcastFullHdOveruse | 671 #define MAYBE_SimulcastFullHdOveruse SimulcastFullHdOveruse |
| 918 #endif | 672 #endif |
| 919 | 673 |
| 920 TEST_F(FullStackTest, MAYBE_SimulcastFullHdOveruse) { | 674 TEST_F(FullStackTest, MAYBE_SimulcastFullHdOveruse) { |
| 921 VideoQualityTest::Params simulcast; | 675 VideoQualityTest::Params simulcast; |
| 922 simulcast.call.send_side_bwe = true; | 676 simulcast.call.send_side_bwe = true; |
| 923 simulcast.video = {true, 1920, 1080, 30, 800000, 2500000, | 677 simulcast.video = {true, 1920, 1080, 30, 800000, |
| 924 2500000, false, "VP8", false, false, 3, | 678 2500000, 2500000, false, "VP8", 3, |
| 925 2, 400000, false, false, "Generator"}; | 679 2, 400000, false, false, "Generator"}; |
| 926 simulcast.analyzer = {"simulcast_HD_high", 0.0, 0.0, | 680 simulcast.analyzer = {"simulcast_HD_high", 0.0, 0.0, |
| 927 kFullStackTestDurationSecs}; | 681 kFullStackTestDurationSecs}; |
| 928 simulcast.pipe.loss_percent = 0; | 682 simulcast.pipe.loss_percent = 0; |
| 929 simulcast.pipe.queue_delay_ms = 100; | 683 simulcast.pipe.queue_delay_ms = 100; |
| 930 std::vector<VideoStream> streams = {DefaultVideoStream(simulcast), | 684 std::vector<VideoStream> streams = {DefaultVideoStream(simulcast), |
| 931 DefaultVideoStream(simulcast), | 685 DefaultVideoStream(simulcast), |
| 932 DefaultVideoStream(simulcast)}; | 686 DefaultVideoStream(simulcast)}; |
| 933 simulcast.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), true}; | 687 simulcast.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), true}; |
| 934 webrtc::test::ScopedFieldTrials override_trials( | 688 webrtc::test::ScopedFieldTrials override_trials( |
| 935 "WebRTC-ForceSimulatedOveruseIntervalMs/1000-50000-300/"); | 689 "WebRTC-ForceSimulatedOveruseIntervalMs/1000-50000-300/"); |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1076 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 830 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
| 1077 DefaultVideoStream(video_params_medium), | 831 DefaultVideoStream(video_params_medium), |
| 1078 DefaultVideoStream(video_params_high)}; | 832 DefaultVideoStream(video_params_high)}; |
| 1079 large_room.call.num_thumbnails = 50; | 833 large_room.call.num_thumbnails = 50; |
| 1080 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; | 834 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; |
| 1081 RunTest(large_room); | 835 RunTest(large_room); |
| 1082 } | 836 } |
| 1083 | 837 |
| 1084 | 838 |
| 1085 } // namespace webrtc | 839 } // namespace webrtc |
| OLD | NEW |