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

Side by Side Diff: webrtc/call/call_perf_tests.cc

Issue 1537273003: Step 1 to prepare call_test.* for combined audio/video tests. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Cleanups Created 5 years 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/call/bitrate_estimator_tests.cc ('k') | webrtc/call/packet_injection_tests.cc » ('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) 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 <algorithm> 10 #include <algorithm>
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 289
290 AudioSendStream::Config audio_send_config(&audio_send_transport); 290 AudioSendStream::Config audio_send_config(&audio_send_transport);
291 audio_send_config.voe_channel_id = send_channel_id; 291 audio_send_config.voe_channel_id = send_channel_id;
292 audio_send_config.rtp.ssrc = kAudioSendSsrc; 292 audio_send_config.rtp.ssrc = kAudioSendSsrc;
293 AudioSendStream* audio_send_stream = 293 AudioSendStream* audio_send_stream =
294 sender_call_->CreateAudioSendStream(audio_send_config); 294 sender_call_->CreateAudioSendStream(audio_send_config);
295 295
296 CodecInst isac = {103, "ISAC", 16000, 480, 1, 32000}; 296 CodecInst isac = {103, "ISAC", 16000, 480, 1, 32000};
297 EXPECT_EQ(0, voe_codec->SetSendCodec(send_channel_id, isac)); 297 EXPECT_EQ(0, voe_codec->SetSendCodec(send_channel_id, isac));
298 298
299 send_config_.rtp.nack.rtp_history_ms = kNackRtpHistoryMs; 299 video_send_config_.rtp.nack.rtp_history_ms = kNackRtpHistoryMs;
300 if (fec) { 300 if (fec) {
301 send_config_.rtp.fec.red_payload_type = kRedPayloadType; 301 video_send_config_.rtp.fec.red_payload_type = kRedPayloadType;
302 send_config_.rtp.fec.ulpfec_payload_type = kUlpfecPayloadType; 302 video_send_config_.rtp.fec.ulpfec_payload_type = kUlpfecPayloadType;
303 receive_configs_[0].rtp.fec.red_payload_type = kRedPayloadType; 303 video_receive_configs_[0].rtp.fec.red_payload_type = kRedPayloadType;
304 receive_configs_[0].rtp.fec.ulpfec_payload_type = kUlpfecPayloadType; 304 video_receive_configs_[0].rtp.fec.ulpfec_payload_type = kUlpfecPayloadType;
305 } 305 }
306 receive_configs_[0].rtp.nack.rtp_history_ms = 1000; 306 video_receive_configs_[0].rtp.nack.rtp_history_ms = 1000;
307 receive_configs_[0].renderer = &observer; 307 video_receive_configs_[0].renderer = &observer;
308 receive_configs_[0].sync_group = kSyncGroup; 308 video_receive_configs_[0].sync_group = kSyncGroup;
309 309
310 AudioReceiveStream::Config audio_recv_config; 310 AudioReceiveStream::Config audio_recv_config;
311 audio_recv_config.rtp.remote_ssrc = kAudioSendSsrc; 311 audio_recv_config.rtp.remote_ssrc = kAudioSendSsrc;
312 audio_recv_config.rtp.local_ssrc = kAudioRecvSsrc; 312 audio_recv_config.rtp.local_ssrc = kAudioRecvSsrc;
313 audio_recv_config.voe_channel_id = recv_channel_id; 313 audio_recv_config.voe_channel_id = recv_channel_id;
314 audio_recv_config.sync_group = kSyncGroup; 314 audio_recv_config.sync_group = kSyncGroup;
315 315
316 AudioReceiveStream* audio_receive_stream; 316 AudioReceiveStream* audio_receive_stream;
317 317
318 if (create_audio_first) { 318 if (create_audio_first) {
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 capture_time_list_.end(), 457 capture_time_list_.end(),
458 std::make_pair(header.timestamp, capture_timestamp)); 458 std::make_pair(header.timestamp, capture_timestamp));
459 return SEND_PACKET; 459 return SEND_PACKET;
460 } 460 }
461 461
462 void OnFrameGeneratorCapturerCreated( 462 void OnFrameGeneratorCapturerCreated(
463 test::FrameGeneratorCapturer* frame_generator_capturer) override { 463 test::FrameGeneratorCapturer* frame_generator_capturer) override {
464 capturer_ = frame_generator_capturer; 464 capturer_ = frame_generator_capturer;
465 } 465 }
466 466
467 void ModifyConfigs(VideoSendStream::Config* send_config, 467 void ModifyVideoConfigs(
468 std::vector<VideoReceiveStream::Config>* receive_configs, 468 VideoSendStream::Config* send_config,
469 VideoEncoderConfig* encoder_config) override { 469 std::vector<VideoReceiveStream::Config>* receive_configs,
470 VideoEncoderConfig* encoder_config) override {
470 (*receive_configs)[0].renderer = this; 471 (*receive_configs)[0].renderer = this;
471 // Enable the receiver side rtt calculation. 472 // Enable the receiver side rtt calculation.
472 (*receive_configs)[0].rtp.rtcp_xr.receiver_reference_time_report = true; 473 (*receive_configs)[0].rtp.rtcp_xr.receiver_reference_time_report = true;
473 } 474 }
474 475
475 void PerformTest() override { 476 void PerformTest() override {
476 EXPECT_TRUE(Wait()) << "Timed out while waiting for " 477 EXPECT_TRUE(Wait()) << "Timed out while waiting for "
477 "estimated capture NTP time to be " 478 "estimated capture NTP time to be "
478 "within bounds."; 479 "within bounds.";
479 } 480 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 LoadObserver(LoadObserver::Load tested_load, int encode_delay_ms) 525 LoadObserver(LoadObserver::Load tested_load, int encode_delay_ms)
525 : SendTest(kLongTimeoutMs), 526 : SendTest(kLongTimeoutMs),
526 tested_load_(tested_load), 527 tested_load_(tested_load),
527 encoder_(Clock::GetRealTimeClock(), encode_delay_ms) {} 528 encoder_(Clock::GetRealTimeClock(), encode_delay_ms) {}
528 529
529 void OnLoadUpdate(Load load) override { 530 void OnLoadUpdate(Load load) override {
530 if (load == tested_load_) 531 if (load == tested_load_)
531 observation_complete_.Set(); 532 observation_complete_.Set();
532 } 533 }
533 534
534 void ModifyConfigs(VideoSendStream::Config* send_config, 535 void ModifyVideoConfigs(
535 std::vector<VideoReceiveStream::Config>* receive_configs, 536 VideoSendStream::Config* send_config,
536 VideoEncoderConfig* encoder_config) override { 537 std::vector<VideoReceiveStream::Config>* receive_configs,
538 VideoEncoderConfig* encoder_config) override {
537 send_config->overuse_callback = this; 539 send_config->overuse_callback = this;
538 send_config->encoder_settings.encoder = &encoder_; 540 send_config->encoder_settings.encoder = &encoder_;
539 } 541 }
540 542
541 void PerformTest() override { 543 void PerformTest() override {
542 EXPECT_TRUE(Wait()) << "Timed out before receiving an overuse callback."; 544 EXPECT_TRUE(Wait()) << "Timed out before receiving an overuse callback.";
543 } 545 }
544 546
545 LoadObserver::Load tested_load_; 547 LoadObserver::Load tested_load_;
546 test::DelayedEncoder encoder_; 548 test::DelayedEncoder encoder_;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
606 } 608 }
607 } 609 }
608 if (num_bitrate_observations_in_range_ == 610 if (num_bitrate_observations_in_range_ ==
609 kNumBitrateObservationsInRange) 611 kNumBitrateObservationsInRange)
610 observation_complete_.Set(); 612 observation_complete_.Set();
611 } 613 }
612 } 614 }
613 return SEND_PACKET; 615 return SEND_PACKET;
614 } 616 }
615 617
616 void OnStreamsCreated( 618 void OnVideoStreamsCreated(
617 VideoSendStream* send_stream, 619 VideoSendStream* send_stream,
618 const std::vector<VideoReceiveStream*>& receive_streams) override { 620 const std::vector<VideoReceiveStream*>& receive_streams) override {
619 send_stream_ = send_stream; 621 send_stream_ = send_stream;
620 } 622 }
621 623
622 void ModifyConfigs(VideoSendStream::Config* send_config, 624 void ModifyVideoConfigs(
623 std::vector<VideoReceiveStream::Config>* receive_configs, 625 VideoSendStream::Config* send_config,
624 VideoEncoderConfig* encoder_config) override { 626 std::vector<VideoReceiveStream::Config>* receive_configs,
627 VideoEncoderConfig* encoder_config) override {
625 if (pad_to_min_bitrate_) { 628 if (pad_to_min_bitrate_) {
626 encoder_config->min_transmit_bitrate_bps = kMinTransmitBitrateBps; 629 encoder_config->min_transmit_bitrate_bps = kMinTransmitBitrateBps;
627 } else { 630 } else {
628 RTC_DCHECK_EQ(0, encoder_config->min_transmit_bitrate_bps); 631 RTC_DCHECK_EQ(0, encoder_config->min_transmit_bitrate_bps);
629 } 632 }
630 } 633 }
631 634
632 void PerformTest() override { 635 void PerformTest() override {
633 EXPECT_TRUE(Wait()) << "Timeout while waiting for send-bitrate stats."; 636 EXPECT_TRUE(Wait()) << "Timeout while waiting for send-bitrate stats.";
634 } 637 }
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
691 } 694 }
692 return FakeEncoder::SetRates(new_target_bitrate_kbps, framerate); 695 return FakeEncoder::SetRates(new_target_bitrate_kbps, framerate);
693 } 696 }
694 697
695 Call::Config GetSenderCallConfig() override { 698 Call::Config GetSenderCallConfig() override {
696 Call::Config config = EndToEndTest::GetSenderCallConfig(); 699 Call::Config config = EndToEndTest::GetSenderCallConfig();
697 config.bitrate_config.start_bitrate_bps = kInitialBitrateKbps * 1000; 700 config.bitrate_config.start_bitrate_bps = kInitialBitrateKbps * 1000;
698 return config; 701 return config;
699 } 702 }
700 703
701 void ModifyConfigs(VideoSendStream::Config* send_config, 704 void ModifyVideoConfigs(
702 std::vector<VideoReceiveStream::Config>* receive_configs, 705 VideoSendStream::Config* send_config,
703 VideoEncoderConfig* encoder_config) override { 706 std::vector<VideoReceiveStream::Config>* receive_configs,
707 VideoEncoderConfig* encoder_config) override {
704 send_config->encoder_settings.encoder = this; 708 send_config->encoder_settings.encoder = this;
705 encoder_config->streams[0].min_bitrate_bps = 50000; 709 encoder_config->streams[0].min_bitrate_bps = 50000;
706 encoder_config->streams[0].target_bitrate_bps = 710 encoder_config->streams[0].target_bitrate_bps =
707 encoder_config->streams[0].max_bitrate_bps = 2000000; 711 encoder_config->streams[0].max_bitrate_bps = 2000000;
708 712
709 encoder_config_ = *encoder_config; 713 encoder_config_ = *encoder_config;
710 } 714 }
711 715
712 void OnStreamsCreated( 716 void OnVideoStreamsCreated(
713 VideoSendStream* send_stream, 717 VideoSendStream* send_stream,
714 const std::vector<VideoReceiveStream*>& receive_streams) override { 718 const std::vector<VideoReceiveStream*>& receive_streams) override {
715 send_stream_ = send_stream; 719 send_stream_ = send_stream;
716 } 720 }
717 721
718 void PerformTest() override { 722 void PerformTest() override {
719 ASSERT_TRUE(time_to_reconfigure_.Wait(kDefaultTimeoutMs)) 723 ASSERT_TRUE(time_to_reconfigure_.Wait(kDefaultTimeoutMs))
720 << "Timed out before receiving an initial high bitrate."; 724 << "Timed out before receiving an initial high bitrate.";
721 encoder_config_.streams[0].width *= 2; 725 encoder_config_.streams[0].width *= 2;
722 encoder_config_.streams[0].height *= 2; 726 encoder_config_.streams[0].height *= 2;
723 EXPECT_TRUE(send_stream_->ReconfigureVideoEncoder(encoder_config_)); 727 EXPECT_TRUE(send_stream_->ReconfigureVideoEncoder(encoder_config_));
724 EXPECT_TRUE(Wait()) 728 EXPECT_TRUE(Wait())
725 << "Timed out while waiting for a couple of high bitrate estimates " 729 << "Timed out while waiting for a couple of high bitrate estimates "
726 "after reconfiguring the send stream."; 730 "after reconfiguring the send stream.";
727 } 731 }
728 732
729 private: 733 private:
730 rtc::Event time_to_reconfigure_; 734 rtc::Event time_to_reconfigure_;
731 int encoder_inits_; 735 int encoder_inits_;
732 uint32_t last_set_bitrate_; 736 uint32_t last_set_bitrate_;
733 VideoSendStream* send_stream_; 737 VideoSendStream* send_stream_;
734 VideoEncoderConfig encoder_config_; 738 VideoEncoderConfig encoder_config_;
735 } test; 739 } test;
736 740
737 RunBaseTest(&test, FakeNetworkPipe::Config()); 741 RunBaseTest(&test, FakeNetworkPipe::Config());
738 } 742 }
739 743
740 } // namespace webrtc 744 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/call/bitrate_estimator_tests.cc ('k') | webrtc/call/packet_injection_tests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698