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 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
278 | 278 |
279 // Verify removing header extension turns on applying rotation. | 279 // Verify removing header extension turns on applying rotation. |
280 parameters.extensions.clear(); | 280 parameters.extensions.clear(); |
281 EXPECT_TRUE(channel->SetSendParameters(parameters)); | 281 EXPECT_TRUE(channel->SetSendParameters(parameters)); |
282 EXPECT_TRUE(capturer.GetApplyRotation()); | 282 EXPECT_TRUE(capturer.GetApplyRotation()); |
283 } | 283 } |
284 | 284 |
285 TEST_F(WebRtcVideoEngine2Test, SetSendFailsBeforeSettingCodecs) { | 285 TEST_F(WebRtcVideoEngine2Test, SetSendFailsBeforeSettingCodecs) { |
286 engine_.Init(); | 286 engine_.Init(); |
287 rtc::scoped_ptr<VideoMediaChannel> channel( | 287 rtc::scoped_ptr<VideoMediaChannel> channel( |
288 engine_.CreateChannel(call_.get(), cricket::VideoOptions())); | 288 engine_.CreateChannel(call_.get(), MediaConfig(), VideoOptions())); |
289 | 289 |
290 EXPECT_TRUE(channel->AddSendStream(StreamParams::CreateLegacy(123))); | 290 EXPECT_TRUE(channel->AddSendStream(StreamParams::CreateLegacy(123))); |
291 | 291 |
292 EXPECT_FALSE(channel->SetSend(true)) | 292 EXPECT_FALSE(channel->SetSend(true)) |
293 << "Channel should not start without codecs."; | 293 << "Channel should not start without codecs."; |
294 EXPECT_TRUE(channel->SetSend(false)) | 294 EXPECT_TRUE(channel->SetSend(false)) |
295 << "Channel should be stoppable even without set codecs."; | 295 << "Channel should be stoppable even without set codecs."; |
296 } | 296 } |
297 | 297 |
298 TEST_F(WebRtcVideoEngine2Test, GetStatsWithoutSendCodecsSetDoesNotCrash) { | 298 TEST_F(WebRtcVideoEngine2Test, GetStatsWithoutSendCodecsSetDoesNotCrash) { |
299 engine_.Init(); | 299 engine_.Init(); |
300 rtc::scoped_ptr<VideoMediaChannel> channel( | 300 rtc::scoped_ptr<VideoMediaChannel> channel( |
301 engine_.CreateChannel(call_.get(), cricket::VideoOptions())); | 301 engine_.CreateChannel(call_.get(), MediaConfig(), VideoOptions())); |
302 EXPECT_TRUE(channel->AddSendStream(StreamParams::CreateLegacy(123))); | 302 EXPECT_TRUE(channel->AddSendStream(StreamParams::CreateLegacy(123))); |
303 VideoMediaInfo info; | 303 VideoMediaInfo info; |
304 channel->GetStats(&info); | 304 channel->GetStats(&info); |
305 } | 305 } |
306 | 306 |
307 TEST_F(WebRtcVideoEngine2Test, UseExternalFactoryForVp8WhenSupported) { | 307 TEST_F(WebRtcVideoEngine2Test, UseExternalFactoryForVp8WhenSupported) { |
308 cricket::FakeWebRtcVideoEncoderFactory encoder_factory; | 308 cricket::FakeWebRtcVideoEncoderFactory encoder_factory; |
309 encoder_factory.AddSupportedVideoCodecType(webrtc::kVideoCodecVP8, "VP8"); | 309 encoder_factory.AddSupportedVideoCodecType(webrtc::kVideoCodecVP8, "VP8"); |
310 cricket::VideoSendParameters parameters; | 310 cricket::VideoSendParameters parameters; |
311 parameters.codecs.push_back(kVp8Codec); | 311 parameters.codecs.push_back(kVp8Codec); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
348 cricket::VideoSendParameters parameters; | 348 cricket::VideoSendParameters parameters; |
349 parameters.codecs.push_back(kVp8Codec); | 349 parameters.codecs.push_back(kVp8Codec); |
350 rtc::scoped_ptr<VideoMediaChannel> channel; | 350 rtc::scoped_ptr<VideoMediaChannel> channel; |
351 FakeCall* fake_call = new FakeCall(webrtc::Call::Config()); | 351 FakeCall* fake_call = new FakeCall(webrtc::Call::Config()); |
352 call_.reset(fake_call); | 352 call_.reset(fake_call); |
353 if (use_external_encoder) { | 353 if (use_external_encoder) { |
354 channel.reset( | 354 channel.reset( |
355 SetUpForExternalEncoderFactory(&encoder_factory, parameters.codecs)); | 355 SetUpForExternalEncoderFactory(&encoder_factory, parameters.codecs)); |
356 } else { | 356 } else { |
357 engine_.Init(); | 357 engine_.Init(); |
358 channel.reset(engine_.CreateChannel(call_.get(), cricket::VideoOptions())); | 358 channel.reset( |
| 359 engine_.CreateChannel(call_.get(), MediaConfig(), VideoOptions())); |
359 } | 360 } |
360 ASSERT_TRUE( | 361 ASSERT_TRUE( |
361 channel->AddSendStream(cricket::StreamParams::CreateLegacy(kSsrc))); | 362 channel->AddSendStream(cricket::StreamParams::CreateLegacy(kSsrc))); |
362 EXPECT_TRUE(channel->SetSendParameters(parameters)); | 363 EXPECT_TRUE(channel->SetSendParameters(parameters)); |
363 EXPECT_TRUE(channel->SetSend(true)); | 364 EXPECT_TRUE(channel->SetSend(true)); |
364 FakeVideoSendStream* stream = fake_call->GetVideoSendStreams()[0]; | 365 FakeVideoSendStream* stream = fake_call->GetVideoSendStreams()[0]; |
365 | 366 |
366 EXPECT_EQ(use_external_encoder, | 367 EXPECT_EQ(use_external_encoder, |
367 stream->GetConfig().encoder_settings.full_overuse_time); | 368 stream->GetConfig().encoder_settings.full_overuse_time); |
368 // Remove stream previously added to free the external encoder instance. | 369 // Remove stream previously added to free the external encoder instance. |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
506 EXPECT_TRUE(channel->RemoveSendStream(kSsrc)); | 507 EXPECT_TRUE(channel->RemoveSendStream(kSsrc)); |
507 } | 508 } |
508 | 509 |
509 VideoMediaChannel* WebRtcVideoEngine2Test::SetUpForExternalEncoderFactory( | 510 VideoMediaChannel* WebRtcVideoEngine2Test::SetUpForExternalEncoderFactory( |
510 cricket::WebRtcVideoEncoderFactory* encoder_factory, | 511 cricket::WebRtcVideoEncoderFactory* encoder_factory, |
511 const std::vector<VideoCodec>& codecs) { | 512 const std::vector<VideoCodec>& codecs) { |
512 engine_.SetExternalEncoderFactory(encoder_factory); | 513 engine_.SetExternalEncoderFactory(encoder_factory); |
513 engine_.Init(); | 514 engine_.Init(); |
514 | 515 |
515 VideoMediaChannel* channel = | 516 VideoMediaChannel* channel = |
516 engine_.CreateChannel(call_.get(), cricket::VideoOptions()); | 517 engine_.CreateChannel(call_.get(), MediaConfig(), VideoOptions()); |
517 cricket::VideoSendParameters parameters; | 518 cricket::VideoSendParameters parameters; |
518 parameters.codecs = codecs; | 519 parameters.codecs = codecs; |
519 EXPECT_TRUE(channel->SetSendParameters(parameters)); | 520 EXPECT_TRUE(channel->SetSendParameters(parameters)); |
520 | 521 |
521 return channel; | 522 return channel; |
522 } | 523 } |
523 | 524 |
524 VideoMediaChannel* WebRtcVideoEngine2Test::SetUpForExternalDecoderFactory( | 525 VideoMediaChannel* WebRtcVideoEngine2Test::SetUpForExternalDecoderFactory( |
525 cricket::WebRtcVideoDecoderFactory* decoder_factory, | 526 cricket::WebRtcVideoDecoderFactory* decoder_factory, |
526 const std::vector<VideoCodec>& codecs) { | 527 const std::vector<VideoCodec>& codecs) { |
527 engine_.SetExternalDecoderFactory(decoder_factory); | 528 engine_.SetExternalDecoderFactory(decoder_factory); |
528 engine_.Init(); | 529 engine_.Init(); |
529 | 530 |
530 VideoMediaChannel* channel = | 531 VideoMediaChannel* channel = |
531 engine_.CreateChannel(call_.get(), cricket::VideoOptions()); | 532 engine_.CreateChannel(call_.get(), MediaConfig(), VideoOptions()); |
532 cricket::VideoRecvParameters parameters; | 533 cricket::VideoRecvParameters parameters; |
533 parameters.codecs = codecs; | 534 parameters.codecs = codecs; |
534 EXPECT_TRUE(channel->SetRecvParameters(parameters)); | 535 EXPECT_TRUE(channel->SetRecvParameters(parameters)); |
535 | 536 |
536 return channel; | 537 return channel; |
537 } | 538 } |
538 | 539 |
539 TEST_F(WebRtcVideoEngine2Test, UsesSimulcastAdapterForVp8Factories) { | 540 TEST_F(WebRtcVideoEngine2Test, UsesSimulcastAdapterForVp8Factories) { |
540 cricket::FakeWebRtcVideoEncoderFactory encoder_factory; | 541 cricket::FakeWebRtcVideoEncoderFactory encoder_factory; |
541 encoder_factory.AddSupportedVideoCodecType(webrtc::kVideoCodecVP8, "VP8"); | 542 encoder_factory.AddSupportedVideoCodecType(webrtc::kVideoCodecVP8, "VP8"); |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
841 | 842 |
842 class WebRtcVideoChannel2Test : public WebRtcVideoEngine2Test { | 843 class WebRtcVideoChannel2Test : public WebRtcVideoEngine2Test { |
843 public: | 844 public: |
844 WebRtcVideoChannel2Test() : WebRtcVideoChannel2Test("") {} | 845 WebRtcVideoChannel2Test() : WebRtcVideoChannel2Test("") {} |
845 explicit WebRtcVideoChannel2Test(const char* field_trials) | 846 explicit WebRtcVideoChannel2Test(const char* field_trials) |
846 : WebRtcVideoEngine2Test(field_trials), last_ssrc_(0) {} | 847 : WebRtcVideoEngine2Test(field_trials), last_ssrc_(0) {} |
847 void SetUp() override { | 848 void SetUp() override { |
848 fake_call_.reset(new FakeCall(webrtc::Call::Config())); | 849 fake_call_.reset(new FakeCall(webrtc::Call::Config())); |
849 engine_.Init(); | 850 engine_.Init(); |
850 channel_.reset( | 851 channel_.reset( |
851 engine_.CreateChannel(fake_call_.get(), cricket::VideoOptions())); | 852 engine_.CreateChannel(fake_call_.get(), MediaConfig(), VideoOptions())); |
852 last_ssrc_ = 123; | 853 last_ssrc_ = 123; |
853 send_parameters_.codecs = engine_.codecs(); | 854 send_parameters_.codecs = engine_.codecs(); |
854 recv_parameters_.codecs = engine_.codecs(); | 855 recv_parameters_.codecs = engine_.codecs(); |
855 ASSERT_TRUE(channel_->SetSendParameters(send_parameters_)); | 856 ASSERT_TRUE(channel_->SetSendParameters(send_parameters_)); |
856 } | 857 } |
857 | 858 |
858 protected: | 859 protected: |
859 FakeVideoSendStream* AddSendStream() { | 860 FakeVideoSendStream* AddSendStream() { |
860 return AddSendStream(StreamParams::CreateLegacy(++last_ssrc_)); | 861 return AddSendStream(StreamParams::CreateLegacy(++last_ssrc_)); |
861 } | 862 } |
(...skipping 868 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1730 | 1731 |
1731 TEST_F(WebRtcVideoChannel2Test, DoesNotAdaptOnOveruseWhenScreensharing) { | 1732 TEST_F(WebRtcVideoChannel2Test, DoesNotAdaptOnOveruseWhenScreensharing) { |
1732 TestCpuAdaptation(true, true); | 1733 TestCpuAdaptation(true, true); |
1733 } | 1734 } |
1734 | 1735 |
1735 void WebRtcVideoChannel2Test::TestCpuAdaptation(bool enable_overuse, | 1736 void WebRtcVideoChannel2Test::TestCpuAdaptation(bool enable_overuse, |
1736 bool is_screenshare) { | 1737 bool is_screenshare) { |
1737 cricket::VideoCodec codec = kVp8Codec720p; | 1738 cricket::VideoCodec codec = kVp8Codec720p; |
1738 cricket::VideoSendParameters parameters; | 1739 cricket::VideoSendParameters parameters; |
1739 parameters.codecs.push_back(codec); | 1740 parameters.codecs.push_back(codec); |
| 1741 |
| 1742 MediaConfig media_config = MediaConfig(); |
1740 if (!enable_overuse) { | 1743 if (!enable_overuse) { |
1741 parameters.options.cpu_overuse_detection = rtc::Optional<bool>(false); | 1744 media_config.enable_cpu_overuse_detection = false; |
1742 } | 1745 } |
| 1746 channel_.reset( |
| 1747 engine_.CreateChannel(fake_call_.get(), media_config, VideoOptions())); |
| 1748 |
1743 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1749 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1744 | 1750 |
1745 AddSendStream(); | 1751 AddSendStream(); |
1746 | 1752 |
1747 cricket::FakeVideoCapturer capturer; | 1753 cricket::FakeVideoCapturer capturer; |
1748 capturer.SetScreencast(is_screenshare); | 1754 capturer.SetScreencast(is_screenshare); |
1749 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1755 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1750 EXPECT_EQ(cricket::CS_RUNNING, | 1756 EXPECT_EQ(cricket::CS_RUNNING, |
1751 capturer.Start(capturer.GetSupportedFormats()->front())); | 1757 capturer.Start(capturer.GetSupportedFormats()->front())); |
1752 | 1758 |
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2259 EXPECT_TRUE(channel_->SetSend(true)); | 2265 EXPECT_TRUE(channel_->SetSend(true)); |
2260 FakeVideoSendStream* new_stream = AddSendStream(); | 2266 FakeVideoSendStream* new_stream = AddSendStream(); |
2261 EXPECT_TRUE(new_stream->IsSending()) | 2267 EXPECT_TRUE(new_stream->IsSending()) |
2262 << "Send stream created after SetSend(true) not sending initially."; | 2268 << "Send stream created after SetSend(true) not sending initially."; |
2263 } | 2269 } |
2264 | 2270 |
2265 // This test verifies DSCP settings are properly applied on video media channel. | 2271 // This test verifies DSCP settings are properly applied on video media channel. |
2266 TEST_F(WebRtcVideoChannel2Test, TestSetDscpOptions) { | 2272 TEST_F(WebRtcVideoChannel2Test, TestSetDscpOptions) { |
2267 rtc::scoped_ptr<cricket::FakeNetworkInterface> network_interface( | 2273 rtc::scoped_ptr<cricket::FakeNetworkInterface> network_interface( |
2268 new cricket::FakeNetworkInterface); | 2274 new cricket::FakeNetworkInterface); |
2269 channel_->SetInterface(network_interface.get()); | 2275 MediaConfig config; |
2270 cricket::VideoSendParameters parameters = send_parameters_; | 2276 rtc::scoped_ptr<VideoMediaChannel> channel; |
2271 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 2277 |
2272 EXPECT_EQ(rtc::DSCP_NO_CHANGE, network_interface->dscp()); | 2278 channel.reset(engine_.CreateChannel(call_.get(), config, VideoOptions())); |
2273 parameters.options.dscp = rtc::Optional<bool>(true); | 2279 channel->SetInterface(network_interface.get()); |
2274 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 2280 // Default value when DSCP is disabled should be DSCP_DEFAULT. |
| 2281 EXPECT_EQ(rtc::DSCP_DEFAULT, network_interface->dscp()); |
| 2282 |
| 2283 config.enable_dscp = true; |
| 2284 channel.reset(engine_.CreateChannel(call_.get(), config, VideoOptions())); |
| 2285 channel->SetInterface(network_interface.get()); |
2275 EXPECT_EQ(rtc::DSCP_AF41, network_interface->dscp()); | 2286 EXPECT_EQ(rtc::DSCP_AF41, network_interface->dscp()); |
2276 // Verify previous value is not modified if dscp option is not set. | 2287 |
2277 cricket::VideoSendParameters parameters1 = send_parameters_; | 2288 // Verify that setting the option to false resets the |
2278 EXPECT_TRUE(channel_->SetSendParameters(parameters1)); | 2289 // DiffServCodePoint. |
2279 EXPECT_EQ(rtc::DSCP_AF41, network_interface->dscp()); | 2290 config.enable_dscp = false; |
2280 parameters1.options.dscp = rtc::Optional<bool>(false); | 2291 channel.reset(engine_.CreateChannel(call_.get(), config, VideoOptions())); |
2281 EXPECT_TRUE(channel_->SetSendParameters(parameters1)); | 2292 channel->SetInterface(network_interface.get()); |
2282 EXPECT_EQ(rtc::DSCP_DEFAULT, network_interface->dscp()); | 2293 EXPECT_EQ(rtc::DSCP_DEFAULT, network_interface->dscp()); |
2283 channel_->SetInterface(NULL); | |
2284 } | 2294 } |
2285 | 2295 |
2286 // This test verifies that the RTCP reduced size mode is properly applied to | 2296 // This test verifies that the RTCP reduced size mode is properly applied to |
2287 // send video streams. | 2297 // send video streams. |
2288 TEST_F(WebRtcVideoChannel2Test, TestSetSendRtcpReducedSize) { | 2298 TEST_F(WebRtcVideoChannel2Test, TestSetSendRtcpReducedSize) { |
2289 // Create stream, expecting that default mode is "compound". | 2299 // Create stream, expecting that default mode is "compound". |
2290 FakeVideoSendStream* stream1 = AddSendStream(); | 2300 FakeVideoSendStream* stream1 = AddSendStream(); |
2291 EXPECT_EQ(webrtc::RtcpMode::kCompound, stream1->GetConfig().rtp.rtcp_mode); | 2301 EXPECT_EQ(webrtc::RtcpMode::kCompound, stream1->GetConfig().rtp.rtcp_mode); |
2292 | 2302 |
2293 // Now enable reduced size mode. | 2303 // Now enable reduced size mode. |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2396 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], &video_capturer_vga)); | 2406 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], &video_capturer_vga)); |
2397 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); | 2407 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); |
2398 | 2408 |
2399 cricket::VideoCodec send_codec(100, "VP8", 640, 480, 30, 0); | 2409 cricket::VideoCodec send_codec(100, "VP8", 640, 480, 30, 0); |
2400 cricket::VideoSendParameters parameters; | 2410 cricket::VideoSendParameters parameters; |
2401 parameters.codecs.push_back(send_codec); | 2411 parameters.codecs.push_back(send_codec); |
2402 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 2412 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
2403 EXPECT_TRUE(channel_->SetSend(true)); | 2413 EXPECT_TRUE(channel_->SetSend(true)); |
2404 | 2414 |
2405 // Verify that the CpuOveruseObserver is registered and trigger downgrade. | 2415 // Verify that the CpuOveruseObserver is registered and trigger downgrade. |
2406 parameters.options.cpu_overuse_detection = rtc::Optional<bool>(true); | |
2407 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | |
2408 | 2416 |
2409 // Trigger overuse. | 2417 // Trigger overuse. |
2410 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); | 2418 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); |
2411 webrtc::LoadObserver* overuse_callback = | 2419 webrtc::LoadObserver* overuse_callback = |
2412 fake_call_->GetVideoSendStreams().front()->GetConfig().overuse_callback; | 2420 fake_call_->GetVideoSendStreams().front()->GetConfig().overuse_callback; |
2413 ASSERT_TRUE(overuse_callback != NULL); | 2421 ASSERT_TRUE(overuse_callback != NULL); |
2414 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse); | 2422 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse); |
2415 | 2423 |
2416 // Capture format VGA -> adapt (OnCpuResolutionRequest downgrade) -> VGA/2. | 2424 // Capture format VGA -> adapt (OnCpuResolutionRequest downgrade) -> VGA/2. |
2417 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); | 2425 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2473 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], &video_capturer_vga)); | 2481 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], &video_capturer_vga)); |
2474 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); | 2482 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); |
2475 | 2483 |
2476 cricket::VideoCodec send_codec(100, "VP8", 640, 480, 30, 0); | 2484 cricket::VideoCodec send_codec(100, "VP8", 640, 480, 30, 0); |
2477 cricket::VideoSendParameters parameters; | 2485 cricket::VideoSendParameters parameters; |
2478 parameters.codecs.push_back(send_codec); | 2486 parameters.codecs.push_back(send_codec); |
2479 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 2487 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
2480 EXPECT_TRUE(channel_->SetSend(true)); | 2488 EXPECT_TRUE(channel_->SetSend(true)); |
2481 | 2489 |
2482 // Verify that the CpuOveruseObserver is registered and trigger downgrade. | 2490 // Verify that the CpuOveruseObserver is registered and trigger downgrade. |
2483 parameters.options.cpu_overuse_detection = rtc::Optional<bool>(true); | |
2484 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | |
2485 | 2491 |
2486 // Trigger overuse -> adapt CPU. | 2492 // Trigger overuse -> adapt CPU. |
2487 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); | 2493 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); |
2488 webrtc::LoadObserver* overuse_callback = | 2494 webrtc::LoadObserver* overuse_callback = |
2489 fake_call_->GetVideoSendStreams().front()->GetConfig().overuse_callback; | 2495 fake_call_->GetVideoSendStreams().front()->GetConfig().overuse_callback; |
2490 ASSERT_TRUE(overuse_callback != NULL); | 2496 ASSERT_TRUE(overuse_callback != NULL); |
2491 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse); | 2497 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse); |
2492 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); | 2498 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); |
2493 cricket::VideoMediaInfo info; | 2499 cricket::VideoMediaInfo info; |
2494 EXPECT_TRUE(channel_->GetStats(&info)); | 2500 EXPECT_TRUE(channel_->GetStats(&info)); |
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2934 TEST_F(WebRtcVideoChannel2Test, ConfiguresLocalSsrcOnExistingReceivers) { | 2940 TEST_F(WebRtcVideoChannel2Test, ConfiguresLocalSsrcOnExistingReceivers) { |
2935 TestReceiverLocalSsrcConfiguration(true); | 2941 TestReceiverLocalSsrcConfiguration(true); |
2936 } | 2942 } |
2937 | 2943 |
2938 class WebRtcVideoChannel2SimulcastTest : public testing::Test { | 2944 class WebRtcVideoChannel2SimulcastTest : public testing::Test { |
2939 public: | 2945 public: |
2940 WebRtcVideoChannel2SimulcastTest() : fake_call_(webrtc::Call::Config()) {} | 2946 WebRtcVideoChannel2SimulcastTest() : fake_call_(webrtc::Call::Config()) {} |
2941 | 2947 |
2942 void SetUp() override { | 2948 void SetUp() override { |
2943 engine_.Init(); | 2949 engine_.Init(); |
2944 channel_.reset(engine_.CreateChannel(&fake_call_, VideoOptions())); | 2950 channel_.reset( |
| 2951 engine_.CreateChannel(&fake_call_, MediaConfig(), VideoOptions())); |
2945 last_ssrc_ = 123; | 2952 last_ssrc_ = 123; |
2946 } | 2953 } |
2947 | 2954 |
2948 protected: | 2955 protected: |
2949 void VerifySimulcastSettings(const VideoCodec& codec, | 2956 void VerifySimulcastSettings(const VideoCodec& codec, |
2950 size_t num_configured_streams, | 2957 size_t num_configured_streams, |
2951 size_t expected_num_streams) { | 2958 size_t expected_num_streams) { |
2952 cricket::VideoSendParameters parameters; | 2959 cricket::VideoSendParameters parameters; |
2953 parameters.codecs.push_back(codec); | 2960 parameters.codecs.push_back(codec); |
2954 ASSERT_TRUE(channel_->SetSendParameters(parameters)); | 2961 ASSERT_TRUE(channel_->SetSendParameters(parameters)); |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3071 // Test that we normalize send codec format size in simulcast. | 3078 // Test that we normalize send codec format size in simulcast. |
3072 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) { | 3079 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) { |
3073 cricket::VideoCodec codec(kVp8Codec270p); | 3080 cricket::VideoCodec codec(kVp8Codec270p); |
3074 codec.width += 1; | 3081 codec.width += 1; |
3075 codec.height += 1; | 3082 codec.height += 1; |
3076 VerifySimulcastSettings(codec, 2, 2); | 3083 VerifySimulcastSettings(codec, 2, 2); |
3077 } | 3084 } |
3078 } // namespace cricket | 3085 } // namespace cricket |
3079 | 3086 |
3080 #endif // HAVE_WEBRTC_VIDEO | 3087 #endif // HAVE_WEBRTC_VIDEO |
OLD | NEW |