OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |