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

Unified Diff: webrtc/video/video_send_stream_tests.cc

Issue 2883963002: Periodically update codec bit/frame rate settings. (Closed)
Patch Set: Dumb typo Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/test/fake_encoder.cc ('k') | webrtc/video/vie_encoder.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/video/video_send_stream_tests.cc
diff --git a/webrtc/video/video_send_stream_tests.cc b/webrtc/video/video_send_stream_tests.cc
index de3da25385e5f463108cfde683920b7b22aea77a..97b2f6acb39bc2a4ade33fff9f587290dde6ca93 100644
--- a/webrtc/video/video_send_stream_tests.cc
+++ b/webrtc/video/video_send_stream_tests.cc
@@ -937,10 +937,12 @@ void VideoSendStreamTest::TestPacketFragmentationSize(VideoFormat format,
void TriggerLossReport(const RTPHeader& header) {
// Send lossy receive reports to trigger FEC enabling.
- if (packet_count_++ % 2 != 0) {
- // Receive statistics reporting having lost 50% of the packets.
+ const int kLossPercent = 5;
+ if (packet_count_++ % (100 / kLossPercent) != 0) {
FakeReceiveStatistics lossy_receive_stats(
- kVideoSendSsrcs[0], header.sequenceNumber, packet_count_ / 2, 127);
+ kVideoSendSsrcs[0], header.sequenceNumber,
+ (packet_count_ * (100 - kLossPercent)) / 100, // Cumulative lost.
+ static_cast<uint8_t>((255 * kLossPercent) / 100)); // Loss percent.
RTCPSender rtcp_sender(false, Clock::GetRealTimeClock(),
&lossy_receive_stats, nullptr, nullptr,
transport_adapter_.get());
@@ -993,6 +995,35 @@ void VideoSendStreamTest::TestPacketFragmentationSize(VideoFormat format,
// Make sure there is at least one extension header, to make the RTP
// header larger than the base length of 12 bytes.
EXPECT_FALSE(send_config->rtp.extensions.empty());
+
+ // Setup screen content disables frame dropping which makes this easier.
+ class VideoStreamFactory
+ : public VideoEncoderConfig::VideoStreamFactoryInterface {
+ public:
+ explicit VideoStreamFactory(size_t num_temporal_layers)
+ : num_temporal_layers_(num_temporal_layers) {
+ EXPECT_GT(num_temporal_layers, 0u);
+ }
+
+ private:
+ std::vector<VideoStream> CreateEncoderStreams(
+ int width,
+ int height,
+ const VideoEncoderConfig& encoder_config) override {
+ std::vector<VideoStream> streams =
+ test::CreateVideoStreams(width, height, encoder_config);
+ for (VideoStream& stream : streams) {
+ stream.temporal_layer_thresholds_bps.resize(num_temporal_layers_ -
+ 1);
+ }
+ return streams;
+ }
+ const size_t num_temporal_layers_;
+ };
+
+ encoder_config->video_stream_factory =
+ new rtc::RefCountedObject<VideoStreamFactory>(2);
+ encoder_config->content_type = VideoEncoderConfig::ContentType::kScreen;
}
void PerformTest() override {
« no previous file with comments | « webrtc/test/fake_encoder.cc ('k') | webrtc/video/vie_encoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698