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