Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(683)

Side by Side Diff: webrtc/media/engine/webrtcvideoengine2_unittest.cc

Issue 1670153003: Introduce struct MediaConfig, with construction-time settings. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Addressed test nit; use reference. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/media/engine/webrtcvideoengine2.cc ('k') | webrtc/media/engine/webrtcvoiceengine.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « webrtc/media/engine/webrtcvideoengine2.cc ('k') | webrtc/media/engine/webrtcvoiceengine.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698