OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2004 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 | 10 |
(...skipping 1197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1208 AddSendStream(cricket::StreamParams::CreateLegacy(123)); | 1208 AddSendStream(cricket::StreamParams::CreateLegacy(123)); |
1209 | 1209 |
1210 // Verify that only one of them has been set, and that it is the one with | 1210 // Verify that only one of them has been set, and that it is the one with |
1211 // highest priority (transport sequence number). | 1211 // highest priority (transport sequence number). |
1212 ASSERT_EQ(1u, send_stream->GetConfig().rtp.extensions.size()); | 1212 ASSERT_EQ(1u, send_stream->GetConfig().rtp.extensions.size()); |
1213 EXPECT_EQ(expected_id, send_stream->GetConfig().rtp.extensions[0].id); | 1213 EXPECT_EQ(expected_id, send_stream->GetConfig().rtp.extensions[0].id); |
1214 EXPECT_EQ(expected_extension, | 1214 EXPECT_EQ(expected_extension, |
1215 send_stream->GetConfig().rtp.extensions[0].uri); | 1215 send_stream->GetConfig().rtp.extensions[0].uri); |
1216 } | 1216 } |
1217 | 1217 |
| 1218 void TestDegradationPreference(bool resolution_scaling_enabled, |
| 1219 bool fps_scaling_enabled); |
| 1220 |
1218 void TestCpuAdaptation(bool enable_overuse, bool is_screenshare); | 1221 void TestCpuAdaptation(bool enable_overuse, bool is_screenshare); |
1219 void TestReceiverLocalSsrcConfiguration(bool receiver_first); | 1222 void TestReceiverLocalSsrcConfiguration(bool receiver_first); |
1220 void TestReceiveUnsignaledSsrcPacket(uint8_t payload_type, | 1223 void TestReceiveUnsignaledSsrcPacket(uint8_t payload_type, |
1221 bool expect_created_receive_stream); | 1224 bool expect_created_receive_stream); |
1222 | 1225 |
1223 FakeVideoSendStream* SetDenoisingOption( | 1226 FakeVideoSendStream* SetDenoisingOption( |
1224 uint32_t ssrc, | 1227 uint32_t ssrc, |
1225 cricket::FakeVideoCapturer* capturer, | 1228 cricket::FakeVideoCapturer* capturer, |
1226 bool enabled) { | 1229 bool enabled) { |
1227 cricket::VideoOptions options; | 1230 cricket::VideoOptions options; |
(...skipping 862 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2090 : Vp9SettingsTestWithFieldTrial( | 2093 : Vp9SettingsTestWithFieldTrial( |
2091 "WebRTC-SupportVP9SVC/EnabledByFlag_2SL3TL/") {} | 2094 "WebRTC-SupportVP9SVC/EnabledByFlag_2SL3TL/") {} |
2092 }; | 2095 }; |
2093 | 2096 |
2094 TEST_F(Vp9SettingsTestWith2SL3TLFlag, VerifySettings) { | 2097 TEST_F(Vp9SettingsTestWith2SL3TLFlag, VerifySettings) { |
2095 const int kNumSpatialLayers = 2; | 2098 const int kNumSpatialLayers = 2; |
2096 const int kNumTemporalLayers = 3; | 2099 const int kNumTemporalLayers = 3; |
2097 VerifySettings(kNumSpatialLayers, kNumTemporalLayers); | 2100 VerifySettings(kNumSpatialLayers, kNumTemporalLayers); |
2098 } | 2101 } |
2099 | 2102 |
| 2103 TEST_F(WebRtcVideoChannel2Test, |
| 2104 BalancedDegradationPreferenceNotSupportedWithoutFieldtrial) { |
| 2105 webrtc::test::ScopedFieldTrials override_field_trials_( |
| 2106 "WebRTC-Video-BalancedDegradation/Disabled/"); |
| 2107 const bool kResolutionScalingEnabled = true; |
| 2108 const bool kFpsScalingEnabled = false; |
| 2109 TestDegradationPreference(kResolutionScalingEnabled, kFpsScalingEnabled); |
| 2110 } |
| 2111 |
| 2112 TEST_F(WebRtcVideoChannel2Test, |
| 2113 BalancedDegradationPreferenceSupportedBehindFieldtrial) { |
| 2114 webrtc::test::ScopedFieldTrials override_field_trials_( |
| 2115 "WebRTC-Video-BalancedDegradation/Enabled/"); |
| 2116 const bool kResolutionScalingEnabled = true; |
| 2117 const bool kFpsScalingEnabled = true; |
| 2118 TestDegradationPreference(kResolutionScalingEnabled, kFpsScalingEnabled); |
| 2119 } |
| 2120 |
2100 TEST_F(WebRtcVideoChannel2Test, AdaptsOnOveruse) { | 2121 TEST_F(WebRtcVideoChannel2Test, AdaptsOnOveruse) { |
2101 TestCpuAdaptation(true, false); | 2122 TestCpuAdaptation(true, false); |
2102 } | 2123 } |
2103 | 2124 |
2104 TEST_F(WebRtcVideoChannel2Test, DoesNotAdaptOnOveruseWhenDisabled) { | 2125 TEST_F(WebRtcVideoChannel2Test, DoesNotAdaptOnOveruseWhenDisabled) { |
2105 TestCpuAdaptation(false, false); | 2126 TestCpuAdaptation(false, false); |
2106 } | 2127 } |
2107 | 2128 |
2108 TEST_F(WebRtcVideoChannel2Test, DoesNotAdaptOnOveruseWhenScreensharing) { | 2129 TEST_F(WebRtcVideoChannel2Test, DoesNotAdaptOnOveruseWhenScreensharing) { |
2109 TestCpuAdaptation(true, true); | 2130 TestCpuAdaptation(true, true); |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2256 EXPECT_TRUE(capturer.CaptureCustomFrame(1280, 720, cricket::FOURCC_I420)); | 2277 EXPECT_TRUE(capturer.CaptureCustomFrame(1280, 720, cricket::FOURCC_I420)); |
2257 ASSERT_EQ(3, fake_call_->GetNumCreatedSendStreams()); | 2278 ASSERT_EQ(3, fake_call_->GetNumCreatedSendStreams()); |
2258 send_stream = fake_call_->GetVideoSendStreams().front(); | 2279 send_stream = fake_call_->GetVideoSendStreams().front(); |
2259 EXPECT_EQ(1, send_stream->GetNumberOfSwappedFrames()); | 2280 EXPECT_EQ(1, send_stream->GetNumberOfSwappedFrames()); |
2260 EXPECT_EQ(1280 * 3 / 4, send_stream->GetLastWidth()); | 2281 EXPECT_EQ(1280 * 3 / 4, send_stream->GetLastWidth()); |
2261 EXPECT_EQ(720 * 3 / 4, send_stream->GetLastHeight()); | 2282 EXPECT_EQ(720 * 3 / 4, send_stream->GetLastHeight()); |
2262 | 2283 |
2263 EXPECT_TRUE(channel_->SetVideoSend(last_ssrc_, true, nullptr, nullptr)); | 2284 EXPECT_TRUE(channel_->SetVideoSend(last_ssrc_, true, nullptr, nullptr)); |
2264 } | 2285 } |
2265 | 2286 |
| 2287 // TODO(asapersson): Remove this test when the balanced field trial is removed. |
| 2288 void WebRtcVideoChannel2Test::TestDegradationPreference( |
| 2289 bool resolution_scaling_enabled, |
| 2290 bool fps_scaling_enabled) { |
| 2291 cricket::VideoCodec codec = GetEngineCodec("VP8"); |
| 2292 cricket::VideoSendParameters parameters; |
| 2293 parameters.codecs.push_back(codec); |
| 2294 |
| 2295 MediaConfig media_config = GetMediaConfig(); |
| 2296 media_config.video.enable_cpu_overuse_detection = true; |
| 2297 channel_.reset( |
| 2298 engine_.CreateChannel(fake_call_.get(), media_config, VideoOptions())); |
| 2299 channel_->OnReadyToSend(true); |
| 2300 |
| 2301 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
| 2302 |
| 2303 AddSendStream(); |
| 2304 |
| 2305 cricket::FakeVideoCapturer capturer; |
| 2306 VideoOptions options; |
| 2307 EXPECT_TRUE(channel_->SetVideoSend(last_ssrc_, true, &options, &capturer)); |
| 2308 cricket::VideoFormat capture_format = capturer.GetSupportedFormats()->front(); |
| 2309 EXPECT_EQ(cricket::CS_RUNNING, capturer.Start(capture_format)); |
| 2310 |
| 2311 EXPECT_TRUE(channel_->SetSend(true)); |
| 2312 |
| 2313 FakeVideoSendStream* send_stream = fake_call_->GetVideoSendStreams().front(); |
| 2314 EXPECT_EQ(resolution_scaling_enabled, |
| 2315 send_stream->resolution_scaling_enabled()); |
| 2316 EXPECT_EQ(fps_scaling_enabled, send_stream->framerate_scaling_enabled()); |
| 2317 |
| 2318 EXPECT_TRUE(channel_->SetVideoSend(last_ssrc_, true, nullptr, nullptr)); |
| 2319 } |
| 2320 |
2266 void WebRtcVideoChannel2Test::TestCpuAdaptation(bool enable_overuse, | 2321 void WebRtcVideoChannel2Test::TestCpuAdaptation(bool enable_overuse, |
2267 bool is_screenshare) { | 2322 bool is_screenshare) { |
2268 const int kDefaultFps = 30; | 2323 const int kDefaultFps = 30; |
2269 cricket::VideoCodec codec = GetEngineCodec("VP8"); | 2324 cricket::VideoCodec codec = GetEngineCodec("VP8"); |
2270 cricket::VideoSendParameters parameters; | 2325 cricket::VideoSendParameters parameters; |
2271 parameters.codecs.push_back(codec); | 2326 parameters.codecs.push_back(codec); |
2272 | 2327 |
2273 MediaConfig media_config = GetMediaConfig(); | 2328 MediaConfig media_config = GetMediaConfig(); |
2274 if (enable_overuse) { | 2329 if (enable_overuse) { |
2275 media_config.video.enable_cpu_overuse_detection = true; | 2330 media_config.video.enable_cpu_overuse_detection = true; |
(...skipping 2348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4624 | 4679 |
4625 TEST_F(WebRtcVideoChannel2SimulcastTest, | 4680 TEST_F(WebRtcVideoChannel2SimulcastTest, |
4626 NoSimulcastScreenshareWithoutConference) { | 4681 NoSimulcastScreenshareWithoutConference) { |
4627 webrtc::test::ScopedFieldTrials override_field_trials_( | 4682 webrtc::test::ScopedFieldTrials override_field_trials_( |
4628 "WebRTC-SimulcastScreenshare/Enabled/"); | 4683 "WebRTC-SimulcastScreenshare/Enabled/"); |
4629 VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 1, true, | 4684 VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 1, true, |
4630 false); | 4685 false); |
4631 } | 4686 } |
4632 | 4687 |
4633 } // namespace cricket | 4688 } // namespace cricket |
OLD | NEW |