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

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

Issue 1544403002: [rtp_rtcp] rtcp::Fir cleaned and got Parse function. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: 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
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 12 matching lines...) Expand all
23 using webrtc::rtcp::Fir; 23 using webrtc::rtcp::Fir;
24 using webrtc::rtcp::RawPacket; 24 using webrtc::rtcp::RawPacket;
25 using webrtc::rtcp::ReceiverReport; 25 using webrtc::rtcp::ReceiverReport;
26 using webrtc::rtcp::ReportBlock; 26 using webrtc::rtcp::ReportBlock;
27 using webrtc::rtcp::SenderReport; 27 using webrtc::rtcp::SenderReport;
28 using webrtc::test::RtcpPacketParser; 28 using webrtc::test::RtcpPacketParser;
29 29
30 namespace webrtc { 30 namespace webrtc {
31 31
32 const uint32_t kSenderSsrc = 0x12345678; 32 const uint32_t kSenderSsrc = 0x12345678;
33 const uint32_t kRemoteSsrc = 0x23456789;
34 const uint8_t kSeqNo = 13;
33 35
34 TEST(RtcpCompoundPacketTest, AppendPacket) { 36 TEST(RtcpCompoundPacketTest, AppendPacket) {
35 Fir fir; 37 Fir fir;
38 fir.WithRequestTo(kRemoteSsrc, kSeqNo);
36 ReportBlock rb; 39 ReportBlock rb;
37 ReceiverReport rr; 40 ReceiverReport rr;
38 rr.From(kSenderSsrc); 41 rr.From(kSenderSsrc);
39 EXPECT_TRUE(rr.WithReportBlock(rb)); 42 EXPECT_TRUE(rr.WithReportBlock(rb));
40 rr.Append(&fir); 43 rr.Append(&fir);
41 44
42 rtc::scoped_ptr<RawPacket> packet(rr.Build()); 45 rtc::scoped_ptr<RawPacket> packet(rr.Build());
43 RtcpPacketParser parser; 46 RtcpPacketParser parser;
44 parser.Parse(packet->Buffer(), packet->Length()); 47 parser.Parse(packet->Buffer(), packet->Length());
45 EXPECT_EQ(1, parser.receiver_report()->num_packets()); 48 EXPECT_EQ(1, parser.receiver_report()->num_packets());
(...skipping 10 matching lines...) Expand all
56 59
57 rtc::scoped_ptr<RawPacket> packet(empty.Build()); 60 rtc::scoped_ptr<RawPacket> packet(empty.Build());
58 RtcpPacketParser parser; 61 RtcpPacketParser parser;
59 parser.Parse(packet->Buffer(), packet->Length()); 62 parser.Parse(packet->Buffer(), packet->Length());
60 EXPECT_EQ(1, parser.receiver_report()->num_packets()); 63 EXPECT_EQ(1, parser.receiver_report()->num_packets());
61 EXPECT_EQ(0, parser.report_block()->num_packets()); 64 EXPECT_EQ(0, parser.report_block()->num_packets());
62 } 65 }
63 66
64 TEST(RtcpCompoundPacketTest, AppendPacketWithOwnAppendedPacket) { 67 TEST(RtcpCompoundPacketTest, AppendPacketWithOwnAppendedPacket) {
65 Fir fir; 68 Fir fir;
69 fir.WithRequestTo(kRemoteSsrc, kSeqNo);
66 Bye bye; 70 Bye bye;
67 ReportBlock rb; 71 ReportBlock rb;
68 72
69 ReceiverReport rr; 73 ReceiverReport rr;
70 EXPECT_TRUE(rr.WithReportBlock(rb)); 74 EXPECT_TRUE(rr.WithReportBlock(rb));
71 rr.Append(&fir); 75 rr.Append(&fir);
72 76
73 SenderReport sr; 77 SenderReport sr;
74 sr.Append(&bye); 78 sr.Append(&bye);
75 sr.Append(&rr); 79 sr.Append(&rr);
76 80
77 rtc::scoped_ptr<RawPacket> packet(sr.Build()); 81 rtc::scoped_ptr<RawPacket> packet(sr.Build());
78 RtcpPacketParser parser; 82 RtcpPacketParser parser;
79 parser.Parse(packet->Buffer(), packet->Length()); 83 parser.Parse(packet->Buffer(), packet->Length());
80 EXPECT_EQ(1, parser.sender_report()->num_packets()); 84 EXPECT_EQ(1, parser.sender_report()->num_packets());
81 EXPECT_EQ(1, parser.receiver_report()->num_packets()); 85 EXPECT_EQ(1, parser.receiver_report()->num_packets());
82 EXPECT_EQ(1, parser.report_block()->num_packets()); 86 EXPECT_EQ(1, parser.report_block()->num_packets());
83 EXPECT_EQ(1, parser.bye()->num_packets()); 87 EXPECT_EQ(1, parser.bye()->num_packets());
84 EXPECT_EQ(1, parser.fir()->num_packets()); 88 EXPECT_EQ(1, parser.fir()->num_packets());
85 } 89 }
86 90
87 TEST(RtcpCompoundPacketTest, BuildWithInputBuffer) { 91 TEST(RtcpCompoundPacketTest, BuildWithInputBuffer) {
88 Fir fir; 92 Fir fir;
93 fir.WithRequestTo(kRemoteSsrc, kSeqNo);
89 ReportBlock rb; 94 ReportBlock rb;
90 ReceiverReport rr; 95 ReceiverReport rr;
91 rr.From(kSenderSsrc); 96 rr.From(kSenderSsrc);
92 EXPECT_TRUE(rr.WithReportBlock(rb)); 97 EXPECT_TRUE(rr.WithReportBlock(rb));
93 rr.Append(&fir); 98 rr.Append(&fir);
94 99
95 const size_t kRrLength = 8; 100 const size_t kRrLength = 8;
96 const size_t kReportBlockLength = 24; 101 const size_t kReportBlockLength = 24;
97 const size_t kFirLength = 20; 102 const size_t kFirLength = 20;
98 103
(...skipping 11 matching lines...) Expand all
110 int packets_created_ = 0; 115 int packets_created_ = 0;
111 } verifier; 116 } verifier;
112 const size_t kBufferSize = kRrLength + kReportBlockLength + kFirLength; 117 const size_t kBufferSize = kRrLength + kReportBlockLength + kFirLength;
113 uint8_t buffer[kBufferSize]; 118 uint8_t buffer[kBufferSize];
114 EXPECT_TRUE(rr.BuildExternalBuffer(buffer, kBufferSize, &verifier)); 119 EXPECT_TRUE(rr.BuildExternalBuffer(buffer, kBufferSize, &verifier));
115 EXPECT_EQ(1, verifier.packets_created_); 120 EXPECT_EQ(1, verifier.packets_created_);
116 } 121 }
117 122
118 TEST(RtcpCompoundPacketTest, BuildWithTooSmallBuffer_FragmentedSend) { 123 TEST(RtcpCompoundPacketTest, BuildWithTooSmallBuffer_FragmentedSend) {
119 Fir fir; 124 Fir fir;
125 fir.WithRequestTo(kRemoteSsrc, kSeqNo);
120 ReportBlock rb; 126 ReportBlock rb;
121 ReceiverReport rr; 127 ReceiverReport rr;
122 rr.From(kSenderSsrc); 128 rr.From(kSenderSsrc);
123 EXPECT_TRUE(rr.WithReportBlock(rb)); 129 EXPECT_TRUE(rr.WithReportBlock(rb));
124 rr.Append(&fir); 130 rr.Append(&fir);
125 131
126 const size_t kRrLength = 8; 132 const size_t kRrLength = 8;
127 const size_t kReportBlockLength = 24; 133 const size_t kReportBlockLength = 24;
128 134
129 class Verifier : public rtcp::RtcpPacket::PacketReadyCallback { 135 class Verifier : public rtcp::RtcpPacket::PacketReadyCallback {
(...skipping 20 matching lines...) Expand all
150 156
151 int packets_created_ = 0; 157 int packets_created_ = 0;
152 } verifier; 158 } verifier;
153 const size_t kBufferSize = kRrLength + kReportBlockLength; 159 const size_t kBufferSize = kRrLength + kReportBlockLength;
154 uint8_t buffer[kBufferSize]; 160 uint8_t buffer[kBufferSize];
155 EXPECT_TRUE(rr.BuildExternalBuffer(buffer, kBufferSize, &verifier)); 161 EXPECT_TRUE(rr.BuildExternalBuffer(buffer, kBufferSize, &verifier));
156 EXPECT_EQ(2, verifier.packets_created_); 162 EXPECT_EQ(2, verifier.packets_created_);
157 } 163 }
158 164
159 } // namespace webrtc 165 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698