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

Side by Side Diff: webrtc/video/video_send_stream_tests.cc

Issue 2500943002: Add FlexFEC to CallTest. (Closed)
Patch Set: Rebase. Created 4 years, 1 month 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/video/video_quality_test.cc ('k') | no next file » | 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> // max 10 #include <algorithm> // max
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 void TestVp9NonFlexMode(uint8_t num_temporal_layers, 58 void TestVp9NonFlexMode(uint8_t num_temporal_layers,
59 uint8_t num_spatial_layers); 59 uint8_t num_spatial_layers);
60 60
61 void TestRequestSourceRotateVideo(bool support_orientation_ext); 61 void TestRequestSourceRotateVideo(bool support_orientation_ext);
62 }; 62 };
63 63
64 TEST_F(VideoSendStreamTest, CanStartStartedStream) { 64 TEST_F(VideoSendStreamTest, CanStartStartedStream) {
65 CreateSenderCall(Call::Config(&event_log_)); 65 CreateSenderCall(Call::Config(&event_log_));
66 66
67 test::NullTransport transport; 67 test::NullTransport transport;
68 CreateSendConfig(1, 0, &transport); 68 CreateSendConfig(1, 0, 0, &transport);
69 CreateVideoStreams(); 69 CreateVideoStreams();
70 video_send_stream_->Start(); 70 video_send_stream_->Start();
71 video_send_stream_->Start(); 71 video_send_stream_->Start();
72 DestroyStreams(); 72 DestroyStreams();
73 } 73 }
74 74
75 TEST_F(VideoSendStreamTest, CanStopStoppedStream) { 75 TEST_F(VideoSendStreamTest, CanStopStoppedStream) {
76 CreateSenderCall(Call::Config(&event_log_)); 76 CreateSenderCall(Call::Config(&event_log_));
77 77
78 test::NullTransport transport; 78 test::NullTransport transport;
79 CreateSendConfig(1, 0, &transport); 79 CreateSendConfig(1, 0, 0, &transport);
80 CreateVideoStreams(); 80 CreateVideoStreams();
81 video_send_stream_->Stop(); 81 video_send_stream_->Stop();
82 video_send_stream_->Stop(); 82 video_send_stream_->Stop();
83 DestroyStreams(); 83 DestroyStreams();
84 } 84 }
85 85
86 TEST_F(VideoSendStreamTest, SupportsCName) { 86 TEST_F(VideoSendStreamTest, SupportsCName) {
87 static std::string kCName = "PjQatC14dGfbVwGPUOA9IH7RlsFDbWl4AhXEiDsBizo="; 87 static std::string kCName = "PjQatC14dGfbVwGPUOA9IH7RlsFDbWl4AhXEiDsBizo=";
88 class CNameObserver : public test::SendTest { 88 class CNameObserver : public test::SendTest {
89 public: 89 public:
(...skipping 1420 matching lines...) Expand 10 before | Expand all | Expand 10 after
1510 1510
1511 rtc::CriticalSection crit_; 1511 rtc::CriticalSection crit_;
1512 rtc::Event init_encode_called_; 1512 rtc::Event init_encode_called_;
1513 size_t number_of_initializations_ GUARDED_BY(&crit_); 1513 size_t number_of_initializations_ GUARDED_BY(&crit_);
1514 int last_initialized_frame_width_ GUARDED_BY(&crit_); 1514 int last_initialized_frame_width_ GUARDED_BY(&crit_);
1515 int last_initialized_frame_height_ GUARDED_BY(&crit_); 1515 int last_initialized_frame_height_ GUARDED_BY(&crit_);
1516 }; 1516 };
1517 1517
1518 CreateSenderCall(Call::Config(&event_log_)); 1518 CreateSenderCall(Call::Config(&event_log_));
1519 test::NullTransport transport; 1519 test::NullTransport transport;
1520 CreateSendConfig(1, 0, &transport); 1520 CreateSendConfig(1, 0, 0, &transport);
1521 EncoderObserver encoder; 1521 EncoderObserver encoder;
1522 video_send_config_.encoder_settings.encoder = &encoder; 1522 video_send_config_.encoder_settings.encoder = &encoder;
1523 CreateVideoStreams(); 1523 CreateVideoStreams();
1524 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth, 1524 CreateFrameGeneratorCapturer(kDefaultFramerate, kDefaultWidth,
1525 kDefaultHeight); 1525 kDefaultHeight);
1526 frame_generator_capturer_->Start(); 1526 frame_generator_capturer_->Start();
1527 1527
1528 encoder.WaitForResolution(kDefaultWidth, kDefaultHeight); 1528 encoder.WaitForResolution(kDefaultWidth, kDefaultHeight);
1529 frame_generator_capturer_->ChangeResolution(kDefaultWidth * 2, 1529 frame_generator_capturer_->ChangeResolution(kDefaultWidth * 2,
1530 kDefaultHeight * 2); 1530 kDefaultHeight * 2);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1567 1567
1568 private: 1568 private:
1569 rtc::CriticalSection crit_; 1569 rtc::CriticalSection crit_;
1570 rtc::Event start_bitrate_changed_; 1570 rtc::Event start_bitrate_changed_;
1571 int start_bitrate_kbps_ GUARDED_BY(crit_); 1571 int start_bitrate_kbps_ GUARDED_BY(crit_);
1572 }; 1572 };
1573 1573
1574 CreateSenderCall(Call::Config(&event_log_)); 1574 CreateSenderCall(Call::Config(&event_log_));
1575 1575
1576 test::NullTransport transport; 1576 test::NullTransport transport;
1577 CreateSendConfig(1, 0, &transport); 1577 CreateSendConfig(1, 0, 0, &transport);
1578 1578
1579 Call::Config::BitrateConfig bitrate_config; 1579 Call::Config::BitrateConfig bitrate_config;
1580 bitrate_config.start_bitrate_bps = 2 * video_encoder_config_.max_bitrate_bps; 1580 bitrate_config.start_bitrate_bps = 2 * video_encoder_config_.max_bitrate_bps;
1581 sender_call_->SetBitrateConfig(bitrate_config); 1581 sender_call_->SetBitrateConfig(bitrate_config);
1582 1582
1583 StartBitrateObserver encoder; 1583 StartBitrateObserver encoder;
1584 video_send_config_.encoder_settings.encoder = &encoder; 1584 video_send_config_.encoder_settings.encoder = &encoder;
1585 // Since this test does not use a capturer, set |internal_source| = true. 1585 // Since this test does not use a capturer, set |internal_source| = true.
1586 // Encoder configuration is otherwise updated on the next video frame. 1586 // Encoder configuration is otherwise updated on the next video frame.
1587 video_send_config_.encoder_settings.internal_source = true; 1587 video_send_config_.encoder_settings.internal_source = true;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
1648 private: 1648 private:
1649 rtc::CriticalSection crit_; 1649 rtc::CriticalSection crit_;
1650 rtc::Event encoder_init_; 1650 rtc::Event encoder_init_;
1651 rtc::Event bitrate_changed_; 1651 rtc::Event bitrate_changed_;
1652 int bitrate_kbps_ GUARDED_BY(crit_); 1652 int bitrate_kbps_ GUARDED_BY(crit_);
1653 }; 1653 };
1654 1654
1655 CreateSenderCall(Call::Config(&event_log_)); 1655 CreateSenderCall(Call::Config(&event_log_));
1656 1656
1657 test::NullTransport transport; 1657 test::NullTransport transport;
1658 CreateSendConfig(1, 0, &transport); 1658 CreateSendConfig(1, 0, 0, &transport);
1659 1659
1660 StartStopBitrateObserver encoder; 1660 StartStopBitrateObserver encoder;
1661 video_send_config_.encoder_settings.encoder = &encoder; 1661 video_send_config_.encoder_settings.encoder = &encoder;
1662 video_send_config_.encoder_settings.internal_source = true; 1662 video_send_config_.encoder_settings.internal_source = true;
1663 1663
1664 CreateVideoStreams(); 1664 CreateVideoStreams();
1665 1665
1666 EXPECT_TRUE(encoder.WaitForEncoderInit()); 1666 EXPECT_TRUE(encoder.WaitForEncoderInit());
1667 EXPECT_GT(encoder.GetBitrateKbps(), 0); 1667 EXPECT_GT(encoder.GetBitrateKbps(), 0);
1668 video_send_stream_->Start(); 1668 video_send_stream_->Start();
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1703 std::vector<VideoFrame> output_frames_; 1703 std::vector<VideoFrame> output_frames_;
1704 1704
1705 // Indicate an output frame has arrived. 1705 // Indicate an output frame has arrived.
1706 rtc::Event output_frame_event_; 1706 rtc::Event output_frame_event_;
1707 }; 1707 };
1708 1708
1709 // Initialize send stream. 1709 // Initialize send stream.
1710 CreateSenderCall(Call::Config(&event_log_)); 1710 CreateSenderCall(Call::Config(&event_log_));
1711 1711
1712 test::NullTransport transport; 1712 test::NullTransport transport;
1713 CreateSendConfig(1, 0, &transport); 1713 CreateSendConfig(1, 0, 0, &transport);
1714 FrameObserver observer; 1714 FrameObserver observer;
1715 video_send_config_.pre_encode_callback = &observer; 1715 video_send_config_.pre_encode_callback = &observer;
1716 CreateVideoStreams(); 1716 CreateVideoStreams();
1717 1717
1718 // Prepare five input frames. Send ordinary VideoFrame and texture frames 1718 // Prepare five input frames. Send ordinary VideoFrame and texture frames
1719 // alternatively. 1719 // alternatively.
1720 std::vector<VideoFrame> input_frames; 1720 std::vector<VideoFrame> input_frames;
1721 int width = 168; 1721 int width = 168;
1722 int height = 132; 1722 int height = 132;
1723 1723
(...skipping 1234 matching lines...) Expand 10 before | Expand all | Expand 10 after
2958 2958
2959 RunBaseTest(&test); 2959 RunBaseTest(&test);
2960 } 2960 }
2961 #endif // !defined(RTC_DISABLE_VP9) 2961 #endif // !defined(RTC_DISABLE_VP9)
2962 2962
2963 void VideoSendStreamTest::TestRequestSourceRotateVideo( 2963 void VideoSendStreamTest::TestRequestSourceRotateVideo(
2964 bool support_orientation_ext) { 2964 bool support_orientation_ext) {
2965 CreateSenderCall(Call::Config(&event_log_)); 2965 CreateSenderCall(Call::Config(&event_log_));
2966 2966
2967 test::NullTransport transport; 2967 test::NullTransport transport;
2968 CreateSendConfig(1, 0, &transport); 2968 CreateSendConfig(1, 0, 0, &transport);
2969 video_send_config_.rtp.extensions.clear(); 2969 video_send_config_.rtp.extensions.clear();
2970 if (support_orientation_ext) { 2970 if (support_orientation_ext) {
2971 video_send_config_.rtp.extensions.push_back( 2971 video_send_config_.rtp.extensions.push_back(
2972 RtpExtension(RtpExtension::kVideoRotationUri, 1)); 2972 RtpExtension(RtpExtension::kVideoRotationUri, 1));
2973 } 2973 }
2974 2974
2975 CreateVideoStreams(); 2975 CreateVideoStreams();
2976 test::FrameForwarder forwarder; 2976 test::FrameForwarder forwarder;
2977 video_send_stream_->SetSource( 2977 video_send_stream_->SetSource(
2978 &forwarder, VideoSendStream::DegradationPreference::kBalanced); 2978 &forwarder, VideoSendStream::DegradationPreference::kBalanced);
2979 2979
2980 EXPECT_TRUE(forwarder.sink_wants().rotation_applied != 2980 EXPECT_TRUE(forwarder.sink_wants().rotation_applied !=
2981 support_orientation_ext); 2981 support_orientation_ext);
2982 2982
2983 DestroyStreams(); 2983 DestroyStreams();
2984 } 2984 }
2985 2985
2986 TEST_F(VideoSendStreamTest, 2986 TEST_F(VideoSendStreamTest,
2987 RequestSourceRotateIfVideoOrientationExtensionNotSupported) { 2987 RequestSourceRotateIfVideoOrientationExtensionNotSupported) {
2988 TestRequestSourceRotateVideo(false); 2988 TestRequestSourceRotateVideo(false);
2989 } 2989 }
2990 2990
2991 TEST_F(VideoSendStreamTest, 2991 TEST_F(VideoSendStreamTest,
2992 DoNotRequestsRotationIfVideoOrientationExtensionSupported) { 2992 DoNotRequestsRotationIfVideoOrientationExtensionSupported) {
2993 TestRequestSourceRotateVideo(true); 2993 TestRequestSourceRotateVideo(true);
2994 } 2994 }
2995 2995
2996 } // namespace webrtc 2996 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/video/video_quality_test.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698