| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 #include <stdio.h> | 10 #include <stdio.h> |
| 11 | 11 |
| 12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
| 13 #include "webrtc/video/video_quality_test.h" | 13 #include "webrtc/video/video_quality_test.h" |
| 14 | 14 |
| 15 namespace webrtc { | 15 namespace webrtc { |
| 16 | 16 |
| 17 static const int kFullStackTestDurationSecs = 60; | 17 static const int kFullStackTestDurationSecs = 60; |
| 18 | 18 |
| 19 class FullStackTest : public VideoQualityTest { | 19 class FullStackTest : public VideoQualityTest { |
| 20 public: | 20 public: |
| 21 void RunTest(const VideoQualityTest::Params ¶ms) { | 21 void RunTest(const VideoQualityTest::Params ¶ms) { |
| 22 RunWithAnalyzer(params); | 22 RunWithAnalyzer(params); |
| 23 } | 23 } |
| 24 | 24 |
| 25 void ForemanCifWithoutPacketLoss(const std::string& video_codec) { | 25 void ForemanCifWithoutPacketLoss(const std::string& video_codec) { |
| 26 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 26 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
| 27 VideoQualityTest::Params foreman_cif; | 27 VideoQualityTest::Params foreman_cif = { |
| 28 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, | 28 {352, 288, 30, 700000, 700000, 700000, false, video_codec, 1}, |
| 29 video_codec, 1, 0, 0, false, "foreman_cif"}; | 29 {"foreman_cif"}, |
| 30 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_" + video_codec, | 30 {}, |
| 31 0.0, 0.0, kFullStackTestDurationSecs}; | 31 {"foreman_cif_net_delay_0_0_plr_0_" + video_codec, 0.0, 0.0, |
| 32 kFullStackTestDurationSecs}}; |
| 32 RunTest(foreman_cif); | 33 RunTest(foreman_cif); |
| 33 } | 34 } |
| 34 | 35 |
| 35 void ForemanCifPlr5(const std::string& video_codec) { | 36 void ForemanCifPlr5(const std::string& video_codec) { |
| 36 VideoQualityTest::Params foreman_cif; | 37 VideoQualityTest::Params foreman_cif = { |
| 37 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, | 38 {352, 288, 30, 30000, 500000, 2000000, false, video_codec, 1}, |
| 38 video_codec, 1, 0, 0, false, "foreman_cif"}; | 39 {"foreman_cif"}, |
| 39 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_" + video_codec, 0.0, | 40 {}, |
| 40 0.0, kFullStackTestDurationSecs}; | 41 {"foreman_cif_delay_50_0_plr_5_" + video_codec, 0.0, 0.0, |
| 42 kFullStackTestDurationSecs}}; |
| 41 foreman_cif.pipe.loss_percent = 5; | 43 foreman_cif.pipe.loss_percent = 5; |
| 42 foreman_cif.pipe.queue_delay_ms = 50; | 44 foreman_cif.pipe.queue_delay_ms = 50; |
| 43 RunTest(foreman_cif); | 45 RunTest(foreman_cif); |
| 44 } | 46 } |
| 45 }; | 47 }; |
| 46 | 48 |
| 47 // VideoQualityTest::Params params = { | 49 // VideoQualityTest::Params params = { |
| 48 // { ... }, // Common. | 50 // { ... }, // Common. |
| 49 // { ... }, // Video-specific settings. | 51 // { ... }, // Video-specific settings. |
| 50 // { ... }, // Screenshare-specific settings. | 52 // { ... }, // Screenshare-specific settings. |
| 51 // { ... }, // Analyzer settings. | 53 // { ... }, // Analyzer settings. |
| 52 // pipe, // FakeNetworkPipe::Config | 54 // pipe, // FakeNetworkPipe::Config |
| 53 // { ... }, // Spatial scalability. | 55 // { ... }, // Spatial scalability. |
| 54 // logs // bool | 56 // logs // bool |
| 55 // }; | 57 // }; |
| 56 | 58 |
| 57 #if !defined(RTC_DISABLE_VP9) | 59 #if !defined(RTC_DISABLE_VP9) |
| 58 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) { | 60 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) { |
| 59 ForemanCifWithoutPacketLoss("VP9"); | 61 ForemanCifWithoutPacketLoss("VP9"); |
| 60 } | 62 } |
| 61 | 63 |
| 62 TEST_F(FullStackTest, ForemanCifPlr5Vp9) { | 64 TEST_F(FullStackTest, ForemanCifPlr5Vp9) { |
| 63 ForemanCifPlr5("VP9"); | 65 ForemanCifPlr5("VP9"); |
| 64 } | 66 } |
| 65 #endif // !defined(RTC_DISABLE_VP9) | 67 #endif // !defined(RTC_DISABLE_VP9) |
| 66 | 68 |
| 67 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { | 69 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { |
| 68 VideoQualityTest::Params paris_qcif; | 70 VideoQualityTest::Params paris_qcif = { |
| 69 paris_qcif.video = {true, 176, 144, 30, 300000, 300000, 300000, false, | 71 {176, 144, 30, 300000, 300000, 300000, false, "VP8", 1, 0, 0, true}, |
| 70 "VP8", 1, 0, 0, true, "paris_qcif"}; | 72 {"paris_qcif"}, |
| 71 paris_qcif.analyzer = {"net_delay_0_0_plr_0", 36.0, 0.96, | 73 {}, |
| 72 kFullStackTestDurationSecs}; | 74 {"net_delay_0_0_plr_0", 36.0, 0.96, kFullStackTestDurationSecs}}; |
| 73 RunTest(paris_qcif); | 75 RunTest(paris_qcif); |
| 74 } | 76 } |
| 75 | 77 |
| 76 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { | 78 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { |
| 77 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 79 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
| 78 VideoQualityTest::Params foreman_cif; | 80 VideoQualityTest::Params foreman_cif = { |
| 79 foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, "VP8", | 81 {352, 288, 30, 700000, 700000, 700000, false, "VP8", 1, 0, 0, true}, |
| 80 1, 0, 0, true, "foreman_cif"}; | 82 {"foreman_cif"}, |
| 81 foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0, | 83 {}, |
| 82 kFullStackTestDurationSecs}; | 84 {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0, |
| 85 kFullStackTestDurationSecs}}; |
| 83 RunTest(foreman_cif); | 86 RunTest(foreman_cif); |
| 84 } | 87 } |
| 85 | 88 |
| 86 TEST_F(FullStackTest, ForemanCifPlr5) { | 89 TEST_F(FullStackTest, ForemanCifPlr5) { |
| 87 VideoQualityTest::Params foreman_cif; | 90 VideoQualityTest::Params foreman_cif = { |
| 88 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 91 {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, |
| 89 1, 0, 0, true, "foreman_cif"}; | 92 {"foreman_cif"}, |
| 90 foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0, | 93 {}, |
| 91 kFullStackTestDurationSecs}; | 94 {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0, kFullStackTestDurationSecs}}; |
| 92 foreman_cif.pipe.loss_percent = 5; | 95 foreman_cif.pipe.loss_percent = 5; |
| 93 foreman_cif.pipe.queue_delay_ms = 50; | 96 foreman_cif.pipe.queue_delay_ms = 50; |
| 94 RunTest(foreman_cif); | 97 RunTest(foreman_cif); |
| 95 } | 98 } |
| 96 | 99 |
| 97 TEST_F(FullStackTest, ForemanCif500kbps) { | 100 TEST_F(FullStackTest, ForemanCif500kbps) { |
| 98 VideoQualityTest::Params foreman_cif; | 101 VideoQualityTest::Params foreman_cif = { |
| 99 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 102 {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, |
| 100 1, 0, 0, true, "foreman_cif"}; | 103 {"foreman_cif"}, |
| 101 foreman_cif.analyzer = {"foreman_cif_500kbps", 0.0, 0.0, | 104 {}, |
| 102 kFullStackTestDurationSecs}; | 105 {"foreman_cif_500kbps", 0.0, 0.0, kFullStackTestDurationSecs}}; |
| 103 foreman_cif.pipe.queue_length_packets = 0; | 106 foreman_cif.pipe.queue_length_packets = 0; |
| 104 foreman_cif.pipe.queue_delay_ms = 0; | 107 foreman_cif.pipe.queue_delay_ms = 0; |
| 105 foreman_cif.pipe.link_capacity_kbps = 500; | 108 foreman_cif.pipe.link_capacity_kbps = 500; |
| 106 RunTest(foreman_cif); | 109 RunTest(foreman_cif); |
| 107 } | 110 } |
| 108 | 111 |
| 109 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { | 112 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { |
| 110 VideoQualityTest::Params foreman_cif; | 113 VideoQualityTest::Params foreman_cif = { |
| 111 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 114 {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, |
| 112 1, 0, 0, true, "foreman_cif"}; | 115 {"foreman_cif"}, |
| 113 foreman_cif.analyzer = {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0, | 116 {}, |
| 114 kFullStackTestDurationSecs}; | 117 {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0, |
| 118 kFullStackTestDurationSecs}}; |
| 115 foreman_cif.pipe.queue_length_packets = 32; | 119 foreman_cif.pipe.queue_length_packets = 32; |
| 116 foreman_cif.pipe.queue_delay_ms = 0; | 120 foreman_cif.pipe.queue_delay_ms = 0; |
| 117 foreman_cif.pipe.link_capacity_kbps = 500; | 121 foreman_cif.pipe.link_capacity_kbps = 500; |
| 118 RunTest(foreman_cif); | 122 RunTest(foreman_cif); |
| 119 } | 123 } |
| 120 | 124 |
| 121 TEST_F(FullStackTest, ForemanCif500kbps100ms) { | 125 TEST_F(FullStackTest, ForemanCif500kbps100ms) { |
| 122 VideoQualityTest::Params foreman_cif; | 126 VideoQualityTest::Params foreman_cif = { |
| 123 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 127 {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, |
| 124 1, 0, 0, true, "foreman_cif"}; | 128 {"foreman_cif"}, |
| 125 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms", 0.0, 0.0, | 129 {}, |
| 126 kFullStackTestDurationSecs}; | 130 {"foreman_cif_500kbps_100ms", 0.0, 0.0, kFullStackTestDurationSecs}}; |
| 127 foreman_cif.pipe.queue_length_packets = 0; | 131 foreman_cif.pipe.queue_length_packets = 0; |
| 128 foreman_cif.pipe.queue_delay_ms = 100; | 132 foreman_cif.pipe.queue_delay_ms = 100; |
| 129 foreman_cif.pipe.link_capacity_kbps = 500; | 133 foreman_cif.pipe.link_capacity_kbps = 500; |
| 130 RunTest(foreman_cif); | 134 RunTest(foreman_cif); |
| 131 } | 135 } |
| 132 | 136 |
| 133 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { | 137 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { |
| 134 VideoQualityTest::Params foreman_cif; | 138 VideoQualityTest::Params foreman_cif = { |
| 135 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 139 {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, |
| 136 1, 0, 0, true, "foreman_cif"}; | 140 {"foreman_cif"}, |
| 137 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, | 141 {}, |
| 138 kFullStackTestDurationSecs}; | 142 {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, |
| 143 kFullStackTestDurationSecs}}; |
| 139 foreman_cif.pipe.queue_length_packets = 32; | 144 foreman_cif.pipe.queue_length_packets = 32; |
| 140 foreman_cif.pipe.queue_delay_ms = 100; | 145 foreman_cif.pipe.queue_delay_ms = 100; |
| 141 foreman_cif.pipe.link_capacity_kbps = 500; | 146 foreman_cif.pipe.link_capacity_kbps = 500; |
| 142 RunTest(foreman_cif); | 147 RunTest(foreman_cif); |
| 143 } | 148 } |
| 144 | 149 |
| 145 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) { | 150 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) { |
| 146 VideoQualityTest::Params foreman_cif; | 151 VideoQualityTest::Params foreman_cif = { |
| 147 foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, "VP8", | 152 {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, false}, |
| 148 1, 0, 0, false, "foreman_cif"}; | 153 {"foreman_cif"}, |
| 149 foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, | 154 {}, |
| 150 kFullStackTestDurationSecs}; | 155 {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, |
| 156 kFullStackTestDurationSecs}}; |
| 151 foreman_cif.pipe.queue_length_packets = 32; | 157 foreman_cif.pipe.queue_length_packets = 32; |
| 152 foreman_cif.pipe.queue_delay_ms = 100; | 158 foreman_cif.pipe.queue_delay_ms = 100; |
| 153 foreman_cif.pipe.link_capacity_kbps = 500; | 159 foreman_cif.pipe.link_capacity_kbps = 500; |
| 154 RunTest(foreman_cif); | 160 RunTest(foreman_cif); |
| 155 } | 161 } |
| 156 | 162 |
| 157 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { | 163 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { |
| 158 VideoQualityTest::Params foreman_cif; | 164 VideoQualityTest::Params foreman_cif = { |
| 159 foreman_cif.video = {true, 352, 288, 30, 30000, 2000000, 2000000, false, | 165 {352, 288, 30, 30000, 2000000, 2000000, false, "VP8", 1, 0, 0, true}, |
| 160 "VP8", 1, 0, 0, true, "foreman_cif"}; | 166 {"foreman_cif"}, |
| 161 foreman_cif.analyzer = {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0, | 167 {}, |
| 162 kFullStackTestDurationSecs}; | 168 {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0, |
| 169 kFullStackTestDurationSecs}}; |
| 163 foreman_cif.pipe.queue_length_packets = 32; | 170 foreman_cif.pipe.queue_length_packets = 32; |
| 164 foreman_cif.pipe.queue_delay_ms = 100; | 171 foreman_cif.pipe.queue_delay_ms = 100; |
| 165 foreman_cif.pipe.link_capacity_kbps = 1000; | 172 foreman_cif.pipe.link_capacity_kbps = 1000; |
| 166 RunTest(foreman_cif); | 173 RunTest(foreman_cif); |
| 167 } | 174 } |
| 168 | 175 |
| 169 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) { | 176 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) { |
| 170 VideoQualityTest::Params conf_motion_hd; | 177 VideoQualityTest::Params conf_motion_hd = { |
| 171 conf_motion_hd.video = {true, 1280, 720, 50, 30000, 3000000, 3000000, false, | 178 {1280, 720, 50, 30000, 3000000, 3000000, false, "VP8", 1, 0, 0, true}, |
| 172 "VP8", 1, 0, 0, true, "ConferenceMotion_1280_720_50"}; | 179 {"ConferenceMotion_1280_720_50"}, |
| 173 conf_motion_hd.analyzer = {"conference_motion_hd_2000kbps_100ms_32pkts_queue", | 180 {}, |
| 174 0.0, 0.0, kFullStackTestDurationSecs}; | 181 {"conference_motion_hd_2000kbps_100ms_32pkts_queue", 0.0, 0.0, |
| 182 kFullStackTestDurationSecs}}; |
| 175 conf_motion_hd.pipe.queue_length_packets = 32; | 183 conf_motion_hd.pipe.queue_length_packets = 32; |
| 176 conf_motion_hd.pipe.queue_delay_ms = 100; | 184 conf_motion_hd.pipe.queue_delay_ms = 100; |
| 177 conf_motion_hd.pipe.link_capacity_kbps = 2000; | 185 conf_motion_hd.pipe.link_capacity_kbps = 2000; |
| 178 RunTest(conf_motion_hd); | 186 RunTest(conf_motion_hd); |
| 179 } | 187 } |
| 180 | 188 |
| 181 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { | 189 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { |
| 182 VideoQualityTest::Params screenshare; | 190 VideoQualityTest::Params screenshare = { |
| 183 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 191 {1850, 1110, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000, true}, |
| 184 "VP8", 2, 1, 400000, true, ""}; | 192 {}, |
| 185 screenshare.screenshare = {true, 10}; | 193 {true, 10}, |
| 186 screenshare.analyzer = {"screenshare_slides", 0.0, 0.0, | 194 {"screenshare_slides", 0.0, 0.0, kFullStackTestDurationSecs}}; |
| 187 kFullStackTestDurationSecs}; | |
| 188 RunTest(screenshare); | 195 RunTest(screenshare); |
| 189 } | 196 } |
| 190 | 197 |
| 191 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { | 198 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { |
| 192 VideoQualityTest::Params config; | 199 VideoQualityTest::Params config = { |
| 193 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false, | 200 {1850, 1110 / 2, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000, |
| 194 "VP8", 2, 1, 400000, true, ""}; | 201 true}, |
| 195 config.screenshare = {true, 10, 2}; | 202 {}, |
| 196 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0, | 203 {true, 10, 2}, |
| 197 kFullStackTestDurationSecs}; | 204 {"screenshare_slides_scrolling", 0.0, 0.0, kFullStackTestDurationSecs}}; |
| 198 RunTest(config); | 205 RunTest(config); |
| 199 } | 206 } |
| 200 | 207 |
| 201 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { | 208 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { |
| 202 VideoQualityTest::Params screenshare; | 209 VideoQualityTest::Params screenshare = { |
| 203 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 210 {1850, 1110, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000, true}, |
| 204 "VP8", 2, 1, 400000, true, ""}; | 211 {}, // Video-specific. |
| 205 screenshare.screenshare = {true, 10}; | 212 {true, 10}, // Screenshare-specific. |
| 206 screenshare.analyzer = {"screenshare_slides_lossy_net", 0.0, 0.0, | 213 {"screenshare_slides_lossy_net", 0.0, 0.0, kFullStackTestDurationSecs}}; |
| 207 kFullStackTestDurationSecs}; | |
| 208 screenshare.pipe.loss_percent = 5; | 214 screenshare.pipe.loss_percent = 5; |
| 209 screenshare.pipe.queue_delay_ms = 200; | 215 screenshare.pipe.queue_delay_ms = 200; |
| 210 screenshare.pipe.link_capacity_kbps = 500; | 216 screenshare.pipe.link_capacity_kbps = 500; |
| 211 RunTest(screenshare); | 217 RunTest(screenshare); |
| 212 } | 218 } |
| 213 | 219 |
| 214 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { | 220 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { |
| 215 VideoQualityTest::Params screenshare; | 221 VideoQualityTest::Params screenshare = { |
| 216 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 222 {1850, 1110, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000, true}, |
| 217 "VP8", 2, 1, 400000, true, ""}; | 223 {}, // Video-specific. |
| 218 screenshare.screenshare = {true, 10}; | 224 {true, 10}, // Screenshare-specific. |
| 219 screenshare.analyzer = {"screenshare_slides_very_lossy", 0.0, 0.0, | 225 {"screenshare_slides_very_lossy", 0.0, 0.0, kFullStackTestDurationSecs}}; |
| 220 kFullStackTestDurationSecs}; | |
| 221 screenshare.pipe.loss_percent = 10; | 226 screenshare.pipe.loss_percent = 10; |
| 222 screenshare.pipe.queue_delay_ms = 200; | 227 screenshare.pipe.queue_delay_ms = 200; |
| 223 screenshare.pipe.link_capacity_kbps = 500; | 228 screenshare.pipe.link_capacity_kbps = 500; |
| 224 RunTest(screenshare); | 229 RunTest(screenshare); |
| 225 } | 230 } |
| 226 | 231 |
| 227 #if !defined(RTC_DISABLE_VP9) | 232 #if !defined(RTC_DISABLE_VP9) |
| 228 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { | 233 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { |
| 229 VideoQualityTest::Params screenshare; | 234 VideoQualityTest::Params screenshare = { |
| 230 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, | 235 {1850, 1110, 5, 50000, 200000, 2000000, false, "VP9", 1, 0, 400000, true}, |
| 231 "VP9", 1, 0, 400000, true, ""}; | 236 {}, |
| 232 screenshare.screenshare = {true, 10}; | 237 {true, 10}, |
| 233 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, | 238 {"screenshare_slides_vp9_2sl", 0.0, 0.0, kFullStackTestDurationSecs}, |
| 234 kFullStackTestDurationSecs}; | 239 {}, |
| 235 screenshare.logs = false; | 240 false, |
| 236 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1}; | 241 {std::vector<VideoStream>(), 0, 2, 1}}; |
| 237 RunTest(screenshare); | 242 RunTest(screenshare); |
| 238 } | 243 } |
| 239 #endif // !defined(RTC_DISABLE_VP9) | 244 #endif // !defined(RTC_DISABLE_VP9) |
| 240 } // namespace webrtc | 245 } // namespace webrtc |
| OLD | NEW |