| 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> |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 // pipe, // FakeNetworkPipe::Config | 42 // pipe, // FakeNetworkPipe::Config |
| 43 // { ... }, // Spatial scalability. | 43 // { ... }, // Spatial scalability. |
| 44 // logs // bool | 44 // logs // bool |
| 45 // }; | 45 // }; |
| 46 | 46 |
| 47 #if !defined(RTC_DISABLE_VP9) | 47 #if !defined(RTC_DISABLE_VP9) |
| 48 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) { | 48 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) { |
| 49 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 49 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
| 50 VideoQualityTest::Params foreman_cif; | 50 VideoQualityTest::Params foreman_cif; |
| 51 foreman_cif.call.send_side_bwe = true; | 51 foreman_cif.call.send_side_bwe = true; |
| 52 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, | 52 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, |
| 53 "VP9", 1, 0, 0, false, false, "", "foreman_cif"}; | 53 "VP9", 1, 0, 0, false, false, "foreman_cif"}; |
| 54 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, |
| 55 kFullStackTestDurationSecs}; | 55 kFullStackTestDurationSecs}; |
| 56 RunTest(foreman_cif); | 56 RunTest(foreman_cif); |
| 57 } | 57 } |
| 58 | 58 |
| 59 TEST_F(FullStackTest, ForemanCifPlr5Vp9) { | 59 TEST_F(FullStackTest, ForemanCifPlr5Vp9) { |
| 60 VideoQualityTest::Params foreman_cif; | 60 VideoQualityTest::Params foreman_cif; |
| 61 foreman_cif.call.send_side_bwe = true; | 61 foreman_cif.call.send_side_bwe = true; |
| 62 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, | 62 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 63 "VP9", 1, 0, 0, false, false, "", "foreman_cif"}; | 63 "VP9", 1, 0, 0, false, false, "foreman_cif"}; |
| 64 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, |
| 65 kFullStackTestDurationSecs}; | 65 kFullStackTestDurationSecs}; |
| 66 foreman_cif.pipe.loss_percent = 5; | 66 foreman_cif.pipe.loss_percent = 5; |
| 67 foreman_cif.pipe.queue_delay_ms = 50; | 67 foreman_cif.pipe.queue_delay_ms = 50; |
| 68 RunTest(foreman_cif); | 68 RunTest(foreman_cif); |
| 69 } | 69 } |
| 70 #endif // !defined(RTC_DISABLE_VP9) | 70 #endif // !defined(RTC_DISABLE_VP9) |
| 71 | 71 |
| 72 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { | 72 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { |
| 73 VideoQualityTest::Params paris_qcif; | 73 VideoQualityTest::Params paris_qcif; |
| 74 paris_qcif.call.send_side_bwe = true; | 74 paris_qcif.call.send_side_bwe = true; |
| 75 paris_qcif.video = {true, 176, 144, 30, 300000, 300000, 300000, false, | 75 paris_qcif.video = {true, 176, 144, 30, 300000, 300000, 300000, false, |
| 76 "VP8", 1, 0, 0, false, false, "", "paris_qcif"}; | 76 "VP8", 1, 0, 0, false, false, "paris_qcif"}; |
| 77 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, |
| 78 kFullStackTestDurationSecs}; | 78 kFullStackTestDurationSecs}; |
| 79 RunTest(paris_qcif); | 79 RunTest(paris_qcif); |
| 80 } | 80 } |
| 81 | 81 |
| 82 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { | 82 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { |
| 83 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 83 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
| 84 VideoQualityTest::Params foreman_cif; | 84 VideoQualityTest::Params foreman_cif; |
| 85 foreman_cif.call.send_side_bwe = true; | 85 foreman_cif.call.send_side_bwe = true; |
| 86 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, "VP8", | 86 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, |
| 87 1, 0, 0, false, false, "", "foreman_cif"}; | 87 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 88 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, |
| 89 kFullStackTestDurationSecs}; | 89 kFullStackTestDurationSecs}; |
| 90 RunTest(foreman_cif); | 90 RunTest(foreman_cif); |
| 91 } | 91 } |
| 92 | 92 |
| 93 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketLoss) { | 93 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketLoss) { |
| 94 VideoQualityTest::Params foreman_cif; | 94 VideoQualityTest::Params foreman_cif; |
| 95 foreman_cif.call.send_side_bwe = true; | 95 foreman_cif.call.send_side_bwe = true; |
| 96 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false, | 96 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false, |
| 97 "VP8", 1, 0, 0, false, false, "", "foreman_cif"}; | 97 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 98 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, |
| 99 kFullStackTestDurationSecs}; | 99 kFullStackTestDurationSecs}; |
| 100 RunTest(foreman_cif); | 100 RunTest(foreman_cif); |
| 101 } | 101 } |
| 102 | 102 |
| 103 TEST_F(FullStackTest, ForemanCifPlr5) { | 103 TEST_F(FullStackTest, ForemanCifPlr5) { |
| 104 VideoQualityTest::Params foreman_cif; | 104 VideoQualityTest::Params foreman_cif; |
| 105 foreman_cif.call.send_side_bwe = true; | 105 foreman_cif.call.send_side_bwe = true; |
| 106 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 106 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 107 1, 0, 0, false, false, "", "foreman_cif"}; | 107 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 108 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, |
| 109 kFullStackTestDurationSecs}; | 109 kFullStackTestDurationSecs}; |
| 110 foreman_cif.pipe.loss_percent = 5; | 110 foreman_cif.pipe.loss_percent = 5; |
| 111 foreman_cif.pipe.queue_delay_ms = 50; | 111 foreman_cif.pipe.queue_delay_ms = 50; |
| 112 RunTest(foreman_cif); | 112 RunTest(foreman_cif); |
| 113 } | 113 } |
| 114 | 114 |
| 115 TEST_F(FullStackTest, ForemanCifPlr5Ulpfec) { | 115 TEST_F(FullStackTest, ForemanCifPlr5Ulpfec) { |
| 116 VideoQualityTest::Params foreman_cif; | 116 VideoQualityTest::Params foreman_cif; |
| 117 foreman_cif.call.send_side_bwe = true; | 117 foreman_cif.call.send_side_bwe = true; |
| 118 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 118 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 119 1, 0, 0, true, false, "", "foreman_cif"}; | 119 "VP8", 1, 0, 0, true, false, "foreman_cif"}; |
| 120 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, |
| 121 kFullStackTestDurationSecs}; | 121 kFullStackTestDurationSecs}; |
| 122 foreman_cif.pipe.loss_percent = 5; | 122 foreman_cif.pipe.loss_percent = 5; |
| 123 foreman_cif.pipe.queue_delay_ms = 50; | 123 foreman_cif.pipe.queue_delay_ms = 50; |
| 124 RunTest(foreman_cif); | 124 RunTest(foreman_cif); |
| 125 } | 125 } |
| 126 | 126 |
| 127 TEST_F(FullStackTest, ForemanCifPlr5Flexfec) { | 127 TEST_F(FullStackTest, ForemanCifPlr5Flexfec) { |
| 128 VideoQualityTest::Params foreman_cif; | 128 VideoQualityTest::Params foreman_cif; |
| 129 foreman_cif.call.send_side_bwe = true; | 129 foreman_cif.call.send_side_bwe = true; |
| 130 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 130 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 131 1, 0, 0, false, true, "", "foreman_cif"}; | 131 "VP8", 1, 0, 0, false, true, "foreman_cif"}; |
| 132 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, |
| 133 kFullStackTestDurationSecs}; | 133 kFullStackTestDurationSecs}; |
| 134 foreman_cif.pipe.loss_percent = 5; | 134 foreman_cif.pipe.loss_percent = 5; |
| 135 foreman_cif.pipe.queue_delay_ms = 50; | 135 foreman_cif.pipe.queue_delay_ms = 50; |
| 136 RunTest(foreman_cif); | 136 RunTest(foreman_cif); |
| 137 } | 137 } |
| 138 | 138 |
| 139 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Flexfec) { | 139 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Flexfec) { |
| 140 VideoQualityTest::Params foreman_cif; | 140 VideoQualityTest::Params foreman_cif; |
| 141 foreman_cif.call.send_side_bwe = true; | 141 foreman_cif.call.send_side_bwe = true; |
| 142 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, | 142 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 143 false, "VP8", 1, 0, 0, false, true, | 143 "VP8", 1, 0, 0, false, true, "foreman_cif"}; |
| 144 "", "foreman_cif"}; | |
| 145 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, |
| 146 0.0, kFullStackTestDurationSecs}; | 145 0.0, kFullStackTestDurationSecs}; |
| 147 foreman_cif.pipe.loss_percent = 3; | 146 foreman_cif.pipe.loss_percent = 3; |
| 148 foreman_cif.pipe.link_capacity_kbps = 500; | 147 foreman_cif.pipe.link_capacity_kbps = 500; |
| 149 foreman_cif.pipe.queue_delay_ms = 50; | 148 foreman_cif.pipe.queue_delay_ms = 50; |
| 150 RunTest(foreman_cif); | 149 RunTest(foreman_cif); |
| 151 } | 150 } |
| 152 | 151 |
| 153 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Ulpfec) { | 152 TEST_F(FullStackTest, ForemanCif500kbpsPlr3Ulpfec) { |
| 154 VideoQualityTest::Params foreman_cif; | 153 VideoQualityTest::Params foreman_cif; |
| 155 foreman_cif.call.send_side_bwe = true; | 154 foreman_cif.call.send_side_bwe = true; |
| 156 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, | 155 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 157 false, "VP8", 1, 0, 0, true, false, | 156 "VP8", 1, 0, 0, true, false, "foreman_cif"}; |
| 158 "", "foreman_cif"}; | |
| 159 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, |
| 160 0.0, kFullStackTestDurationSecs}; | 158 0.0, kFullStackTestDurationSecs}; |
| 161 foreman_cif.pipe.loss_percent = 3; | 159 foreman_cif.pipe.loss_percent = 3; |
| 162 foreman_cif.pipe.link_capacity_kbps = 500; | 160 foreman_cif.pipe.link_capacity_kbps = 500; |
| 163 foreman_cif.pipe.queue_delay_ms = 50; | 161 foreman_cif.pipe.queue_delay_ms = 50; |
| 164 RunTest(foreman_cif); | 162 RunTest(foreman_cif); |
| 165 } | 163 } |
| 166 | 164 |
| 167 #if defined(WEBRTC_USE_H264) | 165 #if defined(WEBRTC_USE_H264) |
| 168 TEST_F(FullStackTest, ForemanCifWithoutPacketlossH264) { | 166 TEST_F(FullStackTest, ForemanCifWithoutPacketlossH264) { |
| 169 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 167 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
| 170 VideoQualityTest::Params foreman_cif; | 168 VideoQualityTest::Params foreman_cif; |
| 171 foreman_cif.call.send_side_bwe = true; | 169 foreman_cif.call.send_side_bwe = true; |
| 172 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, | 170 foreman_cif.video = {true, 352, 288, 30, 700000, |
| 173 "H264", 1, 0, 0, false, false, "", "foreman_cif"}; | 171 700000, 700000, false, "H264", 1, |
| 172 0, 0, false, false, "foreman_cif"}; |
| 174 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, |
| 175 kFullStackTestDurationSecs}; | 174 kFullStackTestDurationSecs}; |
| 176 RunTest(foreman_cif); | 175 RunTest(foreman_cif); |
| 177 } | 176 } |
| 178 | 177 |
| 179 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketlossH264) { | 178 TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketlossH264) { |
| 180 VideoQualityTest::Params foreman_cif; | 179 VideoQualityTest::Params foreman_cif; |
| 181 foreman_cif.call.send_side_bwe = true; | 180 foreman_cif.call.send_side_bwe = true; |
| 182 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false, "H264", | 181 foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false, |
| 183 1, 0, 0, false, false, "", "foreman_cif"}; | 182 "H264", 1, 0, 0, false, false, "foreman_cif"}; |
| 184 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, |
| 185 0.0, kFullStackTestDurationSecs}; | 184 0.0, kFullStackTestDurationSecs}; |
| 186 RunTest(foreman_cif); | 185 RunTest(foreman_cif); |
| 187 } | 186 } |
| 188 | 187 |
| 189 TEST_F(FullStackTest, ForemanCifPlr5H264) { | 188 TEST_F(FullStackTest, ForemanCifPlr5H264) { |
| 190 VideoQualityTest::Params foreman_cif; | 189 VideoQualityTest::Params foreman_cif; |
| 191 foreman_cif.call.send_side_bwe = true; | 190 foreman_cif.call.send_side_bwe = true; |
| 192 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, | 191 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 193 "H264", 1, 0, 0, false, false, "", "foreman_cif"}; | 192 "H264", 1, 0, 0, false, false, "foreman_cif"}; |
| 194 std::string fec_description; | 193 std::string fec_description; |
| 195 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, |
| 196 kFullStackTestDurationSecs}; | 195 kFullStackTestDurationSecs}; |
| 197 foreman_cif.pipe.loss_percent = 5; | 196 foreman_cif.pipe.loss_percent = 5; |
| 198 foreman_cif.pipe.queue_delay_ms = 50; | 197 foreman_cif.pipe.queue_delay_ms = 50; |
| 199 RunTest(foreman_cif); | 198 RunTest(foreman_cif); |
| 200 } | 199 } |
| 201 | 200 |
| 202 // Verify that this is worth the bot time, before enabling. | 201 // Verify that this is worth the bot time, before enabling. |
| 203 TEST_F(FullStackTest, ForemanCifPlr5H264Flexfec) { | 202 TEST_F(FullStackTest, ForemanCifPlr5H264Flexfec) { |
| 204 VideoQualityTest::Params foreman_cif; | 203 VideoQualityTest::Params foreman_cif; |
| 205 foreman_cif.call.send_side_bwe = true; | 204 foreman_cif.call.send_side_bwe = true; |
| 206 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, | 205 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 207 "H264", 1, 0, 0, false, true, "", "foreman_cif"}; | 206 "H264", 1, 0, 0, false, true, "foreman_cif"}; |
| 208 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, |
| 209 kFullStackTestDurationSecs}; | 208 kFullStackTestDurationSecs}; |
| 210 foreman_cif.pipe.loss_percent = 5; | 209 foreman_cif.pipe.loss_percent = 5; |
| 211 foreman_cif.pipe.queue_delay_ms = 50; | 210 foreman_cif.pipe.queue_delay_ms = 50; |
| 212 RunTest(foreman_cif); | 211 RunTest(foreman_cif); |
| 213 } | 212 } |
| 214 | 213 |
| 215 // 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 |
| 216 // for debugging. It is therefore disabled by default. | 215 // for debugging. It is therefore disabled by default. |
| 217 TEST_F(FullStackTest, DISABLED_ForemanCifPlr5H264Ulpfec) { | 216 TEST_F(FullStackTest, DISABLED_ForemanCifPlr5H264Ulpfec) { |
| 218 VideoQualityTest::Params foreman_cif; | 217 VideoQualityTest::Params foreman_cif; |
| 219 foreman_cif.call.send_side_bwe = true; | 218 foreman_cif.call.send_side_bwe = true; |
| 220 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, | 219 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 221 "H264", 1, 0, 0, true, false, "", "foreman_cif"}; | 220 "H264", 1, 0, 0, true, false, "foreman_cif"}; |
| 222 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, |
| 223 kFullStackTestDurationSecs}; | 222 kFullStackTestDurationSecs}; |
| 224 foreman_cif.pipe.loss_percent = 5; | 223 foreman_cif.pipe.loss_percent = 5; |
| 225 foreman_cif.pipe.queue_delay_ms = 50; | 224 foreman_cif.pipe.queue_delay_ms = 50; |
| 226 RunTest(foreman_cif); | 225 RunTest(foreman_cif); |
| 227 } | 226 } |
| 228 #endif // defined(WEBRTC_USE_H264) | 227 #endif // defined(WEBRTC_USE_H264) |
| 229 | 228 |
| 230 TEST_F(FullStackTest, ForemanCif500kbps) { | 229 TEST_F(FullStackTest, ForemanCif500kbps) { |
| 231 VideoQualityTest::Params foreman_cif; | 230 VideoQualityTest::Params foreman_cif; |
| 232 foreman_cif.call.send_side_bwe = true; | 231 foreman_cif.call.send_side_bwe = true; |
| 233 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 232 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 234 1, 0, 0, false, false, "", "foreman_cif"}; | 233 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 235 foreman_cif.analyzer = {"foreman_cif_500kbps", 0.0, 0.0, | 234 foreman_cif.analyzer = {"foreman_cif_500kbps", 0.0, 0.0, |
| 236 kFullStackTestDurationSecs}; | 235 kFullStackTestDurationSecs}; |
| 237 foreman_cif.pipe.queue_length_packets = 0; | 236 foreman_cif.pipe.queue_length_packets = 0; |
| 238 foreman_cif.pipe.queue_delay_ms = 0; | 237 foreman_cif.pipe.queue_delay_ms = 0; |
| 239 foreman_cif.pipe.link_capacity_kbps = 500; | 238 foreman_cif.pipe.link_capacity_kbps = 500; |
| 240 RunTest(foreman_cif); | 239 RunTest(foreman_cif); |
| 241 } | 240 } |
| 242 | 241 |
| 243 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { | 242 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { |
| 244 VideoQualityTest::Params foreman_cif; | 243 VideoQualityTest::Params foreman_cif; |
| 245 foreman_cif.call.send_side_bwe = true; | 244 foreman_cif.call.send_side_bwe = true; |
| 246 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 245 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 247 1, 0, 0, false, false, "", "foreman_cif"}; | 246 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 248 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, |
| 249 kFullStackTestDurationSecs}; | 248 kFullStackTestDurationSecs}; |
| 250 foreman_cif.pipe.queue_length_packets = 32; | 249 foreman_cif.pipe.queue_length_packets = 32; |
| 251 foreman_cif.pipe.queue_delay_ms = 0; | 250 foreman_cif.pipe.queue_delay_ms = 0; |
| 252 foreman_cif.pipe.link_capacity_kbps = 500; | 251 foreman_cif.pipe.link_capacity_kbps = 500; |
| 253 RunTest(foreman_cif); | 252 RunTest(foreman_cif); |
| 254 } | 253 } |
| 255 | 254 |
| 256 TEST_F(FullStackTest, ForemanCif500kbps100ms) { | 255 TEST_F(FullStackTest, ForemanCif500kbps100ms) { |
| 257 VideoQualityTest::Params foreman_cif; | 256 VideoQualityTest::Params foreman_cif; |
| 258 foreman_cif.call.send_side_bwe = true; | 257 foreman_cif.call.send_side_bwe = true; |
| 259 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 258 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 260 1, 0, 0, false, false, "", "foreman_cif"}; | 259 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 261 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms", 0.0, 0.0, | 260 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms", 0.0, 0.0, |
| 262 kFullStackTestDurationSecs}; | 261 kFullStackTestDurationSecs}; |
| 263 foreman_cif.pipe.queue_length_packets = 0; | 262 foreman_cif.pipe.queue_length_packets = 0; |
| 264 foreman_cif.pipe.queue_delay_ms = 100; | 263 foreman_cif.pipe.queue_delay_ms = 100; |
| 265 foreman_cif.pipe.link_capacity_kbps = 500; | 264 foreman_cif.pipe.link_capacity_kbps = 500; |
| 266 RunTest(foreman_cif); | 265 RunTest(foreman_cif); |
| 267 } | 266 } |
| 268 | 267 |
| 269 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { | 268 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { |
| 270 VideoQualityTest::Params foreman_cif; | 269 VideoQualityTest::Params foreman_cif; |
| 271 foreman_cif.call.send_side_bwe = true; | 270 foreman_cif.call.send_side_bwe = true; |
| 272 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 271 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 273 1, 0, 0, false, false, "", "foreman_cif"}; | 272 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 274 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, |
| 275 kFullStackTestDurationSecs}; | 274 kFullStackTestDurationSecs}; |
| 276 foreman_cif.pipe.queue_length_packets = 32; | 275 foreman_cif.pipe.queue_length_packets = 32; |
| 277 foreman_cif.pipe.queue_delay_ms = 100; | 276 foreman_cif.pipe.queue_delay_ms = 100; |
| 278 foreman_cif.pipe.link_capacity_kbps = 500; | 277 foreman_cif.pipe.link_capacity_kbps = 500; |
| 279 RunTest(foreman_cif); | 278 RunTest(foreman_cif); |
| 280 } | 279 } |
| 281 | 280 |
| 282 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) { | 281 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) { |
| 283 VideoQualityTest::Params foreman_cif; | 282 VideoQualityTest::Params foreman_cif; |
| 284 foreman_cif.call.send_side_bwe = false; | 283 foreman_cif.call.send_side_bwe = false; |
| 285 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 284 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
| 286 1, 0, 0, false, false, "", "foreman_cif"}; | 285 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 287 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue_recv_bwe", | 286 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue_recv_bwe", |
| 288 0.0, 0.0, kFullStackTestDurationSecs}; | 287 0.0, 0.0, kFullStackTestDurationSecs}; |
| 289 foreman_cif.pipe.queue_length_packets = 32; | 288 foreman_cif.pipe.queue_length_packets = 32; |
| 290 foreman_cif.pipe.queue_delay_ms = 100; | 289 foreman_cif.pipe.queue_delay_ms = 100; |
| 291 foreman_cif.pipe.link_capacity_kbps = 500; | 290 foreman_cif.pipe.link_capacity_kbps = 500; |
| 292 RunTest(foreman_cif); | 291 RunTest(foreman_cif); |
| 293 } | 292 } |
| 294 | 293 |
| 295 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { | 294 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { |
| 296 VideoQualityTest::Params foreman_cif; | 295 VideoQualityTest::Params foreman_cif; |
| 297 foreman_cif.call.send_side_bwe = true; | 296 foreman_cif.call.send_side_bwe = true; |
| 298 foreman_cif.video = {true, 352, 288, 30, 30000, 2000000, 2000000, false, | 297 foreman_cif.video = {true, 352, 288, 30, 30000, 2000000, 2000000, false, |
| 299 "VP8", 1, 0, 0, false, false, "", "foreman_cif"}; | 298 "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
| 300 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, |
| 301 kFullStackTestDurationSecs}; | 300 kFullStackTestDurationSecs}; |
| 302 foreman_cif.pipe.queue_length_packets = 32; | 301 foreman_cif.pipe.queue_length_packets = 32; |
| 303 foreman_cif.pipe.queue_delay_ms = 100; | 302 foreman_cif.pipe.queue_delay_ms = 100; |
| 304 foreman_cif.pipe.link_capacity_kbps = 1000; | 303 foreman_cif.pipe.link_capacity_kbps = 1000; |
| 305 RunTest(foreman_cif); | 304 RunTest(foreman_cif); |
| 306 } | 305 } |
| 307 | 306 |
| 308 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) { | 307 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) { |
| 309 VideoQualityTest::Params conf_motion_hd; | 308 VideoQualityTest::Params conf_motion_hd; |
| 310 conf_motion_hd.call.send_side_bwe = true; | 309 conf_motion_hd.call.send_side_bwe = true; |
| 311 conf_motion_hd.video = {true, 1280, 720, 50, 30000, 3000000, 3000000, false, | 310 conf_motion_hd.video = { |
| 312 "VP8", 1, 0, 0, false, false, "", | 311 true, 1280, 720, 50, 30000, |
| 313 "ConferenceMotion_1280_720_50"}; | 312 3000000, 3000000, false, "VP8", 1, |
| 313 0, 0, false, false, "ConferenceMotion_1280_720_50"}; |
| 314 conf_motion_hd.analyzer = {"conference_motion_hd_2000kbps_100ms_32pkts_queue", | 314 conf_motion_hd.analyzer = {"conference_motion_hd_2000kbps_100ms_32pkts_queue", |
| 315 0.0, 0.0, kFullStackTestDurationSecs}; | 315 0.0, 0.0, kFullStackTestDurationSecs}; |
| 316 conf_motion_hd.pipe.queue_length_packets = 32; | 316 conf_motion_hd.pipe.queue_length_packets = 32; |
| 317 conf_motion_hd.pipe.queue_delay_ms = 100; | 317 conf_motion_hd.pipe.queue_delay_ms = 100; |
| 318 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 318 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
| 319 RunTest(conf_motion_hd); | 319 RunTest(conf_motion_hd); |
| 320 } | 320 } |
| 321 | 321 |
| 322 #if !defined(RTC_DISABLE_VP9) | 322 #if !defined(RTC_DISABLE_VP9) |
| 323 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueueVP9) { | 323 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueueVP9) { |
| 324 VideoQualityTest::Params conf_motion_hd; | 324 VideoQualityTest::Params conf_motion_hd; |
| 325 conf_motion_hd.call.send_side_bwe = true; | 325 conf_motion_hd.call.send_side_bwe = true; |
| 326 conf_motion_hd.video = {true, 1280, 720, 50, 30000, 3000000, 3000000, false, | 326 conf_motion_hd.video = { |
| 327 "VP9", 1, 0, 0, false, false, "", | 327 true, 1280, 720, 50, 30000, |
| 328 "ConferenceMotion_1280_720_50"}; | 328 3000000, 3000000, false, "VP9", 1, |
| 329 0, 0, false, false, "ConferenceMotion_1280_720_50"}; |
| 329 conf_motion_hd.analyzer = { | 330 conf_motion_hd.analyzer = { |
| 330 "conference_motion_hd_2000kbps_100ms_32pkts_queue_vp9", 0.0, 0.0, | 331 "conference_motion_hd_2000kbps_100ms_32pkts_queue_vp9", 0.0, 0.0, |
| 331 kFullStackTestDurationSecs}; | 332 kFullStackTestDurationSecs}; |
| 332 conf_motion_hd.pipe.queue_length_packets = 32; | 333 conf_motion_hd.pipe.queue_length_packets = 32; |
| 333 conf_motion_hd.pipe.queue_delay_ms = 100; | 334 conf_motion_hd.pipe.queue_delay_ms = 100; |
| 334 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 335 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
| 335 RunTest(conf_motion_hd); | 336 RunTest(conf_motion_hd); |
| 336 } | 337 } |
| 337 #endif | 338 #endif |
| 338 | 339 |
| 339 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { | 340 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { |
| 340 VideoQualityTest::Params screenshare; | 341 VideoQualityTest::Params screenshare; |
| 341 screenshare.call.send_side_bwe = true; | 342 screenshare.call.send_side_bwe = true; |
| 342 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 343 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 343 "VP8", 2, 1, 400000, false, false, "", ""}; | 344 "VP8", 2, 1, 400000, false, false, ""}; |
| 344 screenshare.screenshare = {true, 10}; | 345 screenshare.screenshare = {true, 10}; |
| 345 screenshare.analyzer = {"screenshare_slides", 0.0, 0.0, | 346 screenshare.analyzer = {"screenshare_slides", 0.0, 0.0, |
| 346 kFullStackTestDurationSecs}; | 347 kFullStackTestDurationSecs}; |
| 347 RunTest(screenshare); | 348 RunTest(screenshare); |
| 348 } | 349 } |
| 349 | 350 |
| 350 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast) { | 351 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast) { |
| 351 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment); | 352 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment); |
| 352 VideoQualityTest::Params screenshare; | 353 VideoQualityTest::Params screenshare; |
| 353 screenshare.call.send_side_bwe = true; | 354 screenshare.call.send_side_bwe = true; |
| 354 screenshare.screenshare = {true, 10}; | 355 screenshare.screenshare = {true, 10}; |
| 355 screenshare.video = {true, 1850, 1110, 5, 800000, 2500000, | 356 screenshare.video = {true, 1850, 1110, 5, 800000, |
| 356 2500000, false, "VP8", 3, 2, 400000, | 357 2500000, 2500000, false, "VP8", 3, |
| 357 false, false, "", ""}; | 358 2, 400000, false, false, ""}; |
| 358 screenshare.analyzer = {"screenshare_slides_simulcast", 0.0, 0.0, | 359 screenshare.analyzer = {"screenshare_slides_simulcast", 0.0, 0.0, |
| 359 kFullStackTestDurationSecs}; | 360 kFullStackTestDurationSecs}; |
| 360 VideoQualityTest::Params screenshare_params_high; | 361 VideoQualityTest::Params screenshare_params_high; |
| 361 screenshare_params_high.video = {true, 1850, 1110, 5, 800000, 2500000, | 362 screenshare_params_high.video = {true, 1850, 1110, 5, 800000, |
| 362 2500000, false, "VP8", 3, 0, 400000, | 363 2500000, 2500000, false, "VP8", 3, |
| 363 false, false, "", ""}; | 364 0, 400000, false, false, ""}; |
| 364 VideoQualityTest::Params screenshare_params_low; | 365 VideoQualityTest::Params screenshare_params_low; |
| 365 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, | 366 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, |
| 366 2000000, false, "VP8", 2, 0, 400000, | 367 200000, 2000000, false, "VP8", 2, |
| 367 false, false, "", ""}; | 368 0, 400000, false, false, ""}; |
| 368 | 369 |
| 369 std::vector<VideoStream> streams = { | 370 std::vector<VideoStream> streams = { |
| 370 DefaultVideoStream(screenshare_params_low), | 371 DefaultVideoStream(screenshare_params_low), |
| 371 DefaultVideoStream(screenshare_params_high)}; | 372 DefaultVideoStream(screenshare_params_high)}; |
| 372 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; | 373 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; |
| 373 RunTest(screenshare); | 374 RunTest(screenshare); |
| 374 } | 375 } |
| 375 | 376 |
| 376 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { | 377 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { |
| 377 VideoQualityTest::Params config; | 378 VideoQualityTest::Params config; |
| 378 config.call.send_side_bwe = true; | 379 config.call.send_side_bwe = true; |
| 379 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false, | 380 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false, |
| 380 "VP8", 2, 1, 400000, false, false, "", ""}; | 381 "VP8", 2, 1, 400000, false, false, ""}; |
| 381 config.screenshare = {true, 10, 2}; | 382 config.screenshare = {true, 10, 2}; |
| 382 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0, | 383 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0, |
| 383 kFullStackTestDurationSecs}; | 384 kFullStackTestDurationSecs}; |
| 384 RunTest(config); | 385 RunTest(config); |
| 385 } | 386 } |
| 386 | 387 |
| 387 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { | 388 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { |
| 388 VideoQualityTest::Params screenshare; | 389 VideoQualityTest::Params screenshare; |
| 389 screenshare.call.send_side_bwe = true; | 390 screenshare.call.send_side_bwe = true; |
| 390 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 391 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 391 "VP8", 2, 1, 400000, false, false, "", ""}; | 392 "VP8", 2, 1, 400000, false, false, ""}; |
| 392 screenshare.screenshare = {true, 10}; | 393 screenshare.screenshare = {true, 10}; |
| 393 screenshare.analyzer = {"screenshare_slides_lossy_net", 0.0, 0.0, | 394 screenshare.analyzer = {"screenshare_slides_lossy_net", 0.0, 0.0, |
| 394 kFullStackTestDurationSecs}; | 395 kFullStackTestDurationSecs}; |
| 395 screenshare.pipe.loss_percent = 5; | 396 screenshare.pipe.loss_percent = 5; |
| 396 screenshare.pipe.queue_delay_ms = 200; | 397 screenshare.pipe.queue_delay_ms = 200; |
| 397 screenshare.pipe.link_capacity_kbps = 500; | 398 screenshare.pipe.link_capacity_kbps = 500; |
| 398 RunTest(screenshare); | 399 RunTest(screenshare); |
| 399 } | 400 } |
| 400 | 401 |
| 401 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { | 402 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { |
| 402 VideoQualityTest::Params screenshare; | 403 VideoQualityTest::Params screenshare; |
| 403 screenshare.call.send_side_bwe = true; | 404 screenshare.call.send_side_bwe = true; |
| 404 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 405 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 405 "VP8", 2, 1, 400000, false, false, "", ""}; | 406 "VP8", 2, 1, 400000, false, false, ""}; |
| 406 screenshare.screenshare = {true, 10}; | 407 screenshare.screenshare = {true, 10}; |
| 407 screenshare.analyzer = {"screenshare_slides_very_lossy", 0.0, 0.0, | 408 screenshare.analyzer = {"screenshare_slides_very_lossy", 0.0, 0.0, |
| 408 kFullStackTestDurationSecs}; | 409 kFullStackTestDurationSecs}; |
| 409 screenshare.pipe.loss_percent = 10; | 410 screenshare.pipe.loss_percent = 10; |
| 410 screenshare.pipe.queue_delay_ms = 200; | 411 screenshare.pipe.queue_delay_ms = 200; |
| 411 screenshare.pipe.link_capacity_kbps = 500; | 412 screenshare.pipe.link_capacity_kbps = 500; |
| 412 RunTest(screenshare); | 413 RunTest(screenshare); |
| 413 } | 414 } |
| 414 | 415 |
| 415 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue) { | 416 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue) { |
| 416 VideoQualityTest::Params screenshare; | 417 VideoQualityTest::Params screenshare; |
| 417 screenshare.call.send_side_bwe = true; | 418 screenshare.call.send_side_bwe = true; |
| 418 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 419 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 419 "VP8", 2, 1, 400000, false, false, "", ""}; | 420 "VP8", 2, 1, 400000, false, false, ""}; |
| 420 screenshare.screenshare = {true, 10}; | 421 screenshare.screenshare = {true, 10}; |
| 421 screenshare.analyzer = {"screenshare_slides_lossy_limited", 0.0, 0.0, | 422 screenshare.analyzer = {"screenshare_slides_lossy_limited", 0.0, 0.0, |
| 422 kFullStackTestDurationSecs}; | 423 kFullStackTestDurationSecs}; |
| 423 screenshare.pipe.loss_percent = 5; | 424 screenshare.pipe.loss_percent = 5; |
| 424 screenshare.pipe.link_capacity_kbps = 200; | 425 screenshare.pipe.link_capacity_kbps = 200; |
| 425 screenshare.pipe.queue_length_packets = 30; | 426 screenshare.pipe.queue_length_packets = 30; |
| 426 | 427 |
| 427 RunTest(screenshare); | 428 RunTest(screenshare); |
| 428 } | 429 } |
| 429 | 430 |
| 430 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted) { | 431 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted) { |
| 431 VideoQualityTest::Params screenshare; | 432 VideoQualityTest::Params screenshare; |
| 432 screenshare.call.send_side_bwe = true; | 433 screenshare.call.send_side_bwe = true; |
| 433 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 434 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 434 "VP8", 2, 1, 400000, false, false, "", ""}; | 435 "VP8", 2, 1, 400000, false, false, ""}; |
| 435 screenshare.screenshare = {true, 10}; | 436 screenshare.screenshare = {true, 10}; |
| 436 screenshare.analyzer = {"screenshare_slides_moderately_restricted", 0.0, 0.0, | 437 screenshare.analyzer = {"screenshare_slides_moderately_restricted", 0.0, 0.0, |
| 437 kFullStackTestDurationSecs}; | 438 kFullStackTestDurationSecs}; |
| 438 screenshare.pipe.loss_percent = 1; | 439 screenshare.pipe.loss_percent = 1; |
| 439 screenshare.pipe.link_capacity_kbps = 1200; | 440 screenshare.pipe.link_capacity_kbps = 1200; |
| 440 screenshare.pipe.queue_length_packets = 30; | 441 screenshare.pipe.queue_length_packets = 30; |
| 441 | 442 |
| 442 RunTest(screenshare); | 443 RunTest(screenshare); |
| 443 } | 444 } |
| 444 | 445 |
| 445 // TODO(sprang): Retire these tests once experiment is removed. | 446 // TODO(sprang): Retire these tests once experiment is removed. |
| 446 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue_ALR) { | 447 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue_ALR) { |
| 447 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); | 448 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
| 448 VideoQualityTest::Params screenshare; | 449 VideoQualityTest::Params screenshare; |
| 449 screenshare.call.send_side_bwe = true; | 450 screenshare.call.send_side_bwe = true; |
| 450 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 451 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 451 "VP8", 2, 1, 400000, false, false, "", ""}; | 452 "VP8", 2, 1, 400000, false, false, ""}; |
| 452 screenshare.screenshare = {true, 10}; | 453 screenshare.screenshare = {true, 10}; |
| 453 screenshare.analyzer = {"screenshare_slides_lossy_limited_ALR", 0.0, 0.0, | 454 screenshare.analyzer = {"screenshare_slides_lossy_limited_ALR", 0.0, 0.0, |
| 454 kFullStackTestDurationSecs}; | 455 kFullStackTestDurationSecs}; |
| 455 screenshare.pipe.loss_percent = 5; | 456 screenshare.pipe.loss_percent = 5; |
| 456 screenshare.pipe.link_capacity_kbps = 200; | 457 screenshare.pipe.link_capacity_kbps = 200; |
| 457 screenshare.pipe.queue_length_packets = 30; | 458 screenshare.pipe.queue_length_packets = 30; |
| 458 | 459 |
| 459 RunTest(screenshare); | 460 RunTest(screenshare); |
| 460 } | 461 } |
| 461 | 462 |
| 462 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ALR) { | 463 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ALR) { |
| 463 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); | 464 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
| 464 VideoQualityTest::Params screenshare; | 465 VideoQualityTest::Params screenshare; |
| 465 screenshare.call.send_side_bwe = true; | 466 screenshare.call.send_side_bwe = true; |
| 466 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 467 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 467 "VP8", 2, 1, 400000, false, false, "", ""}; | 468 "VP8", 2, 1, 400000, false, false, ""}; |
| 468 screenshare.screenshare = {true, 10}; | 469 screenshare.screenshare = {true, 10}; |
| 469 screenshare.analyzer = {"screenshare_slides_ALR", 0.0, 0.0, | 470 screenshare.analyzer = {"screenshare_slides_ALR", 0.0, 0.0, |
| 470 kFullStackTestDurationSecs}; | 471 kFullStackTestDurationSecs}; |
| 471 RunTest(screenshare); | 472 RunTest(screenshare); |
| 472 } | 473 } |
| 473 | 474 |
| 474 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted_ALR) { | 475 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted_ALR) { |
| 475 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); | 476 test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
| 476 VideoQualityTest::Params screenshare; | 477 VideoQualityTest::Params screenshare; |
| 477 screenshare.call.send_side_bwe = true; | 478 screenshare.call.send_side_bwe = true; |
| 478 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 479 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 479 "VP8", 2, 1, 400000, false, false, "", ""}; | 480 "VP8", 2, 1, 400000, false, false, ""}; |
| 480 screenshare.screenshare = {true, 10}; | 481 screenshare.screenshare = {true, 10}; |
| 481 screenshare.analyzer = {"screenshare_slides_moderately_restricted_ALR", 0.0, | 482 screenshare.analyzer = {"screenshare_slides_moderately_restricted_ALR", 0.0, |
| 482 0.0, kFullStackTestDurationSecs}; | 483 0.0, kFullStackTestDurationSecs}; |
| 483 screenshare.pipe.loss_percent = 1; | 484 screenshare.pipe.loss_percent = 1; |
| 484 screenshare.pipe.link_capacity_kbps = 1200; | 485 screenshare.pipe.link_capacity_kbps = 1200; |
| 485 screenshare.pipe.queue_length_packets = 30; | 486 screenshare.pipe.queue_length_packets = 30; |
| 486 | 487 |
| 487 RunTest(screenshare); | 488 RunTest(screenshare); |
| 488 } | 489 } |
| 489 | 490 |
| 490 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast_ALR) { | 491 TEST_F(FullStackTest, ScreenshareSlidesVP8_3TL_Simulcast_ALR) { |
| 491 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment + | 492 test::ScopedFieldTrials field_trial(kScreenshareSimulcastExperiment + |
| 492 kAlrProbingExperiment); | 493 kAlrProbingExperiment); |
| 493 VideoQualityTest::Params screenshare; | 494 VideoQualityTest::Params screenshare; |
| 494 screenshare.call.send_side_bwe = true; | 495 screenshare.call.send_side_bwe = true; |
| 495 screenshare.screenshare = {true, 10}; | 496 screenshare.screenshare = {true, 10}; |
| 496 screenshare.video = {true, 1850, 1110, 5, 800000, 2500000, | 497 screenshare.video = {true, 1850, 1110, 5, 800000, |
| 497 2500000, false, "VP8", 3, 2, 400000, | 498 2500000, 2500000, false, "VP8", 3, |
| 498 false, false, "", ""}; | 499 2, 400000, false, false, ""}; |
| 499 screenshare.analyzer = {"screenshare_slides_simulcast_alr", 0.0, 0.0, | 500 screenshare.analyzer = {"screenshare_slides_simulcast_alr", 0.0, 0.0, |
| 500 kFullStackTestDurationSecs}; | 501 kFullStackTestDurationSecs}; |
| 501 VideoQualityTest::Params screenshare_params_high; | 502 VideoQualityTest::Params screenshare_params_high; |
| 502 screenshare_params_high.video = {true, 1850, 1110, 5, 800000, 2500000, | 503 screenshare_params_high.video = {true, 1850, 1110, 5, 800000, |
| 503 2500000, false, "VP8", 3, 0, 400000, | 504 2500000, 2500000, false, "VP8", 3, |
| 504 false, false, "", ""}; | 505 0, 400000, false, false, ""}; |
| 505 VideoQualityTest::Params screenshare_params_low; | 506 VideoQualityTest::Params screenshare_params_low; |
| 506 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, | 507 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, |
| 507 2000000, false, "VP8", 2, 0, 400000, | 508 200000, 2000000, false, "VP8", 2, |
| 508 false, false, "", ""}; | 509 0, 400000, false, false, ""}; |
| 509 | 510 |
| 510 std::vector<VideoStream> streams = { | 511 std::vector<VideoStream> streams = { |
| 511 DefaultVideoStream(screenshare_params_low), | 512 DefaultVideoStream(screenshare_params_low), |
| 512 DefaultVideoStream(screenshare_params_high)}; | 513 DefaultVideoStream(screenshare_params_high)}; |
| 513 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; | 514 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false}; |
| 514 RunTest(screenshare); | 515 RunTest(screenshare); |
| 515 } | 516 } |
| 516 | 517 |
| 517 const VideoQualityTest::Params::Video kSvcVp9Video = { | 518 const VideoQualityTest::Params::Video kSvcVp9Video = { |
| 518 true, 1280, 720, 30, | 519 true, 1280, 720, 30, 800000, |
| 519 800000, 2500000, 2500000, false, | 520 2500000, 2500000, false, "VP9", 3, |
| 520 "VP9", 3, 2, 400000, | 521 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
| 521 false, false, "", "ConferenceMotion_1280_720_50"}; | |
| 522 | 522 |
| 523 const VideoQualityTest::Params::Video kSimulcastVp8VideoHigh = { | 523 const VideoQualityTest::Params::Video kSimulcastVp8VideoHigh = { |
| 524 true, 1280, 720, 30, | 524 true, 1280, 720, 30, 800000, |
| 525 800000, 2500000, 2500000, false, | 525 2500000, 2500000, false, "VP8", 3, |
| 526 "VP8", 3, 2, 400000, | 526 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
| 527 false, false, "", "ConferenceMotion_1280_720_50"}; | |
| 528 | 527 |
| 529 const VideoQualityTest::Params::Video kSimulcastVp8VideoMedium = { | 528 const VideoQualityTest::Params::Video kSimulcastVp8VideoMedium = { |
| 530 true, 640, 360, 30, | 529 true, 640, 360, 30, 150000, |
| 531 150000, 500000, 700000, false, | 530 500000, 700000, false, "VP8", 3, |
| 532 "VP8", 3, 2, 400000, | 531 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
| 533 false, false, "", "ConferenceMotion_1280_720_50"}; | |
| 534 | 532 |
| 535 const VideoQualityTest::Params::Video kSimulcastVp8VideoLow = { | 533 const VideoQualityTest::Params::Video kSimulcastVp8VideoLow = { |
| 536 true, 320, 180, 30, | 534 true, 320, 180, 30, 30000, |
| 537 30000, 150000, 200000, false, | 535 150000, 200000, false, "VP8", 3, |
| 538 "VP8", 3, 2, 400000, | 536 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
| 539 false, false, "", "ConferenceMotion_1280_720_50"}; | |
| 540 | 537 |
| 541 #if !defined(RTC_DISABLE_VP9) | 538 #if !defined(RTC_DISABLE_VP9) |
| 542 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { | 539 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { |
| 543 VideoQualityTest::Params screenshare; | 540 VideoQualityTest::Params screenshare; |
| 544 screenshare.call.send_side_bwe = true; | 541 screenshare.call.send_side_bwe = true; |
| 545 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 542 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
| 546 "VP9", 1, 0, 400000, false, false, "", ""}; | 543 "VP9", 1, 0, 400000, false, false, ""}; |
| 547 screenshare.screenshare = {true, 10}; | 544 screenshare.screenshare = {true, 10}; |
| 548 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, | 545 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, |
| 549 kFullStackTestDurationSecs}; | 546 kFullStackTestDurationSecs}; |
| 550 screenshare.logs = false; | |
| 551 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1, | 547 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1, |
| 552 std::vector<SpatialLayer>(), false}; | 548 std::vector<SpatialLayer>(), false}; |
| 553 RunTest(screenshare); | 549 RunTest(screenshare); |
| 554 } | 550 } |
| 555 | 551 |
| 556 TEST_F(FullStackTest, VP9SVC_3SL_High) { | 552 TEST_F(FullStackTest, VP9SVC_3SL_High) { |
| 557 VideoQualityTest::Params simulcast; | 553 VideoQualityTest::Params simulcast; |
| 558 simulcast.call.send_side_bwe = true; | 554 simulcast.call.send_side_bwe = true; |
| 559 simulcast.video = kSvcVp9Video; | 555 simulcast.video = kSvcVp9Video; |
| 560 simulcast.analyzer = {"vp9svc_3sl_high", 0.0, 0.0, | 556 simulcast.analyzer = {"vp9svc_3sl_high", 0.0, 0.0, |
| 561 kFullStackTestDurationSecs}; | 557 kFullStackTestDurationSecs}; |
| 562 simulcast.logs = false; | |
| 563 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 2, | 558 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 2, |
| 564 std::vector<SpatialLayer>(), false}; | 559 std::vector<SpatialLayer>(), false}; |
| 565 RunTest(simulcast); | 560 RunTest(simulcast); |
| 566 } | 561 } |
| 567 | 562 |
| 568 TEST_F(FullStackTest, VP9SVC_3SL_Medium) { | 563 TEST_F(FullStackTest, VP9SVC_3SL_Medium) { |
| 569 VideoQualityTest::Params simulcast; | 564 VideoQualityTest::Params simulcast; |
| 570 simulcast.call.send_side_bwe = true; | 565 simulcast.call.send_side_bwe = true; |
| 571 simulcast.video = kSvcVp9Video; | 566 simulcast.video = kSvcVp9Video; |
| 572 simulcast.analyzer = {"vp9svc_3sl_medium", 0.0, 0.0, | 567 simulcast.analyzer = {"vp9svc_3sl_medium", 0.0, 0.0, |
| 573 kFullStackTestDurationSecs}; | 568 kFullStackTestDurationSecs}; |
| 574 simulcast.logs = false; | |
| 575 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 1, | 569 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 1, |
| 576 std::vector<SpatialLayer>(), false}; | 570 std::vector<SpatialLayer>(), false}; |
| 577 RunTest(simulcast); | 571 RunTest(simulcast); |
| 578 } | 572 } |
| 579 | 573 |
| 580 TEST_F(FullStackTest, VP9SVC_3SL_Low) { | 574 TEST_F(FullStackTest, VP9SVC_3SL_Low) { |
| 581 VideoQualityTest::Params simulcast; | 575 VideoQualityTest::Params simulcast; |
| 582 simulcast.call.send_side_bwe = true; | 576 simulcast.call.send_side_bwe = true; |
| 583 simulcast.video = kSvcVp9Video; | 577 simulcast.video = kSvcVp9Video; |
| 584 simulcast.analyzer = {"vp9svc_3sl_low", 0.0, 0.0, kFullStackTestDurationSecs}; | 578 simulcast.analyzer = {"vp9svc_3sl_low", 0.0, 0.0, kFullStackTestDurationSecs}; |
| 585 simulcast.logs = false; | |
| 586 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 0, | 579 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 0, |
| 587 std::vector<SpatialLayer>(), false}; | 580 std::vector<SpatialLayer>(), false}; |
| 588 RunTest(simulcast); | 581 RunTest(simulcast); |
| 589 } | 582 } |
| 590 #endif // !defined(RTC_DISABLE_VP9) | 583 #endif // !defined(RTC_DISABLE_VP9) |
| 591 | 584 |
| 592 // Android bots can't handle FullHD, so disable the test. | 585 // Android bots can't handle FullHD, so disable the test. |
| 593 #if defined(WEBRTC_ANDROID) | 586 #if defined(WEBRTC_ANDROID) |
| 594 #define MAYBE_SimulcastFullHdOveruse DISABLED_SimulcastFullHdOveruse | 587 #define MAYBE_SimulcastFullHdOveruse DISABLED_SimulcastFullHdOveruse |
| 595 #else | 588 #else |
| 596 #define MAYBE_SimulcastFullHdOveruse SimulcastFullHdOveruse | 589 #define MAYBE_SimulcastFullHdOveruse SimulcastFullHdOveruse |
| 597 #endif | 590 #endif |
| 598 | 591 |
| 599 TEST_F(FullStackTest, MAYBE_SimulcastFullHdOveruse) { | 592 TEST_F(FullStackTest, MAYBE_SimulcastFullHdOveruse) { |
| 600 VideoQualityTest::Params simulcast; | 593 VideoQualityTest::Params simulcast; |
| 601 simulcast.call.send_side_bwe = true; | 594 simulcast.call.send_side_bwe = true; |
| 602 simulcast.video = {true, 1920, 1080, 30, 800000, 2500000, | 595 simulcast.video = {true, 1920, 1080, 30, 800000, |
| 603 2500000, false, "VP8", 3, 2, 400000, | 596 2500000, 2500000, false, "VP8", 3, |
| 604 false, false, "", "Generator"}; | 597 2, 400000, false, false, "Generator"}; |
| 605 simulcast.analyzer = {"simulcast_HD_high", 0.0, 0.0, | 598 simulcast.analyzer = {"simulcast_HD_high", 0.0, 0.0, |
| 606 kFullStackTestDurationSecs}; | 599 kFullStackTestDurationSecs}; |
| 607 simulcast.pipe.loss_percent = 0; | 600 simulcast.pipe.loss_percent = 0; |
| 608 simulcast.pipe.queue_delay_ms = 100; | 601 simulcast.pipe.queue_delay_ms = 100; |
| 609 std::vector<VideoStream> streams = {DefaultVideoStream(simulcast), | 602 std::vector<VideoStream> streams = {DefaultVideoStream(simulcast), |
| 610 DefaultVideoStream(simulcast), | 603 DefaultVideoStream(simulcast), |
| 611 DefaultVideoStream(simulcast)}; | 604 DefaultVideoStream(simulcast)}; |
| 612 simulcast.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), true}; | 605 simulcast.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), true}; |
| 613 webrtc::test::ScopedFieldTrials override_trials( | 606 webrtc::test::ScopedFieldTrials override_trials( |
| 614 "WebRTC-ForceSimulatedOveruseIntervalMs/1000-50000-300/"); | 607 "WebRTC-ForceSimulatedOveruseIntervalMs/1000-50000-300/"); |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 692 VideoQualityTest::Params video_params_high; | 685 VideoQualityTest::Params video_params_high; |
| 693 video_params_high.video = kSimulcastVp8VideoHigh; | 686 video_params_high.video = kSimulcastVp8VideoHigh; |
| 694 VideoQualityTest::Params video_params_medium; | 687 VideoQualityTest::Params video_params_medium; |
| 695 video_params_medium.video = kSimulcastVp8VideoMedium; | 688 video_params_medium.video = kSimulcastVp8VideoMedium; |
| 696 VideoQualityTest::Params video_params_low; | 689 VideoQualityTest::Params video_params_low; |
| 697 video_params_low.video = kSimulcastVp8VideoLow; | 690 video_params_low.video = kSimulcastVp8VideoLow; |
| 698 | 691 |
| 699 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 692 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
| 700 DefaultVideoStream(video_params_medium), | 693 DefaultVideoStream(video_params_medium), |
| 701 DefaultVideoStream(video_params_high)}; | 694 DefaultVideoStream(video_params_high)}; |
| 702 large_room.num_thumbnails = 5; | 695 large_room.call.num_thumbnails = 5; |
| 703 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; | 696 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; |
| 704 RunTest(large_room); | 697 RunTest(large_room); |
| 705 } | 698 } |
| 706 | 699 |
| 707 #if defined(WEBRTC_ANDROID) | 700 #if defined(WEBRTC_ANDROID) |
| 708 // Fails on Android: | 701 // Fails on Android: |
| 709 // https://bugs.chromium.org/p/webrtc/issues/detail?id=7301 | 702 // https://bugs.chromium.org/p/webrtc/issues/detail?id=7301 |
| 710 #define MAYBE_LargeRoomVP8_50thumb DISABLED_LargeRoomVP8_50thumb | 703 #define MAYBE_LargeRoomVP8_50thumb DISABLED_LargeRoomVP8_50thumb |
| 711 #define MAYBE_LargeRoomVP8_15thumb DISABLED_LargeRoomVP8_15thumb | 704 #define MAYBE_LargeRoomVP8_15thumb DISABLED_LargeRoomVP8_15thumb |
| 712 #else | 705 #else |
| (...skipping 12 matching lines...) Expand all Loading... |
| 725 VideoQualityTest::Params video_params_high; | 718 VideoQualityTest::Params video_params_high; |
| 726 video_params_high.video = kSimulcastVp8VideoHigh; | 719 video_params_high.video = kSimulcastVp8VideoHigh; |
| 727 VideoQualityTest::Params video_params_medium; | 720 VideoQualityTest::Params video_params_medium; |
| 728 video_params_medium.video = kSimulcastVp8VideoMedium; | 721 video_params_medium.video = kSimulcastVp8VideoMedium; |
| 729 VideoQualityTest::Params video_params_low; | 722 VideoQualityTest::Params video_params_low; |
| 730 video_params_low.video = kSimulcastVp8VideoLow; | 723 video_params_low.video = kSimulcastVp8VideoLow; |
| 731 | 724 |
| 732 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 725 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
| 733 DefaultVideoStream(video_params_medium), | 726 DefaultVideoStream(video_params_medium), |
| 734 DefaultVideoStream(video_params_high)}; | 727 DefaultVideoStream(video_params_high)}; |
| 735 large_room.num_thumbnails = 15; | 728 large_room.call.num_thumbnails = 15; |
| 736 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; | 729 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; |
| 737 RunTest(large_room); | 730 RunTest(large_room); |
| 738 } | 731 } |
| 739 | 732 |
| 740 TEST_F(FullStackTest, MAYBE_LargeRoomVP8_50thumb) { | 733 TEST_F(FullStackTest, MAYBE_LargeRoomVP8_50thumb) { |
| 741 VideoQualityTest::Params large_room; | 734 VideoQualityTest::Params large_room; |
| 742 large_room.call.send_side_bwe = true; | 735 large_room.call.send_side_bwe = true; |
| 743 large_room.video = kSimulcastVp8VideoHigh; | 736 large_room.video = kSimulcastVp8VideoHigh; |
| 744 large_room.analyzer = {"largeroom_50thumb", 0.0, 0.0, | 737 large_room.analyzer = {"largeroom_50thumb", 0.0, 0.0, |
| 745 kFullStackTestDurationSecs}; | 738 kFullStackTestDurationSecs}; |
| 746 large_room.pipe.loss_percent = 0; | 739 large_room.pipe.loss_percent = 0; |
| 747 large_room.pipe.queue_delay_ms = 100; | 740 large_room.pipe.queue_delay_ms = 100; |
| 748 VideoQualityTest::Params video_params_high; | 741 VideoQualityTest::Params video_params_high; |
| 749 video_params_high.video = kSimulcastVp8VideoHigh; | 742 video_params_high.video = kSimulcastVp8VideoHigh; |
| 750 VideoQualityTest::Params video_params_medium; | 743 VideoQualityTest::Params video_params_medium; |
| 751 video_params_medium.video = kSimulcastVp8VideoMedium; | 744 video_params_medium.video = kSimulcastVp8VideoMedium; |
| 752 VideoQualityTest::Params video_params_low; | 745 VideoQualityTest::Params video_params_low; |
| 753 video_params_low.video = kSimulcastVp8VideoLow; | 746 video_params_low.video = kSimulcastVp8VideoLow; |
| 754 | 747 |
| 755 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 748 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
| 756 DefaultVideoStream(video_params_medium), | 749 DefaultVideoStream(video_params_medium), |
| 757 DefaultVideoStream(video_params_high)}; | 750 DefaultVideoStream(video_params_high)}; |
| 758 large_room.num_thumbnails = 50; | 751 large_room.call.num_thumbnails = 50; |
| 759 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; | 752 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false}; |
| 760 RunTest(large_room); | 753 RunTest(large_room); |
| 761 } | 754 } |
| 762 | 755 |
| 763 | 756 |
| 764 } // namespace webrtc | 757 } // namespace webrtc |
| OLD | NEW |