OLD | NEW |
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2004 Google Inc. | 3 * Copyright 2004 Google Inc. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 | 293 |
294 // Verify removing header extension turns on applying rotation. | 294 // Verify removing header extension turns on applying rotation. |
295 parameters.extensions.clear(); | 295 parameters.extensions.clear(); |
296 EXPECT_TRUE(channel->SetSendParameters(parameters)); | 296 EXPECT_TRUE(channel->SetSendParameters(parameters)); |
297 EXPECT_TRUE(capturer.GetApplyRotation()); | 297 EXPECT_TRUE(capturer.GetApplyRotation()); |
298 } | 298 } |
299 | 299 |
300 TEST_F(WebRtcVideoEngine2Test, SetSendFailsBeforeSettingCodecs) { | 300 TEST_F(WebRtcVideoEngine2Test, SetSendFailsBeforeSettingCodecs) { |
301 engine_.Init(); | 301 engine_.Init(); |
302 rtc::scoped_ptr<VideoMediaChannel> channel( | 302 rtc::scoped_ptr<VideoMediaChannel> channel( |
303 engine_.CreateChannel(call_.get(), cricket::VideoOptions())); | 303 engine_.CreateChannel(call_.get(), MediaConfig(), VideoOptions())); |
304 | 304 |
305 EXPECT_TRUE(channel->AddSendStream(StreamParams::CreateLegacy(123))); | 305 EXPECT_TRUE(channel->AddSendStream(StreamParams::CreateLegacy(123))); |
306 | 306 |
307 EXPECT_FALSE(channel->SetSend(true)) | 307 EXPECT_FALSE(channel->SetSend(true)) |
308 << "Channel should not start without codecs."; | 308 << "Channel should not start without codecs."; |
309 EXPECT_TRUE(channel->SetSend(false)) | 309 EXPECT_TRUE(channel->SetSend(false)) |
310 << "Channel should be stoppable even without set codecs."; | 310 << "Channel should be stoppable even without set codecs."; |
311 } | 311 } |
312 | 312 |
313 TEST_F(WebRtcVideoEngine2Test, GetStatsWithoutSendCodecsSetDoesNotCrash) { | 313 TEST_F(WebRtcVideoEngine2Test, GetStatsWithoutSendCodecsSetDoesNotCrash) { |
314 engine_.Init(); | 314 engine_.Init(); |
315 rtc::scoped_ptr<VideoMediaChannel> channel( | 315 rtc::scoped_ptr<VideoMediaChannel> channel( |
316 engine_.CreateChannel(call_.get(), cricket::VideoOptions())); | 316 engine_.CreateChannel(call_.get(), MediaConfig(), VideoOptions())); |
317 EXPECT_TRUE(channel->AddSendStream(StreamParams::CreateLegacy(123))); | 317 EXPECT_TRUE(channel->AddSendStream(StreamParams::CreateLegacy(123))); |
318 VideoMediaInfo info; | 318 VideoMediaInfo info; |
319 channel->GetStats(&info); | 319 channel->GetStats(&info); |
320 } | 320 } |
321 | 321 |
322 TEST_F(WebRtcVideoEngine2Test, UseExternalFactoryForVp8WhenSupported) { | 322 TEST_F(WebRtcVideoEngine2Test, UseExternalFactoryForVp8WhenSupported) { |
323 cricket::FakeWebRtcVideoEncoderFactory encoder_factory; | 323 cricket::FakeWebRtcVideoEncoderFactory encoder_factory; |
324 encoder_factory.AddSupportedVideoCodecType(webrtc::kVideoCodecVP8, "VP8"); | 324 encoder_factory.AddSupportedVideoCodecType(webrtc::kVideoCodecVP8, "VP8"); |
325 cricket::VideoSendParameters parameters; | 325 cricket::VideoSendParameters parameters; |
326 parameters.codecs.push_back(kVp8Codec); | 326 parameters.codecs.push_back(kVp8Codec); |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
485 EXPECT_TRUE(channel->RemoveSendStream(kSsrc)); | 485 EXPECT_TRUE(channel->RemoveSendStream(kSsrc)); |
486 } | 486 } |
487 | 487 |
488 VideoMediaChannel* WebRtcVideoEngine2Test::SetUpForExternalEncoderFactory( | 488 VideoMediaChannel* WebRtcVideoEngine2Test::SetUpForExternalEncoderFactory( |
489 cricket::WebRtcVideoEncoderFactory* encoder_factory, | 489 cricket::WebRtcVideoEncoderFactory* encoder_factory, |
490 const std::vector<VideoCodec>& codecs) { | 490 const std::vector<VideoCodec>& codecs) { |
491 engine_.SetExternalEncoderFactory(encoder_factory); | 491 engine_.SetExternalEncoderFactory(encoder_factory); |
492 engine_.Init(); | 492 engine_.Init(); |
493 | 493 |
494 VideoMediaChannel* channel = | 494 VideoMediaChannel* channel = |
495 engine_.CreateChannel(call_.get(), cricket::VideoOptions()); | 495 engine_.CreateChannel(call_.get(), MediaConfig(), VideoOptions()); |
496 cricket::VideoSendParameters parameters; | 496 cricket::VideoSendParameters parameters; |
497 parameters.codecs = codecs; | 497 parameters.codecs = codecs; |
498 EXPECT_TRUE(channel->SetSendParameters(parameters)); | 498 EXPECT_TRUE(channel->SetSendParameters(parameters)); |
499 | 499 |
500 return channel; | 500 return channel; |
501 } | 501 } |
502 | 502 |
503 VideoMediaChannel* WebRtcVideoEngine2Test::SetUpForExternalDecoderFactory( | 503 VideoMediaChannel* WebRtcVideoEngine2Test::SetUpForExternalDecoderFactory( |
504 cricket::WebRtcVideoDecoderFactory* decoder_factory, | 504 cricket::WebRtcVideoDecoderFactory* decoder_factory, |
505 const std::vector<VideoCodec>& codecs) { | 505 const std::vector<VideoCodec>& codecs) { |
506 engine_.SetExternalDecoderFactory(decoder_factory); | 506 engine_.SetExternalDecoderFactory(decoder_factory); |
507 engine_.Init(); | 507 engine_.Init(); |
508 | 508 |
509 VideoMediaChannel* channel = | 509 VideoMediaChannel* channel = |
510 engine_.CreateChannel(call_.get(), cricket::VideoOptions()); | 510 engine_.CreateChannel(call_.get(), MediaConfig(), VideoOptions()); |
511 cricket::VideoRecvParameters parameters; | 511 cricket::VideoRecvParameters parameters; |
512 parameters.codecs = codecs; | 512 parameters.codecs = codecs; |
513 EXPECT_TRUE(channel->SetRecvParameters(parameters)); | 513 EXPECT_TRUE(channel->SetRecvParameters(parameters)); |
514 | 514 |
515 return channel; | 515 return channel; |
516 } | 516 } |
517 | 517 |
518 TEST_F(WebRtcVideoEngine2Test, UsesSimulcastAdapterForVp8Factories) { | 518 TEST_F(WebRtcVideoEngine2Test, UsesSimulcastAdapterForVp8Factories) { |
519 cricket::FakeWebRtcVideoEncoderFactory encoder_factory; | 519 cricket::FakeWebRtcVideoEncoderFactory encoder_factory; |
520 encoder_factory.AddSupportedVideoCodecType(webrtc::kVideoCodecVP8, "VP8"); | 520 encoder_factory.AddSupportedVideoCodecType(webrtc::kVideoCodecVP8, "VP8"); |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
820 | 820 |
821 class WebRtcVideoChannel2Test : public WebRtcVideoEngine2Test { | 821 class WebRtcVideoChannel2Test : public WebRtcVideoEngine2Test { |
822 public: | 822 public: |
823 WebRtcVideoChannel2Test() : WebRtcVideoChannel2Test("") {} | 823 WebRtcVideoChannel2Test() : WebRtcVideoChannel2Test("") {} |
824 explicit WebRtcVideoChannel2Test(const char* field_trials) | 824 explicit WebRtcVideoChannel2Test(const char* field_trials) |
825 : WebRtcVideoEngine2Test(field_trials), last_ssrc_(0) {} | 825 : WebRtcVideoEngine2Test(field_trials), last_ssrc_(0) {} |
826 void SetUp() override { | 826 void SetUp() override { |
827 fake_call_.reset(new FakeCall(webrtc::Call::Config())); | 827 fake_call_.reset(new FakeCall(webrtc::Call::Config())); |
828 engine_.Init(); | 828 engine_.Init(); |
829 channel_.reset( | 829 channel_.reset( |
830 engine_.CreateChannel(fake_call_.get(), cricket::VideoOptions())); | 830 engine_.CreateChannel(fake_call_.get(), MediaConfig(), VideoOptions())); |
831 last_ssrc_ = 123; | 831 last_ssrc_ = 123; |
832 send_parameters_.codecs = engine_.codecs(); | 832 send_parameters_.codecs = engine_.codecs(); |
833 recv_parameters_.codecs = engine_.codecs(); | 833 recv_parameters_.codecs = engine_.codecs(); |
834 ASSERT_TRUE(channel_->SetSendParameters(send_parameters_)); | 834 ASSERT_TRUE(channel_->SetSendParameters(send_parameters_)); |
835 } | 835 } |
836 | 836 |
837 protected: | 837 protected: |
838 FakeVideoSendStream* AddSendStream() { | 838 FakeVideoSendStream* AddSendStream() { |
839 return AddSendStream(StreamParams::CreateLegacy(++last_ssrc_)); | 839 return AddSendStream(StreamParams::CreateLegacy(++last_ssrc_)); |
840 } | 840 } |
(...skipping 868 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1709 | 1709 |
1710 TEST_F(WebRtcVideoChannel2Test, DoesNotAdaptOnOveruseWhenScreensharing) { | 1710 TEST_F(WebRtcVideoChannel2Test, DoesNotAdaptOnOveruseWhenScreensharing) { |
1711 TestCpuAdaptation(true, true); | 1711 TestCpuAdaptation(true, true); |
1712 } | 1712 } |
1713 | 1713 |
1714 void WebRtcVideoChannel2Test::TestCpuAdaptation(bool enable_overuse, | 1714 void WebRtcVideoChannel2Test::TestCpuAdaptation(bool enable_overuse, |
1715 bool is_screenshare) { | 1715 bool is_screenshare) { |
1716 cricket::VideoCodec codec = kVp8Codec720p; | 1716 cricket::VideoCodec codec = kVp8Codec720p; |
1717 cricket::VideoSendParameters parameters; | 1717 cricket::VideoSendParameters parameters; |
1718 parameters.codecs.push_back(codec); | 1718 parameters.codecs.push_back(codec); |
| 1719 |
| 1720 MediaConfig media_config = MediaConfig(); |
1719 if (!enable_overuse) { | 1721 if (!enable_overuse) { |
1720 parameters.options.cpu_overuse_detection = rtc::Optional<bool>(false); | 1722 media_config.enable_cpu_overuse_detection = false; |
1721 } | 1723 } |
| 1724 channel_.reset( |
| 1725 engine_.CreateChannel(fake_call_.get(), media_config, VideoOptions())); |
| 1726 |
1722 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 1727 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
1723 | 1728 |
1724 AddSendStream(); | 1729 AddSendStream(); |
1725 | 1730 |
1726 cricket::FakeVideoCapturer capturer; | 1731 cricket::FakeVideoCapturer capturer; |
1727 capturer.SetScreencast(is_screenshare); | 1732 capturer.SetScreencast(is_screenshare); |
1728 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); | 1733 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer)); |
1729 EXPECT_EQ(cricket::CS_RUNNING, | 1734 EXPECT_EQ(cricket::CS_RUNNING, |
1730 capturer.Start(capturer.GetSupportedFormats()->front())); | 1735 capturer.Start(capturer.GetSupportedFormats()->front())); |
1731 | 1736 |
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2238 EXPECT_TRUE(channel_->SetSend(true)); | 2243 EXPECT_TRUE(channel_->SetSend(true)); |
2239 FakeVideoSendStream* new_stream = AddSendStream(); | 2244 FakeVideoSendStream* new_stream = AddSendStream(); |
2240 EXPECT_TRUE(new_stream->IsSending()) | 2245 EXPECT_TRUE(new_stream->IsSending()) |
2241 << "Send stream created after SetSend(true) not sending initially."; | 2246 << "Send stream created after SetSend(true) not sending initially."; |
2242 } | 2247 } |
2243 | 2248 |
2244 // This test verifies DSCP settings are properly applied on video media channel. | 2249 // This test verifies DSCP settings are properly applied on video media channel. |
2245 TEST_F(WebRtcVideoChannel2Test, TestSetDscpOptions) { | 2250 TEST_F(WebRtcVideoChannel2Test, TestSetDscpOptions) { |
2246 rtc::scoped_ptr<cricket::FakeNetworkInterface> network_interface( | 2251 rtc::scoped_ptr<cricket::FakeNetworkInterface> network_interface( |
2247 new cricket::FakeNetworkInterface); | 2252 new cricket::FakeNetworkInterface); |
2248 channel_->SetInterface(network_interface.get()); | 2253 MediaConfig config; |
2249 cricket::VideoSendParameters parameters = send_parameters_; | 2254 rtc::scoped_ptr<VideoMediaChannel> channel; |
2250 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 2255 |
2251 EXPECT_EQ(rtc::DSCP_NO_CHANGE, network_interface->dscp()); | 2256 channel.reset(engine_.CreateChannel(call_.get(), config, VideoOptions())); |
2252 parameters.options.dscp = rtc::Optional<bool>(true); | 2257 channel->SetInterface(network_interface.get()); |
2253 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 2258 // Default value when DSCP is disabled should be DSCP_DEFAULT. |
| 2259 EXPECT_EQ(rtc::DSCP_DEFAULT, network_interface->dscp()); |
| 2260 |
| 2261 config.enable_dscp = true; |
| 2262 channel.reset(engine_.CreateChannel(call_.get(), config, VideoOptions())); |
| 2263 channel->SetInterface(network_interface.get()); |
2254 EXPECT_EQ(rtc::DSCP_AF41, network_interface->dscp()); | 2264 EXPECT_EQ(rtc::DSCP_AF41, network_interface->dscp()); |
2255 // Verify previous value is not modified if dscp option is not set. | 2265 |
2256 cricket::VideoSendParameters parameters1 = send_parameters_; | 2266 // Verify that setting the option to false resets the |
2257 EXPECT_TRUE(channel_->SetSendParameters(parameters1)); | 2267 // DiffServCodePoint. |
2258 EXPECT_EQ(rtc::DSCP_AF41, network_interface->dscp()); | 2268 config.enable_dscp = false; |
2259 parameters1.options.dscp = rtc::Optional<bool>(false); | 2269 channel.reset(engine_.CreateChannel(call_.get(), config, VideoOptions())); |
2260 EXPECT_TRUE(channel_->SetSendParameters(parameters1)); | 2270 channel->SetInterface(network_interface.get()); |
2261 EXPECT_EQ(rtc::DSCP_DEFAULT, network_interface->dscp()); | 2271 EXPECT_EQ(rtc::DSCP_DEFAULT, network_interface->dscp()); |
2262 channel_->SetInterface(NULL); | |
2263 } | 2272 } |
2264 | 2273 |
2265 // This test verifies that the RTCP reduced size mode is properly applied to | 2274 // This test verifies that the RTCP reduced size mode is properly applied to |
2266 // send video streams. | 2275 // send video streams. |
2267 TEST_F(WebRtcVideoChannel2Test, TestSetSendRtcpReducedSize) { | 2276 TEST_F(WebRtcVideoChannel2Test, TestSetSendRtcpReducedSize) { |
2268 // Create stream, expecting that default mode is "compound". | 2277 // Create stream, expecting that default mode is "compound". |
2269 FakeVideoSendStream* stream1 = AddSendStream(); | 2278 FakeVideoSendStream* stream1 = AddSendStream(); |
2270 EXPECT_EQ(webrtc::RtcpMode::kCompound, stream1->GetConfig().rtp.rtcp_mode); | 2279 EXPECT_EQ(webrtc::RtcpMode::kCompound, stream1->GetConfig().rtp.rtcp_mode); |
2271 | 2280 |
2272 // Now enable reduced size mode. | 2281 // Now enable reduced size mode. |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2375 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], &video_capturer_vga)); | 2384 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], &video_capturer_vga)); |
2376 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); | 2385 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); |
2377 | 2386 |
2378 cricket::VideoCodec send_codec(100, "VP8", 640, 480, 30, 0); | 2387 cricket::VideoCodec send_codec(100, "VP8", 640, 480, 30, 0); |
2379 cricket::VideoSendParameters parameters; | 2388 cricket::VideoSendParameters parameters; |
2380 parameters.codecs.push_back(send_codec); | 2389 parameters.codecs.push_back(send_codec); |
2381 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 2390 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
2382 EXPECT_TRUE(channel_->SetSend(true)); | 2391 EXPECT_TRUE(channel_->SetSend(true)); |
2383 | 2392 |
2384 // Verify that the CpuOveruseObserver is registered and trigger downgrade. | 2393 // Verify that the CpuOveruseObserver is registered and trigger downgrade. |
2385 parameters.options.cpu_overuse_detection = rtc::Optional<bool>(true); | |
2386 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | |
2387 | 2394 |
2388 // Trigger overuse. | 2395 // Trigger overuse. |
2389 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); | 2396 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); |
2390 webrtc::LoadObserver* overuse_callback = | 2397 webrtc::LoadObserver* overuse_callback = |
2391 fake_call_->GetVideoSendStreams().front()->GetConfig().overuse_callback; | 2398 fake_call_->GetVideoSendStreams().front()->GetConfig().overuse_callback; |
2392 ASSERT_TRUE(overuse_callback != NULL); | 2399 ASSERT_TRUE(overuse_callback != NULL); |
2393 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse); | 2400 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse); |
2394 | 2401 |
2395 // Capture format VGA -> adapt (OnCpuResolutionRequest downgrade) -> VGA/2. | 2402 // Capture format VGA -> adapt (OnCpuResolutionRequest downgrade) -> VGA/2. |
2396 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); | 2403 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2452 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], &video_capturer_vga)); | 2459 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], &video_capturer_vga)); |
2453 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); | 2460 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); |
2454 | 2461 |
2455 cricket::VideoCodec send_codec(100, "VP8", 640, 480, 30, 0); | 2462 cricket::VideoCodec send_codec(100, "VP8", 640, 480, 30, 0); |
2456 cricket::VideoSendParameters parameters; | 2463 cricket::VideoSendParameters parameters; |
2457 parameters.codecs.push_back(send_codec); | 2464 parameters.codecs.push_back(send_codec); |
2458 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | 2465 EXPECT_TRUE(channel_->SetSendParameters(parameters)); |
2459 EXPECT_TRUE(channel_->SetSend(true)); | 2466 EXPECT_TRUE(channel_->SetSend(true)); |
2460 | 2467 |
2461 // Verify that the CpuOveruseObserver is registered and trigger downgrade. | 2468 // Verify that the CpuOveruseObserver is registered and trigger downgrade. |
2462 parameters.options.cpu_overuse_detection = rtc::Optional<bool>(true); | |
2463 EXPECT_TRUE(channel_->SetSendParameters(parameters)); | |
2464 | 2469 |
2465 // Trigger overuse -> adapt CPU. | 2470 // Trigger overuse -> adapt CPU. |
2466 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); | 2471 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); |
2467 webrtc::LoadObserver* overuse_callback = | 2472 webrtc::LoadObserver* overuse_callback = |
2468 fake_call_->GetVideoSendStreams().front()->GetConfig().overuse_callback; | 2473 fake_call_->GetVideoSendStreams().front()->GetConfig().overuse_callback; |
2469 ASSERT_TRUE(overuse_callback != NULL); | 2474 ASSERT_TRUE(overuse_callback != NULL); |
2470 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse); | 2475 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse); |
2471 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); | 2476 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); |
2472 cricket::VideoMediaInfo info; | 2477 cricket::VideoMediaInfo info; |
2473 EXPECT_TRUE(channel_->GetStats(&info)); | 2478 EXPECT_TRUE(channel_->GetStats(&info)); |
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2913 TEST_F(WebRtcVideoChannel2Test, ConfiguresLocalSsrcOnExistingReceivers) { | 2918 TEST_F(WebRtcVideoChannel2Test, ConfiguresLocalSsrcOnExistingReceivers) { |
2914 TestReceiverLocalSsrcConfiguration(true); | 2919 TestReceiverLocalSsrcConfiguration(true); |
2915 } | 2920 } |
2916 | 2921 |
2917 class WebRtcVideoChannel2SimulcastTest : public testing::Test { | 2922 class WebRtcVideoChannel2SimulcastTest : public testing::Test { |
2918 public: | 2923 public: |
2919 WebRtcVideoChannel2SimulcastTest() : fake_call_(webrtc::Call::Config()) {} | 2924 WebRtcVideoChannel2SimulcastTest() : fake_call_(webrtc::Call::Config()) {} |
2920 | 2925 |
2921 void SetUp() override { | 2926 void SetUp() override { |
2922 engine_.Init(); | 2927 engine_.Init(); |
2923 channel_.reset(engine_.CreateChannel(&fake_call_, VideoOptions())); | 2928 channel_.reset(engine_.CreateChannel( |
| 2929 &fake_call_, MediaConfig(), VideoOptions())); |
2924 last_ssrc_ = 123; | 2930 last_ssrc_ = 123; |
2925 } | 2931 } |
2926 | 2932 |
2927 protected: | 2933 protected: |
2928 void VerifySimulcastSettings(const VideoCodec& codec, | 2934 void VerifySimulcastSettings(const VideoCodec& codec, |
2929 size_t num_configured_streams, | 2935 size_t num_configured_streams, |
2930 size_t expected_num_streams) { | 2936 size_t expected_num_streams) { |
2931 cricket::VideoSendParameters parameters; | 2937 cricket::VideoSendParameters parameters; |
2932 parameters.codecs.push_back(codec); | 2938 parameters.codecs.push_back(codec); |
2933 ASSERT_TRUE(channel_->SetSendParameters(parameters)); | 2939 ASSERT_TRUE(channel_->SetSendParameters(parameters)); |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3050 // Test that we normalize send codec format size in simulcast. | 3056 // Test that we normalize send codec format size in simulcast. |
3051 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) { | 3057 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) { |
3052 cricket::VideoCodec codec(kVp8Codec270p); | 3058 cricket::VideoCodec codec(kVp8Codec270p); |
3053 codec.width += 1; | 3059 codec.width += 1; |
3054 codec.height += 1; | 3060 codec.height += 1; |
3055 VerifySimulcastSettings(codec, 2, 2); | 3061 VerifySimulcastSettings(codec, 2, 2); |
3056 } | 3062 } |
3057 } // namespace cricket | 3063 } // namespace cricket |
3058 | 3064 |
3059 #endif // HAVE_WEBRTC_VIDEO | 3065 #endif // HAVE_WEBRTC_VIDEO |
OLD | NEW |