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

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

Issue 1585783003: Fix expectation bug in the RTPSender unit test. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Use default action instead of WillOnce/WillRepeatedly Created 4 years, 11 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 | « no previous file | 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) 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 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 118
119 class RtpSenderTest : public ::testing::Test { 119 class RtpSenderTest : public ::testing::Test {
120 protected: 120 protected:
121 RtpSenderTest() 121 RtpSenderTest()
122 : fake_clock_(kStartTime), 122 : fake_clock_(kStartTime),
123 mock_paced_sender_(), 123 mock_paced_sender_(),
124 rtp_sender_(), 124 rtp_sender_(),
125 payload_(kPayload), 125 payload_(kPayload),
126 transport_(), 126 transport_(),
127 kMarkerBit(true) { 127 kMarkerBit(true) {
128 EXPECT_CALL(mock_paced_sender_, InsertPacket(_, _, _, _, _, _))
129 .WillRepeatedly(testing::Return());
130 } 128 }
131 129
132 void SetUp() override { SetUpRtpSender(true); } 130 void SetUp() override { SetUpRtpSender(true); }
133 131
134 void SetUpRtpSender(bool pacer) { 132 void SetUpRtpSender(bool pacer) {
135 rtp_sender_.reset(new RTPSender(false, &fake_clock_, &transport_, nullptr, 133 rtp_sender_.reset(new RTPSender(false, &fake_clock_, &transport_, nullptr,
136 pacer ? &mock_paced_sender_ : nullptr, 134 pacer ? &mock_paced_sender_ : nullptr,
137 nullptr, nullptr, nullptr, nullptr, 135 nullptr, nullptr, nullptr, nullptr,
138 nullptr)); 136 nullptr));
139 rtp_sender_->SetSequenceNumber(kSeqNum); 137 rtp_sender_->SetSequenceNumber(kSeqNum);
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 618
621 EXPECT_EQ(0, rtp_header2.extension.transmissionTimeOffset); 619 EXPECT_EQ(0, rtp_header2.extension.transmissionTimeOffset);
622 EXPECT_EQ(0u, rtp_header2.extension.absoluteSendTime); 620 EXPECT_EQ(0u, rtp_header2.extension.absoluteSendTime);
623 EXPECT_FALSE(rtp_header2.extension.voiceActivity); 621 EXPECT_FALSE(rtp_header2.extension.voiceActivity);
624 EXPECT_EQ(0u, rtp_header2.extension.audioLevel); 622 EXPECT_EQ(0u, rtp_header2.extension.audioLevel);
625 EXPECT_EQ(0u, rtp_header2.extension.transportSequenceNumber); 623 EXPECT_EQ(0u, rtp_header2.extension.transportSequenceNumber);
626 } 624 }
627 625
628 TEST_F(RtpSenderTest, TrafficSmoothingWithExtensions) { 626 TEST_F(RtpSenderTest, TrafficSmoothingWithExtensions) {
629 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, 627 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority,
630 _, kSeqNum, _, _, _)) 628 _, kSeqNum, _, _, _));
631 .WillRepeatedly(testing::Return());
632 629
633 rtp_sender_->SetStorePacketsStatus(true, 10); 630 rtp_sender_->SetStorePacketsStatus(true, 10);
634 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 631 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
635 kRtpExtensionTransmissionTimeOffset, 632 kRtpExtensionTransmissionTimeOffset,
636 kTransmissionTimeOffsetExtensionId)); 633 kTransmissionTimeOffsetExtensionId));
637 EXPECT_EQ( 634 EXPECT_EQ(
638 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, 635 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime,
639 kAbsoluteSendTimeExtensionId)); 636 kAbsoluteSendTimeExtensionId));
640 rtp_sender_->SetTargetBitrate(300000); 637 rtp_sender_->SetTargetBitrate(300000);
641 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); 638 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds();
(...skipping 30 matching lines...) Expand all
672 669
673 // Verify transmission time offset. 670 // Verify transmission time offset.
674 EXPECT_EQ(kStoredTimeInMs * 90, rtp_header.extension.transmissionTimeOffset); 671 EXPECT_EQ(kStoredTimeInMs * 90, rtp_header.extension.transmissionTimeOffset);
675 uint64_t expected_send_time = 672 uint64_t expected_send_time =
676 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds()); 673 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds());
677 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); 674 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime);
678 } 675 }
679 676
680 TEST_F(RtpSenderTest, TrafficSmoothingRetransmits) { 677 TEST_F(RtpSenderTest, TrafficSmoothingRetransmits) {
681 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, 678 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority,
682 _, kSeqNum, _, _, _)) 679 _, kSeqNum, _, _, _));
683 .WillRepeatedly(testing::Return());
684 680
685 rtp_sender_->SetStorePacketsStatus(true, 10); 681 rtp_sender_->SetStorePacketsStatus(true, 10);
686 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 682 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
687 kRtpExtensionTransmissionTimeOffset, 683 kRtpExtensionTransmissionTimeOffset,
688 kTransmissionTimeOffsetExtensionId)); 684 kTransmissionTimeOffsetExtensionId));
689 EXPECT_EQ( 685 EXPECT_EQ(
690 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, 686 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime,
691 kAbsoluteSendTimeExtensionId)); 687 kAbsoluteSendTimeExtensionId));
692 rtp_sender_->SetTargetBitrate(300000); 688 rtp_sender_->SetTargetBitrate(300000);
693 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); 689 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds();
694 int rtp_length_int = rtp_sender_->BuildRTPheader( 690 int rtp_length_int = rtp_sender_->BuildRTPheader(
695 packet_, kPayload, kMarkerBit, kTimestamp, capture_time_ms); 691 packet_, kPayload, kMarkerBit, kTimestamp, capture_time_ms);
696 ASSERT_NE(-1, rtp_length_int); 692 ASSERT_NE(-1, rtp_length_int);
697 size_t rtp_length = static_cast<size_t>(rtp_length_int); 693 size_t rtp_length = static_cast<size_t>(rtp_length_int);
698 694
699 // Packet should be stored in a send bucket. 695 // Packet should be stored in a send bucket.
700 EXPECT_EQ(0, rtp_sender_->SendToNetwork(packet_, 0, rtp_length, 696 EXPECT_EQ(0, rtp_sender_->SendToNetwork(packet_, 0, rtp_length,
701 capture_time_ms, kAllowRetransmission, 697 capture_time_ms, kAllowRetransmission,
702 RtpPacketSender::kNormalPriority)); 698 RtpPacketSender::kNormalPriority));
703 699
704 EXPECT_EQ(0, transport_.packets_sent_); 700 EXPECT_EQ(0, transport_.packets_sent_);
705 701
706 EXPECT_CALL(mock_paced_sender_, 702 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority,
707 InsertPacket(RtpPacketSender::kHighPriority, _, kSeqNum, _, _, _)) 703 _, kSeqNum, _, _, _));
708 .WillRepeatedly(testing::Return());
709 704
710 const int kStoredTimeInMs = 100; 705 const int kStoredTimeInMs = 100;
711 fake_clock_.AdvanceTimeMilliseconds(kStoredTimeInMs); 706 fake_clock_.AdvanceTimeMilliseconds(kStoredTimeInMs);
712 707
713 EXPECT_EQ(rtp_length_int, rtp_sender_->ReSendPacket(kSeqNum)); 708 EXPECT_EQ(rtp_length_int, rtp_sender_->ReSendPacket(kSeqNum));
714 EXPECT_EQ(0, transport_.packets_sent_); 709 EXPECT_EQ(0, transport_.packets_sent_);
715 710
716 rtp_sender_->TimeToSendPacket(kSeqNum, capture_time_ms, false); 711 rtp_sender_->TimeToSendPacket(kSeqNum, capture_time_ms, false);
717 712
718 // Process send bucket. Packet should now be sent. 713 // Process send bucket. Packet should now be sent.
(...skipping 15 matching lines...) Expand all
734 EXPECT_EQ(kStoredTimeInMs * 90, rtp_header.extension.transmissionTimeOffset); 729 EXPECT_EQ(kStoredTimeInMs * 90, rtp_header.extension.transmissionTimeOffset);
735 uint64_t expected_send_time = 730 uint64_t expected_send_time =
736 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds()); 731 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds());
737 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); 732 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime);
738 } 733 }
739 734
740 // This test sends 1 regular video packet, then 4 padding packets, and then 735 // This test sends 1 regular video packet, then 4 padding packets, and then
741 // 1 more regular packet. 736 // 1 more regular packet.
742 TEST_F(RtpSenderTest, SendPadding) { 737 TEST_F(RtpSenderTest, SendPadding) {
743 // Make all (non-padding) packets go to send queue. 738 // Make all (non-padding) packets go to send queue.
744 EXPECT_CALL(mock_paced_sender_, 739 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority,
745 InsertPacket(RtpPacketSender::kNormalPriority, _, _, _, _, _)) 740 _, kSeqNum, _, _, _));
746 .WillRepeatedly(testing::Return());
747 741
748 uint16_t seq_num = kSeqNum; 742 uint16_t seq_num = kSeqNum;
749 uint32_t timestamp = kTimestamp; 743 uint32_t timestamp = kTimestamp;
750 rtp_sender_->SetStorePacketsStatus(true, 10); 744 rtp_sender_->SetStorePacketsStatus(true, 10);
751 size_t rtp_header_len = kRtpHeaderSize; 745 size_t rtp_header_len = kRtpHeaderSize;
752 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 746 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
753 kRtpExtensionTransmissionTimeOffset, 747 kRtpExtensionTransmissionTimeOffset,
754 kTransmissionTimeOffsetExtensionId)); 748 kTransmissionTimeOffsetExtensionId));
755 rtp_header_len += 4; // 4 bytes extension. 749 rtp_header_len += 4; // 4 bytes extension.
756 EXPECT_EQ( 750 EXPECT_EQ(
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 timestamp += 90 * kPaddingPeriodMs; 819 timestamp += 90 * kPaddingPeriodMs;
826 } 820 }
827 821
828 // Send a regular video packet again. 822 // Send a regular video packet again.
829 capture_time_ms = fake_clock_.TimeInMilliseconds(); 823 capture_time_ms = fake_clock_.TimeInMilliseconds();
830 rtp_length_int = rtp_sender_->BuildRTPheader(packet_, kPayload, kMarkerBit, 824 rtp_length_int = rtp_sender_->BuildRTPheader(packet_, kPayload, kMarkerBit,
831 timestamp, capture_time_ms); 825 timestamp, capture_time_ms);
832 ASSERT_NE(-1, rtp_length_int); 826 ASSERT_NE(-1, rtp_length_int);
833 rtp_length = static_cast<size_t>(rtp_length_int); 827 rtp_length = static_cast<size_t>(rtp_length_int);
834 828
829 EXPECT_CALL(mock_paced_sender_,
830 InsertPacket(RtpPacketSender::kNormalPriority, _, _, _, _, _));
831
835 // Packet should be stored in a send bucket. 832 // Packet should be stored in a send bucket.
836 EXPECT_EQ(0, rtp_sender_->SendToNetwork(packet_, 0, rtp_length, 833 EXPECT_EQ(0, rtp_sender_->SendToNetwork(packet_, 0, rtp_length,
837 capture_time_ms, kAllowRetransmission, 834 capture_time_ms, kAllowRetransmission,
838 RtpPacketSender::kNormalPriority)); 835 RtpPacketSender::kNormalPriority));
839 836
840 rtp_sender_->TimeToSendPacket(seq_num, capture_time_ms, false); 837 rtp_sender_->TimeToSendPacket(seq_num, capture_time_ms, false);
841 // Process send bucket. 838 // Process send bucket.
842 EXPECT_EQ(++total_packets_sent, transport_.packets_sent_); 839 EXPECT_EQ(++total_packets_sent, transport_.packets_sent_);
843 EXPECT_EQ(rtp_length, transport_.last_sent_packet_len_); 840 EXPECT_EQ(rtp_length, transport_.last_sent_packet_len_);
844 // Parse sent packet. 841 // Parse sent packet.
(...skipping 10 matching lines...) Expand all
855 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); 852 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime);
856 } 853 }
857 854
858 TEST_F(RtpSenderTest, SendRedundantPayloads) { 855 TEST_F(RtpSenderTest, SendRedundantPayloads) {
859 MockTransport transport; 856 MockTransport transport;
860 rtp_sender_.reset(new RTPSender(false, &fake_clock_, &transport, nullptr, 857 rtp_sender_.reset(new RTPSender(false, &fake_clock_, &transport, nullptr,
861 &mock_paced_sender_, nullptr, nullptr, 858 &mock_paced_sender_, nullptr, nullptr,
862 nullptr, nullptr, nullptr)); 859 nullptr, nullptr, nullptr));
863 rtp_sender_->SetSequenceNumber(kSeqNum); 860 rtp_sender_->SetSequenceNumber(kSeqNum);
864 rtp_sender_->SetRtxPayloadType(kRtxPayload, kPayload); 861 rtp_sender_->SetRtxPayloadType(kRtxPayload, kPayload);
865 // Make all packets go through the pacer.
866 EXPECT_CALL(mock_paced_sender_,
867 InsertPacket(RtpPacketSender::kNormalPriority, _, _, _, _, _))
868 .WillRepeatedly(testing::Return());
869 862
870 uint16_t seq_num = kSeqNum; 863 uint16_t seq_num = kSeqNum;
871 rtp_sender_->SetStorePacketsStatus(true, 10); 864 rtp_sender_->SetStorePacketsStatus(true, 10);
872 int32_t rtp_header_len = kRtpHeaderSize; 865 int32_t rtp_header_len = kRtpHeaderSize;
873 EXPECT_EQ( 866 EXPECT_EQ(
874 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, 867 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime,
875 kAbsoluteSendTimeExtensionId)); 868 kAbsoluteSendTimeExtensionId));
876 rtp_header_len += 4; // 4 bytes extension. 869 rtp_header_len += 4; // 4 bytes extension.
877 rtp_header_len += 4; // 4 extra bytes common to all extension headers. 870 rtp_header_len += 4; // 4 extra bytes common to all extension headers.
878 871
879 rtp_sender_->SetRtxStatus(kRtxRetransmitted | kRtxRedundantPayloads); 872 rtp_sender_->SetRtxStatus(kRtxRetransmitted | kRtxRedundantPayloads);
880 rtp_sender_->SetRtxSsrc(1234); 873 rtp_sender_->SetRtxSsrc(1234);
881 874
882 // Create and set up parser. 875 // Create and set up parser.
883 rtc::scoped_ptr<webrtc::RtpHeaderParser> rtp_parser( 876 rtc::scoped_ptr<webrtc::RtpHeaderParser> rtp_parser(
884 webrtc::RtpHeaderParser::Create()); 877 webrtc::RtpHeaderParser::Create());
885 ASSERT_TRUE(rtp_parser.get() != nullptr); 878 ASSERT_TRUE(rtp_parser.get() != nullptr);
886 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset, 879 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset,
887 kTransmissionTimeOffsetExtensionId); 880 kTransmissionTimeOffsetExtensionId);
888 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, 881 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime,
889 kAbsoluteSendTimeExtensionId); 882 kAbsoluteSendTimeExtensionId);
890 rtp_sender_->SetTargetBitrate(300000); 883 rtp_sender_->SetTargetBitrate(300000);
891 const size_t kNumPayloadSizes = 10; 884 const size_t kNumPayloadSizes = 10;
892 const size_t kPayloadSizes[kNumPayloadSizes] = {500, 550, 600, 650, 700, 885 const size_t kPayloadSizes[kNumPayloadSizes] = {500, 550, 600, 650, 700,
893 750, 800, 850, 900, 950}; 886 750, 800, 850, 900, 950};
887 // Expect all packets go through the pacer.
888 EXPECT_CALL(mock_paced_sender_,
889 InsertPacket(RtpPacketSender::kNormalPriority, _, _, _, _, _))
890 .Times(kNumPayloadSizes);
894 // Send 10 packets of increasing size. 891 // Send 10 packets of increasing size.
895 for (size_t i = 0; i < kNumPayloadSizes; ++i) { 892 for (size_t i = 0; i < kNumPayloadSizes; ++i) {
896 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); 893 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds();
897 EXPECT_CALL(transport, SendRtp(_, _, _)).WillOnce(testing::Return(true)); 894 EXPECT_CALL(transport, SendRtp(_, _, _)).WillOnce(testing::Return(true));
898 SendPacket(capture_time_ms, kPayloadSizes[i]); 895 SendPacket(capture_time_ms, kPayloadSizes[i]);
899 rtp_sender_->TimeToSendPacket(seq_num++, capture_time_ms, false); 896 rtp_sender_->TimeToSendPacket(seq_num++, capture_time_ms, false);
900 fake_clock_.AdvanceTimeMilliseconds(33); 897 fake_clock_.AdvanceTimeMilliseconds(33);
901 } 898 }
902 // The amount of padding to send it too small to send a payload packet. 899 // The amount of padding to send it too small to send a payload packet.
903 EXPECT_CALL(transport, SendRtp(_, kMaxPaddingSize + rtp_header_len, _)) 900 EXPECT_CALL(transport, SendRtp(_, kMaxPaddingSize + rtp_header_len, _))
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
996 nullptr, &callback, nullptr)); 993 nullptr, &callback, nullptr));
997 994
998 char payload_name[RTP_PAYLOAD_NAME_SIZE] = "GENERIC"; 995 char payload_name[RTP_PAYLOAD_NAME_SIZE] = "GENERIC";
999 const uint8_t payload_type = 127; 996 const uint8_t payload_type = 127;
1000 ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 90000, 997 ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 90000,
1001 0, 1500)); 998 0, 1500));
1002 uint8_t payload[] = {47, 11, 32, 93, 89}; 999 uint8_t payload[] = {47, 11, 32, 93, 89};
1003 rtp_sender_->SetStorePacketsStatus(true, 1); 1000 rtp_sender_->SetStorePacketsStatus(true, 1);
1004 uint32_t ssrc = rtp_sender_->SSRC(); 1001 uint32_t ssrc = rtp_sender_->SSRC();
1005 1002
1003 EXPECT_CALL(mock_paced_sender_, InsertPacket(_, _, _, _, _, _))
1004 .Times(::testing::AtLeast(2));
1005
1006 ASSERT_EQ( 1006 ASSERT_EQ(
1007 0, rtp_sender_->SendOutgoingData(kVideoFrameKey, payload_type, 1234, 4321, 1007 0, rtp_sender_->SendOutgoingData(kVideoFrameKey, payload_type, 1234, 4321,
1008 payload, sizeof(payload), nullptr)); 1008 payload, sizeof(payload), nullptr));
1009 1009
1010 EXPECT_EQ(1U, callback.num_calls_); 1010 EXPECT_EQ(1U, callback.num_calls_);
1011 EXPECT_EQ(ssrc, callback.ssrc_); 1011 EXPECT_EQ(ssrc, callback.ssrc_);
1012 EXPECT_EQ(1, callback.frame_counts_.key_frames); 1012 EXPECT_EQ(1, callback.frame_counts_.key_frames);
1013 EXPECT_EQ(0, callback.frame_counts_.delta_frames); 1013 EXPECT_EQ(0, callback.frame_counts_.delta_frames);
1014 1014
1015 ASSERT_EQ(0, rtp_sender_->SendOutgoingData(kVideoFrameDelta, payload_type, 1015 ASSERT_EQ(0, rtp_sender_->SendOutgoingData(kVideoFrameDelta, payload_type,
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
1418 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()), 1418 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()),
1419 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation); 1419 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation);
1420 1420
1421 // Verify that this packet does have CVO byte. 1421 // Verify that this packet does have CVO byte.
1422 VerifyCVOPacket( 1422 VerifyCVOPacket(
1423 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()), 1423 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()),
1424 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1, 1424 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1,
1425 hdr.rotation); 1425 hdr.rotation);
1426 } 1426 }
1427 } // namespace webrtc 1427 } // namespace webrtc
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698