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