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

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtcp_packet/compound_packet_unittest.cc

Issue 2070673002: Test RtcpParser rewritten to use rtcp packet classes (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: reinterpret_cast -> static_cast Created 4 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) 2016 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2016 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 29 matching lines...) Expand all
40 ReceiverReport rr; 40 ReceiverReport rr;
41 rr.From(kSenderSsrc); 41 rr.From(kSenderSsrc);
42 EXPECT_TRUE(rr.WithReportBlock(rb)); 42 EXPECT_TRUE(rr.WithReportBlock(rb));
43 compound.Append(&rr); 43 compound.Append(&rr);
44 compound.Append(&fir); 44 compound.Append(&fir);
45 45
46 rtc::Buffer packet = compound.Build(); 46 rtc::Buffer packet = compound.Build();
47 RtcpPacketParser parser; 47 RtcpPacketParser parser;
48 parser.Parse(packet.data(), packet.size()); 48 parser.Parse(packet.data(), packet.size());
49 EXPECT_EQ(1, parser.receiver_report()->num_packets()); 49 EXPECT_EQ(1, parser.receiver_report()->num_packets());
50 EXPECT_EQ(kSenderSsrc, parser.receiver_report()->Ssrc()); 50 EXPECT_EQ(kSenderSsrc, parser.receiver_report()->sender_ssrc());
51 EXPECT_EQ(1, parser.report_block()->num_packets()); 51 EXPECT_EQ(1u, parser.receiver_report()->report_blocks().size());
52 EXPECT_EQ(1, parser.fir()->num_packets()); 52 EXPECT_EQ(1, parser.fir()->num_packets());
53 } 53 }
54 54
55 TEST(RtcpCompoundPacketTest, AppendPacketWithOwnAppendedPacket) { 55 TEST(RtcpCompoundPacketTest, AppendPacketWithOwnAppendedPacket) {
56 CompoundPacket root; 56 CompoundPacket root;
57 CompoundPacket leaf; 57 CompoundPacket leaf;
58 Fir fir; 58 Fir fir;
59 fir.WithRequestTo(kRemoteSsrc, kSeqNo); 59 fir.WithRequestTo(kRemoteSsrc, kSeqNo);
60 Bye bye; 60 Bye bye;
61 ReportBlock rb; 61 ReportBlock rb;
62 62
63 ReceiverReport rr; 63 ReceiverReport rr;
64 EXPECT_TRUE(rr.WithReportBlock(rb)); 64 EXPECT_TRUE(rr.WithReportBlock(rb));
65 leaf.Append(&rr); 65 leaf.Append(&rr);
66 leaf.Append(&fir); 66 leaf.Append(&fir);
67 67
68 SenderReport sr; 68 SenderReport sr;
69 root.Append(&sr); 69 root.Append(&sr);
70 root.Append(&bye); 70 root.Append(&bye);
71 root.Append(&leaf); 71 root.Append(&leaf);
72 72
73 rtc::Buffer packet = root.Build(); 73 rtc::Buffer packet = root.Build();
74 RtcpPacketParser parser; 74 RtcpPacketParser parser;
75 parser.Parse(packet.data(), packet.size()); 75 parser.Parse(packet.data(), packet.size());
76 EXPECT_EQ(1, parser.sender_report()->num_packets()); 76 EXPECT_EQ(1, parser.sender_report()->num_packets());
77 EXPECT_EQ(1, parser.receiver_report()->num_packets()); 77 EXPECT_EQ(1, parser.receiver_report()->num_packets());
78 EXPECT_EQ(1, parser.report_block()->num_packets()); 78 EXPECT_EQ(1u, parser.receiver_report()->report_blocks().size());
79 EXPECT_EQ(1, parser.bye()->num_packets()); 79 EXPECT_EQ(1, parser.bye()->num_packets());
80 EXPECT_EQ(1, parser.fir()->num_packets()); 80 EXPECT_EQ(1, parser.fir()->num_packets());
81 } 81 }
82 82
83 TEST(RtcpCompoundPacketTest, BuildWithInputBuffer) { 83 TEST(RtcpCompoundPacketTest, BuildWithInputBuffer) {
84 CompoundPacket compound; 84 CompoundPacket compound;
85 Fir fir; 85 Fir fir;
86 fir.WithRequestTo(kRemoteSsrc, kSeqNo); 86 fir.WithRequestTo(kRemoteSsrc, kSeqNo);
87 ReportBlock rb; 87 ReportBlock rb;
88 ReceiverReport rr; 88 ReceiverReport rr;
89 rr.From(kSenderSsrc); 89 rr.From(kSenderSsrc);
90 EXPECT_TRUE(rr.WithReportBlock(rb)); 90 EXPECT_TRUE(rr.WithReportBlock(rb));
91 compound.Append(&rr); 91 compound.Append(&rr);
92 compound.Append(&fir); 92 compound.Append(&fir);
93 93
94 const size_t kRrLength = 8; 94 const size_t kRrLength = 8;
95 const size_t kReportBlockLength = 24; 95 const size_t kReportBlockLength = 24;
96 const size_t kFirLength = 20; 96 const size_t kFirLength = 20;
97 97
98 class Verifier : public rtcp::RtcpPacket::PacketReadyCallback { 98 class Verifier : public rtcp::RtcpPacket::PacketReadyCallback {
99 public: 99 public:
100 void OnPacketReady(uint8_t* data, size_t length) override { 100 void OnPacketReady(uint8_t* data, size_t length) override {
101 RtcpPacketParser parser; 101 RtcpPacketParser parser;
102 parser.Parse(data, length); 102 parser.Parse(data, length);
103 EXPECT_EQ(1, parser.receiver_report()->num_packets()); 103 EXPECT_EQ(1, parser.receiver_report()->num_packets());
104 EXPECT_EQ(1, parser.report_block()->num_packets()); 104 EXPECT_EQ(1u, parser.receiver_report()->report_blocks().size());
105 EXPECT_EQ(1, parser.fir()->num_packets()); 105 EXPECT_EQ(1, parser.fir()->num_packets());
106 ++packets_created_; 106 ++packets_created_;
107 } 107 }
108 108
109 int packets_created_ = 0; 109 int packets_created_ = 0;
110 } verifier; 110 } verifier;
111 const size_t kBufferSize = kRrLength + kReportBlockLength + kFirLength; 111 const size_t kBufferSize = kRrLength + kReportBlockLength + kFirLength;
112 uint8_t buffer[kBufferSize]; 112 uint8_t buffer[kBufferSize];
113 EXPECT_TRUE(compound.BuildExternalBuffer(buffer, kBufferSize, &verifier)); 113 EXPECT_TRUE(compound.BuildExternalBuffer(buffer, kBufferSize, &verifier));
114 EXPECT_EQ(1, verifier.packets_created_); 114 EXPECT_EQ(1, verifier.packets_created_);
(...skipping 14 matching lines...) Expand all
129 const size_t kReportBlockLength = 24; 129 const size_t kReportBlockLength = 24;
130 130
131 class Verifier : public rtcp::RtcpPacket::PacketReadyCallback { 131 class Verifier : public rtcp::RtcpPacket::PacketReadyCallback {
132 public: 132 public:
133 void OnPacketReady(uint8_t* data, size_t length) override { 133 void OnPacketReady(uint8_t* data, size_t length) override {
134 RtcpPacketParser parser; 134 RtcpPacketParser parser;
135 parser.Parse(data, length); 135 parser.Parse(data, length);
136 switch (packets_created_++) { 136 switch (packets_created_++) {
137 case 0: 137 case 0:
138 EXPECT_EQ(1, parser.receiver_report()->num_packets()); 138 EXPECT_EQ(1, parser.receiver_report()->num_packets());
139 EXPECT_EQ(1, parser.report_block()->num_packets()); 139 EXPECT_EQ(1U, parser.receiver_report()->report_blocks().size());
140 EXPECT_EQ(0, parser.fir()->num_packets()); 140 EXPECT_EQ(0, parser.fir()->num_packets());
141 break; 141 break;
142 case 1: 142 case 1:
143 EXPECT_EQ(0, parser.receiver_report()->num_packets()); 143 EXPECT_EQ(0, parser.receiver_report()->num_packets());
144 EXPECT_EQ(0, parser.report_block()->num_packets()); 144 EXPECT_EQ(0U, parser.receiver_report()->report_blocks().size());
145 EXPECT_EQ(1, parser.fir()->num_packets()); 145 EXPECT_EQ(1, parser.fir()->num_packets());
146 break; 146 break;
147 default: 147 default:
148 ADD_FAILURE() << "OnPacketReady not expected to be called " 148 ADD_FAILURE() << "OnPacketReady not expected to be called "
149 << packets_created_ << " times."; 149 << packets_created_ << " times.";
150 } 150 }
151 } 151 }
152 152
153 int packets_created_ = 0; 153 int packets_created_ = 0;
154 } verifier; 154 } verifier;
155 const size_t kBufferSize = kRrLength + kReportBlockLength; 155 const size_t kBufferSize = kRrLength + kReportBlockLength;
156 uint8_t buffer[kBufferSize]; 156 uint8_t buffer[kBufferSize];
157 EXPECT_TRUE(compound.BuildExternalBuffer(buffer, kBufferSize, &verifier)); 157 EXPECT_TRUE(compound.BuildExternalBuffer(buffer, kBufferSize, &verifier));
158 EXPECT_EQ(2, verifier.packets_created_); 158 EXPECT_EQ(2, verifier.packets_created_);
159 } 159 }
160 160
161 } // namespace webrtc 161 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698