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

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc

Issue 1327933003: Enable probing with repeated payload packets by default. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fixing yet another flake in libjingle tests. Created 5 years, 3 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 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 721 matching lines...) Expand 10 before | Expand all | Expand 10 after
732 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset, 732 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset,
733 kTransmissionTimeOffsetExtensionId); 733 kTransmissionTimeOffsetExtensionId);
734 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, 734 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime,
735 kAbsoluteSendTimeExtensionId); 735 kAbsoluteSendTimeExtensionId);
736 webrtc::RTPHeader rtp_header; 736 webrtc::RTPHeader rtp_header;
737 737
738 rtp_sender_->SetTargetBitrate(300000); 738 rtp_sender_->SetTargetBitrate(300000);
739 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); 739 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds();
740 int rtp_length_int = rtp_sender_->BuildRTPheader( 740 int rtp_length_int = rtp_sender_->BuildRTPheader(
741 packet_, kPayload, kMarkerBit, timestamp, capture_time_ms); 741 packet_, kPayload, kMarkerBit, timestamp, capture_time_ms);
742 const uint32_t media_packet_timestamp = timestamp;
742 ASSERT_NE(-1, rtp_length_int); 743 ASSERT_NE(-1, rtp_length_int);
743 size_t rtp_length = static_cast<size_t>(rtp_length_int); 744 size_t rtp_length = static_cast<size_t>(rtp_length_int);
744 745
745 // Packet should be stored in a send bucket. 746 // Packet should be stored in a send bucket.
746 EXPECT_EQ(0, rtp_sender_->SendToNetwork(packet_, 747 EXPECT_EQ(0, rtp_sender_->SendToNetwork(packet_,
747 0, 748 0,
748 rtp_length, 749 rtp_length,
749 capture_time_ms, 750 capture_time_ms,
750 kAllowRetransmission, 751 kAllowRetransmission,
751 PacedSender::kNormalPriority)); 752 PacedSender::kNormalPriority));
(...skipping 20 matching lines...) Expand all
772 // Process send bucket. Padding should now be sent. 773 // Process send bucket. Padding should now be sent.
773 EXPECT_EQ(++total_packets_sent, transport_.packets_sent_); 774 EXPECT_EQ(++total_packets_sent, transport_.packets_sent_);
774 EXPECT_EQ(kMaxPaddingLength + rtp_header_len, 775 EXPECT_EQ(kMaxPaddingLength + rtp_header_len,
775 transport_.last_sent_packet_len_); 776 transport_.last_sent_packet_len_);
776 // Parse sent packet. 777 // Parse sent packet.
777 ASSERT_TRUE(rtp_parser->Parse(transport_.last_sent_packet_, 778 ASSERT_TRUE(rtp_parser->Parse(transport_.last_sent_packet_,
778 transport_.last_sent_packet_len_, 779 transport_.last_sent_packet_len_,
779 &rtp_header)); 780 &rtp_header));
780 EXPECT_EQ(kMaxPaddingLength, rtp_header.paddingLength); 781 EXPECT_EQ(kMaxPaddingLength, rtp_header.paddingLength);
781 782
782 // Verify sequence number and timestamp. 783 // Verify sequence number and timestamp. The timestamp should be the same
784 // as the last media packet.
783 EXPECT_EQ(seq_num++, rtp_header.sequenceNumber); 785 EXPECT_EQ(seq_num++, rtp_header.sequenceNumber);
784 EXPECT_EQ(timestamp, rtp_header.timestamp); 786 EXPECT_EQ(media_packet_timestamp, rtp_header.timestamp);
785 // Verify transmission time offset. 787 // Verify transmission time offset.
786 EXPECT_EQ(0, rtp_header.extension.transmissionTimeOffset); 788 int offset = timestamp - media_packet_timestamp;
789 EXPECT_EQ(offset, rtp_header.extension.transmissionTimeOffset);
787 uint64_t expected_send_time = 790 uint64_t expected_send_time =
788 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds()); 791 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds());
789 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); 792 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime);
790 fake_clock_.AdvanceTimeMilliseconds(kPaddingPeriodMs); 793 fake_clock_.AdvanceTimeMilliseconds(kPaddingPeriodMs);
791 timestamp += 90 * kPaddingPeriodMs; 794 timestamp += 90 * kPaddingPeriodMs;
792 } 795 }
793 796
794 // Send a regular video packet again. 797 // Send a regular video packet again.
795 capture_time_ms = fake_clock_.TimeInMilliseconds(); 798 capture_time_ms = fake_clock_.TimeInMilliseconds();
796 rtp_length_int = rtp_sender_->BuildRTPheader( 799 rtp_length_int = rtp_sender_->BuildRTPheader(
(...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after
1373 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()), 1376 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()),
1374 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation); 1377 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation);
1375 1378
1376 // Verify that this packet does have CVO byte. 1379 // Verify that this packet does have CVO byte.
1377 VerifyCVOPacket( 1380 VerifyCVOPacket(
1378 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()), 1381 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()),
1379 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1, 1382 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1,
1380 hdr.rotation); 1383 hdr.rotation);
1381 } 1384 }
1382 } // namespace webrtc 1385 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender.cc ('k') | webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698