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

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

Issue 1170723002: Use RtcpPacket classes for SenderReport/ReceiveReport in RTCPSender (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase Created 5 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 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 * This file includes unit tests for the RtcpPacket. 10 * This file includes unit tests for the RtcpPacket.
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 rb.To(kRemoteSsrc); 64 rb.To(kRemoteSsrc);
65 rb.WithFractionLost(55); 65 rb.WithFractionLost(55);
66 rb.WithCumulativeLost(0x111111); 66 rb.WithCumulativeLost(0x111111);
67 rb.WithExtHighestSeqNum(0x22222222); 67 rb.WithExtHighestSeqNum(0x22222222);
68 rb.WithJitter(0x33333333); 68 rb.WithJitter(0x33333333);
69 rb.WithLastSr(0x44444444); 69 rb.WithLastSr(0x44444444);
70 rb.WithDelayLastSr(0x55555555); 70 rb.WithDelayLastSr(0x55555555);
71 71
72 ReceiverReport rr; 72 ReceiverReport rr;
73 rr.From(kSenderSsrc); 73 rr.From(kSenderSsrc);
74 EXPECT_TRUE(rr.WithReportBlock(&rb)); 74 EXPECT_TRUE(rr.WithReportBlock(rb));
75 75
76 rtc::scoped_ptr<RawPacket> packet(rr.Build()); 76 rtc::scoped_ptr<RawPacket> packet(rr.Build());
77 RtcpPacketParser parser; 77 RtcpPacketParser parser;
78 parser.Parse(packet->Buffer(), packet->Length()); 78 parser.Parse(packet->Buffer(), packet->Length());
79 EXPECT_EQ(1, parser.receiver_report()->num_packets()); 79 EXPECT_EQ(1, parser.receiver_report()->num_packets());
80 EXPECT_EQ(kSenderSsrc, parser.receiver_report()->Ssrc()); 80 EXPECT_EQ(kSenderSsrc, parser.receiver_report()->Ssrc());
81 EXPECT_EQ(1, parser.report_block()->num_packets()); 81 EXPECT_EQ(1, parser.report_block()->num_packets());
82 EXPECT_EQ(kRemoteSsrc, parser.report_block()->Ssrc()); 82 EXPECT_EQ(kRemoteSsrc, parser.report_block()->Ssrc());
83 EXPECT_EQ(55U, parser.report_block()->FractionLost()); 83 EXPECT_EQ(55U, parser.report_block()->FractionLost());
84 EXPECT_EQ(0x111111U, parser.report_block()->CumPacketLost()); 84 EXPECT_EQ(0x111111U, parser.report_block()->CumPacketLost());
85 EXPECT_EQ(0x22222222U, parser.report_block()->ExtHighestSeqNum()); 85 EXPECT_EQ(0x22222222U, parser.report_block()->ExtHighestSeqNum());
86 EXPECT_EQ(0x33333333U, parser.report_block()->Jitter()); 86 EXPECT_EQ(0x33333333U, parser.report_block()->Jitter());
87 EXPECT_EQ(0x44444444U, parser.report_block()->LastSr()); 87 EXPECT_EQ(0x44444444U, parser.report_block()->LastSr());
88 EXPECT_EQ(0x55555555U, parser.report_block()->DelayLastSr()); 88 EXPECT_EQ(0x55555555U, parser.report_block()->DelayLastSr());
89 } 89 }
90 90
91 TEST(RtcpPacketTest, RrWithTwoReportBlocks) { 91 TEST(RtcpPacketTest, RrWithTwoReportBlocks) {
92 ReportBlock rb1; 92 ReportBlock rb1;
93 rb1.To(kRemoteSsrc); 93 rb1.To(kRemoteSsrc);
94 ReportBlock rb2; 94 ReportBlock rb2;
95 rb2.To(kRemoteSsrc + 1); 95 rb2.To(kRemoteSsrc + 1);
96 96
97 ReceiverReport rr; 97 ReceiverReport rr;
98 rr.From(kSenderSsrc); 98 rr.From(kSenderSsrc);
99 EXPECT_TRUE(rr.WithReportBlock(&rb1)); 99 EXPECT_TRUE(rr.WithReportBlock(rb1));
100 EXPECT_TRUE(rr.WithReportBlock(&rb2)); 100 EXPECT_TRUE(rr.WithReportBlock(rb2));
101 101
102 rtc::scoped_ptr<RawPacket> packet(rr.Build()); 102 rtc::scoped_ptr<RawPacket> packet(rr.Build());
103 RtcpPacketParser parser; 103 RtcpPacketParser parser;
104 parser.Parse(packet->Buffer(), packet->Length()); 104 parser.Parse(packet->Buffer(), packet->Length());
105 EXPECT_EQ(1, parser.receiver_report()->num_packets()); 105 EXPECT_EQ(1, parser.receiver_report()->num_packets());
106 EXPECT_EQ(kSenderSsrc, parser.receiver_report()->Ssrc()); 106 EXPECT_EQ(kSenderSsrc, parser.receiver_report()->Ssrc());
107 EXPECT_EQ(2, parser.report_block()->num_packets()); 107 EXPECT_EQ(2, parser.report_block()->num_packets());
108 EXPECT_EQ(1, parser.report_blocks_per_ssrc(kRemoteSsrc)); 108 EXPECT_EQ(1, parser.report_blocks_per_ssrc(kRemoteSsrc));
109 EXPECT_EQ(1, parser.report_blocks_per_ssrc(kRemoteSsrc + 1)); 109 EXPECT_EQ(1, parser.report_blocks_per_ssrc(kRemoteSsrc + 1));
110 } 110 }
111 111
112 TEST(RtcpPacketTest, RrWithTooManyReportBlocks) { 112 TEST(RtcpPacketTest, RrWithTooManyReportBlocks) {
113 ReceiverReport rr; 113 ReceiverReport rr;
114 rr.From(kSenderSsrc); 114 rr.From(kSenderSsrc);
115 const int kMaxReportBlocks = (1 << 5) - 1; 115 const int kMaxReportBlocks = (1 << 5) - 1;
116 ReportBlock rb; 116 ReportBlock rb;
117 for (int i = 0; i < kMaxReportBlocks; ++i) { 117 for (int i = 0; i < kMaxReportBlocks; ++i) {
118 rb.To(kRemoteSsrc + i); 118 rb.To(kRemoteSsrc + i);
119 EXPECT_TRUE(rr.WithReportBlock(&rb)); 119 EXPECT_TRUE(rr.WithReportBlock(rb));
120 } 120 }
121 rb.To(kRemoteSsrc + kMaxReportBlocks); 121 rb.To(kRemoteSsrc + kMaxReportBlocks);
122 EXPECT_FALSE(rr.WithReportBlock(&rb)); 122 EXPECT_FALSE(rr.WithReportBlock(rb));
123 } 123 }
124 124
125 TEST(RtcpPacketTest, Sr) { 125 TEST(RtcpPacketTest, Sr) {
126 SenderReport sr; 126 SenderReport sr;
127 sr.From(kSenderSsrc); 127 sr.From(kSenderSsrc);
128 sr.WithNtpSec(0x11111111); 128 sr.WithNtpSec(0x11111111);
129 sr.WithNtpFrac(0x22222222); 129 sr.WithNtpFrac(0x22222222);
130 sr.WithRtpTimestamp(0x33333333); 130 sr.WithRtpTimestamp(0x33333333);
131 sr.WithPacketCount(0x44444444); 131 sr.WithPacketCount(0x44444444);
132 sr.WithOctetCount(0x55555555); 132 sr.WithOctetCount(0x55555555);
(...skipping 11 matching lines...) Expand all
144 EXPECT_EQ(0x55555555U, parser.sender_report()->OctetCount()); 144 EXPECT_EQ(0x55555555U, parser.sender_report()->OctetCount());
145 EXPECT_EQ(0, parser.report_block()->num_packets()); 145 EXPECT_EQ(0, parser.report_block()->num_packets());
146 } 146 }
147 147
148 TEST(RtcpPacketTest, SrWithOneReportBlock) { 148 TEST(RtcpPacketTest, SrWithOneReportBlock) {
149 ReportBlock rb; 149 ReportBlock rb;
150 rb.To(kRemoteSsrc); 150 rb.To(kRemoteSsrc);
151 151
152 SenderReport sr; 152 SenderReport sr;
153 sr.From(kSenderSsrc); 153 sr.From(kSenderSsrc);
154 EXPECT_TRUE(sr.WithReportBlock(&rb)); 154 EXPECT_TRUE(sr.WithReportBlock(rb));
155 155
156 rtc::scoped_ptr<RawPacket> packet(sr.Build()); 156 rtc::scoped_ptr<RawPacket> packet(sr.Build());
157 RtcpPacketParser parser; 157 RtcpPacketParser parser;
158 parser.Parse(packet->Buffer(), packet->Length()); 158 parser.Parse(packet->Buffer(), packet->Length());
159 EXPECT_EQ(1, parser.sender_report()->num_packets()); 159 EXPECT_EQ(1, parser.sender_report()->num_packets());
160 EXPECT_EQ(kSenderSsrc, parser.sender_report()->Ssrc()); 160 EXPECT_EQ(kSenderSsrc, parser.sender_report()->Ssrc());
161 EXPECT_EQ(1, parser.report_block()->num_packets()); 161 EXPECT_EQ(1, parser.report_block()->num_packets());
162 EXPECT_EQ(kRemoteSsrc, parser.report_block()->Ssrc()); 162 EXPECT_EQ(kRemoteSsrc, parser.report_block()->Ssrc());
163 } 163 }
164 164
165 TEST(RtcpPacketTest, SrWithTwoReportBlocks) { 165 TEST(RtcpPacketTest, SrWithTwoReportBlocks) {
166 ReportBlock rb1; 166 ReportBlock rb1;
167 rb1.To(kRemoteSsrc); 167 rb1.To(kRemoteSsrc);
168 ReportBlock rb2; 168 ReportBlock rb2;
169 rb2.To(kRemoteSsrc + 1); 169 rb2.To(kRemoteSsrc + 1);
170 170
171 SenderReport sr; 171 SenderReport sr;
172 sr.From(kSenderSsrc); 172 sr.From(kSenderSsrc);
173 EXPECT_TRUE(sr.WithReportBlock(&rb1)); 173 EXPECT_TRUE(sr.WithReportBlock(rb1));
174 EXPECT_TRUE(sr.WithReportBlock(&rb2)); 174 EXPECT_TRUE(sr.WithReportBlock(rb2));
175 175
176 rtc::scoped_ptr<RawPacket> packet(sr.Build()); 176 rtc::scoped_ptr<RawPacket> packet(sr.Build());
177 RtcpPacketParser parser; 177 RtcpPacketParser parser;
178 parser.Parse(packet->Buffer(), packet->Length()); 178 parser.Parse(packet->Buffer(), packet->Length());
179 EXPECT_EQ(1, parser.sender_report()->num_packets()); 179 EXPECT_EQ(1, parser.sender_report()->num_packets());
180 EXPECT_EQ(kSenderSsrc, parser.sender_report()->Ssrc()); 180 EXPECT_EQ(kSenderSsrc, parser.sender_report()->Ssrc());
181 EXPECT_EQ(2, parser.report_block()->num_packets()); 181 EXPECT_EQ(2, parser.report_block()->num_packets());
182 EXPECT_EQ(1, parser.report_blocks_per_ssrc(kRemoteSsrc)); 182 EXPECT_EQ(1, parser.report_blocks_per_ssrc(kRemoteSsrc));
183 EXPECT_EQ(1, parser.report_blocks_per_ssrc(kRemoteSsrc + 1)); 183 EXPECT_EQ(1, parser.report_blocks_per_ssrc(kRemoteSsrc + 1));
184 } 184 }
185 185
186 TEST(RtcpPacketTest, SrWithTooManyReportBlocks) { 186 TEST(RtcpPacketTest, SrWithTooManyReportBlocks) {
187 SenderReport sr; 187 SenderReport sr;
188 sr.From(kSenderSsrc); 188 sr.From(kSenderSsrc);
189 const int kMaxReportBlocks = (1 << 5) - 1; 189 const int kMaxReportBlocks = (1 << 5) - 1;
190 ReportBlock rb; 190 ReportBlock rb;
191 for (int i = 0; i < kMaxReportBlocks; ++i) { 191 for (int i = 0; i < kMaxReportBlocks; ++i) {
192 rb.To(kRemoteSsrc + i); 192 rb.To(kRemoteSsrc + i);
193 EXPECT_TRUE(sr.WithReportBlock(&rb)); 193 EXPECT_TRUE(sr.WithReportBlock(rb));
194 } 194 }
195 rb.To(kRemoteSsrc + kMaxReportBlocks); 195 rb.To(kRemoteSsrc + kMaxReportBlocks);
196 EXPECT_FALSE(sr.WithReportBlock(&rb)); 196 EXPECT_FALSE(sr.WithReportBlock(rb));
197 } 197 }
198 198
199 TEST(RtcpPacketTest, IjNoItem) { 199 TEST(RtcpPacketTest, IjNoItem) {
200 Ij ij; 200 Ij ij;
201 201
202 rtc::scoped_ptr<RawPacket> packet(ij.Build()); 202 rtc::scoped_ptr<RawPacket> packet(ij.Build());
203 RtcpPacketParser parser; 203 RtcpPacketParser parser;
204 parser.Parse(packet->Buffer(), packet->Length()); 204 parser.Parse(packet->Buffer(), packet->Length());
205 EXPECT_EQ(1, parser.ij()->num_packets()); 205 EXPECT_EQ(1, parser.ij()->num_packets());
206 EXPECT_EQ(0, parser.ij_item()->num_packets()); 206 EXPECT_EQ(0, parser.ij_item()->num_packets());
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
560 EXPECT_EQ(1, parser.fir_item()->num_packets()); 560 EXPECT_EQ(1, parser.fir_item()->num_packets());
561 EXPECT_EQ(kRemoteSsrc, parser.fir_item()->Ssrc()); 561 EXPECT_EQ(kRemoteSsrc, parser.fir_item()->Ssrc());
562 EXPECT_EQ(123U, parser.fir_item()->SeqNum()); 562 EXPECT_EQ(123U, parser.fir_item()->SeqNum());
563 } 563 }
564 564
565 TEST(RtcpPacketTest, AppendPacket) { 565 TEST(RtcpPacketTest, AppendPacket) {
566 Fir fir; 566 Fir fir;
567 ReportBlock rb; 567 ReportBlock rb;
568 ReceiverReport rr; 568 ReceiverReport rr;
569 rr.From(kSenderSsrc); 569 rr.From(kSenderSsrc);
570 EXPECT_TRUE(rr.WithReportBlock(&rb)); 570 EXPECT_TRUE(rr.WithReportBlock(rb));
571 rr.Append(&fir); 571 rr.Append(&fir);
572 572
573 rtc::scoped_ptr<RawPacket> packet(rr.Build()); 573 rtc::scoped_ptr<RawPacket> packet(rr.Build());
574 RtcpPacketParser parser; 574 RtcpPacketParser parser;
575 parser.Parse(packet->Buffer(), packet->Length()); 575 parser.Parse(packet->Buffer(), packet->Length());
576 EXPECT_EQ(1, parser.receiver_report()->num_packets()); 576 EXPECT_EQ(1, parser.receiver_report()->num_packets());
577 EXPECT_EQ(kSenderSsrc, parser.receiver_report()->Ssrc()); 577 EXPECT_EQ(kSenderSsrc, parser.receiver_report()->Ssrc());
578 EXPECT_EQ(1, parser.report_block()->num_packets()); 578 EXPECT_EQ(1, parser.report_block()->num_packets());
579 EXPECT_EQ(1, parser.fir()->num_packets()); 579 EXPECT_EQ(1, parser.fir()->num_packets());
580 } 580 }
(...skipping 10 matching lines...) Expand all
591 EXPECT_EQ(1, parser.receiver_report()->num_packets()); 591 EXPECT_EQ(1, parser.receiver_report()->num_packets());
592 EXPECT_EQ(0, parser.report_block()->num_packets()); 592 EXPECT_EQ(0, parser.report_block()->num_packets());
593 } 593 }
594 594
595 TEST(RtcpPacketTest, AppendPacketWithOwnAppendedPacket) { 595 TEST(RtcpPacketTest, AppendPacketWithOwnAppendedPacket) {
596 Fir fir; 596 Fir fir;
597 Bye bye; 597 Bye bye;
598 ReportBlock rb; 598 ReportBlock rb;
599 599
600 ReceiverReport rr; 600 ReceiverReport rr;
601 EXPECT_TRUE(rr.WithReportBlock(&rb)); 601 EXPECT_TRUE(rr.WithReportBlock(rb));
602 rr.Append(&fir); 602 rr.Append(&fir);
603 603
604 SenderReport sr; 604 SenderReport sr;
605 sr.Append(&bye); 605 sr.Append(&bye);
606 sr.Append(&rr); 606 sr.Append(&rr);
607 607
608 rtc::scoped_ptr<RawPacket> packet(sr.Build()); 608 rtc::scoped_ptr<RawPacket> packet(sr.Build());
609 RtcpPacketParser parser; 609 RtcpPacketParser parser;
610 parser.Parse(packet->Buffer(), packet->Length()); 610 parser.Parse(packet->Buffer(), packet->Length());
611 EXPECT_EQ(1, parser.sender_report()->num_packets()); 611 EXPECT_EQ(1, parser.sender_report()->num_packets());
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
650 EXPECT_TRUE(bye.WithCsrc(i)); 650 EXPECT_TRUE(bye.WithCsrc(i));
651 } 651 }
652 EXPECT_FALSE(bye.WithCsrc(kMaxCsrcs)); 652 EXPECT_FALSE(bye.WithCsrc(kMaxCsrcs));
653 } 653 }
654 654
655 TEST(RtcpPacketTest, BuildWithInputBuffer) { 655 TEST(RtcpPacketTest, BuildWithInputBuffer) {
656 Fir fir; 656 Fir fir;
657 ReportBlock rb; 657 ReportBlock rb;
658 ReceiverReport rr; 658 ReceiverReport rr;
659 rr.From(kSenderSsrc); 659 rr.From(kSenderSsrc);
660 EXPECT_TRUE(rr.WithReportBlock(&rb)); 660 EXPECT_TRUE(rr.WithReportBlock(rb));
661 rr.Append(&fir); 661 rr.Append(&fir);
662 662
663 const size_t kRrLength = 8; 663 const size_t kRrLength = 8;
664 const size_t kReportBlockLength = 24; 664 const size_t kReportBlockLength = 24;
665 const size_t kFirLength = 20; 665 const size_t kFirLength = 20;
666 666
667 class Verifier : public rtcp::RtcpPacket::PacketReadyCallback { 667 class Verifier : public rtcp::RtcpPacket::PacketReadyCallback {
668 public: 668 public:
669 void OnPacketReady(uint8_t* data, size_t length) override { 669 void OnPacketReady(uint8_t* data, size_t length) override {
670 RtcpPacketParser parser; 670 RtcpPacketParser parser;
671 parser.Parse(data, length); 671 parser.Parse(data, length);
672 EXPECT_EQ(1, parser.receiver_report()->num_packets()); 672 EXPECT_EQ(1, parser.receiver_report()->num_packets());
673 EXPECT_EQ(1, parser.report_block()->num_packets()); 673 EXPECT_EQ(1, parser.report_block()->num_packets());
674 EXPECT_EQ(1, parser.fir()->num_packets()); 674 EXPECT_EQ(1, parser.fir()->num_packets());
675 ++packets_created_; 675 ++packets_created_;
676 } 676 }
677 677
678 int packets_created_ = 0; 678 int packets_created_ = 0;
679 } verifier; 679 } verifier;
680 const size_t kBufferSize = kRrLength + kReportBlockLength + kFirLength; 680 const size_t kBufferSize = kRrLength + kReportBlockLength + kFirLength;
681 uint8_t buffer[kBufferSize]; 681 uint8_t buffer[kBufferSize];
682 EXPECT_TRUE(rr.BuildExternalBuffer(buffer, kBufferSize, &verifier)); 682 EXPECT_TRUE(rr.BuildExternalBuffer(buffer, kBufferSize, &verifier));
683 EXPECT_EQ(1, verifier.packets_created_); 683 EXPECT_EQ(1, verifier.packets_created_);
684 } 684 }
685 685
686 TEST(RtcpPacketTest, BuildWithTooSmallBuffer) { 686 TEST(RtcpPacketTest, BuildWithTooSmallBuffer) {
687 ReportBlock rb; 687 ReportBlock rb;
688 ReceiverReport rr; 688 ReceiverReport rr;
689 rr.From(kSenderSsrc); 689 rr.From(kSenderSsrc);
690 EXPECT_TRUE(rr.WithReportBlock(&rb)); 690 EXPECT_TRUE(rr.WithReportBlock(rb));
691 691
692 const size_t kRrLength = 8; 692 const size_t kRrLength = 8;
693 const size_t kReportBlockLength = 24; 693 const size_t kReportBlockLength = 24;
694 694
695 // No packet. 695 // No packet.
696 class Verifier : public rtcp::RtcpPacket::PacketReadyCallback { 696 class Verifier : public rtcp::RtcpPacket::PacketReadyCallback {
697 void OnPacketReady(uint8_t* data, size_t length) override { 697 void OnPacketReady(uint8_t* data, size_t length) override {
698 ADD_FAILURE() << "Packet should not fit within max size."; 698 ADD_FAILURE() << "Packet should not fit within max size.";
699 } 699 }
700 } verifier; 700 } verifier;
701 const size_t kBufferSize = kRrLength + kReportBlockLength - 1; 701 const size_t kBufferSize = kRrLength + kReportBlockLength - 1;
702 uint8_t buffer[kBufferSize]; 702 uint8_t buffer[kBufferSize];
703 EXPECT_FALSE(rr.BuildExternalBuffer(buffer, kBufferSize, &verifier)); 703 EXPECT_FALSE(rr.BuildExternalBuffer(buffer, kBufferSize, &verifier));
704 } 704 }
705 705
706 TEST(RtcpPacketTest, BuildWithTooSmallBuffer_FragmentedSend) { 706 TEST(RtcpPacketTest, BuildWithTooSmallBuffer_FragmentedSend) {
707 Fir fir; 707 Fir fir;
708 ReportBlock rb; 708 ReportBlock rb;
709 ReceiverReport rr; 709 ReceiverReport rr;
710 rr.From(kSenderSsrc); 710 rr.From(kSenderSsrc);
711 EXPECT_TRUE(rr.WithReportBlock(&rb)); 711 EXPECT_TRUE(rr.WithReportBlock(rb));
712 rr.Append(&fir); 712 rr.Append(&fir);
713 713
714 const size_t kRrLength = 8; 714 const size_t kRrLength = 8;
715 const size_t kReportBlockLength = 24; 715 const size_t kReportBlockLength = 24;
716 716
717 class Verifier : public rtcp::RtcpPacket::PacketReadyCallback { 717 class Verifier : public rtcp::RtcpPacket::PacketReadyCallback {
718 public: 718 public:
719 void OnPacketReady(uint8_t* data, size_t length) override { 719 void OnPacketReady(uint8_t* data, size_t length) override {
720 RtcpPacketParser parser; 720 RtcpPacketParser parser;
721 parser.Parse(data, length); 721 parser.Parse(data, length);
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
1078 for (int i = 0; i < kMaxBlocks; ++i) 1078 for (int i = 0; i < kMaxBlocks; ++i)
1079 EXPECT_TRUE(xr.WithDlrr(&dlrr)); 1079 EXPECT_TRUE(xr.WithDlrr(&dlrr));
1080 EXPECT_FALSE(xr.WithDlrr(&dlrr)); 1080 EXPECT_FALSE(xr.WithDlrr(&dlrr));
1081 1081
1082 VoipMetric voip_metric; 1082 VoipMetric voip_metric;
1083 for (int i = 0; i < kMaxBlocks; ++i) 1083 for (int i = 0; i < kMaxBlocks; ++i)
1084 EXPECT_TRUE(xr.WithVoipMetric(&voip_metric)); 1084 EXPECT_TRUE(xr.WithVoipMetric(&voip_metric));
1085 EXPECT_FALSE(xr.WithVoipMetric(&voip_metric)); 1085 EXPECT_FALSE(xr.WithVoipMetric(&voip_metric));
1086 } 1086 }
1087 } // namespace webrtc 1087 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_packet.cc ('k') | webrtc/modules/rtp_rtcp/source/rtcp_receiver_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698