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

Side by Side Diff: media/cast/net/rtcp/test_rtcp_packet_builder.cc

Issue 1534273002: Switch to standard integer types in media/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more Created 5 years 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/cast/net/rtcp/test_rtcp_packet_builder.h" 5 #include "media/cast/net/rtcp/test_rtcp_packet_builder.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "media/cast/net/rtcp/rtcp_utility.h" 8 #include "media/cast/net/rtcp/rtcp_utility.h"
9 9
10 namespace media { 10 namespace media {
11 namespace cast { 11 namespace cast {
12 12
13 TestRtcpPacketBuilder::TestRtcpPacketBuilder() 13 TestRtcpPacketBuilder::TestRtcpPacketBuilder()
14 : ptr_of_length_(NULL), 14 : ptr_of_length_(NULL),
15 big_endian_writer_(reinterpret_cast<char*>(buffer_), kMaxIpPacketSize), 15 big_endian_writer_(reinterpret_cast<char*>(buffer_), kMaxIpPacketSize),
16 big_endian_reader_(NULL, 0) {} 16 big_endian_reader_(NULL, 0) {}
17 17
18 void TestRtcpPacketBuilder::AddSr(uint32 sender_ssrc, 18 void TestRtcpPacketBuilder::AddSr(uint32_t sender_ssrc,
19 int number_of_report_blocks) { 19 int number_of_report_blocks) {
20 AddRtcpHeader(200, number_of_report_blocks); 20 AddRtcpHeader(200, number_of_report_blocks);
21 big_endian_writer_.WriteU32(sender_ssrc); 21 big_endian_writer_.WriteU32(sender_ssrc);
22 big_endian_writer_.WriteU32(kNtpHigh); // NTP timestamp. 22 big_endian_writer_.WriteU32(kNtpHigh); // NTP timestamp.
23 big_endian_writer_.WriteU32(kNtpLow); 23 big_endian_writer_.WriteU32(kNtpLow);
24 big_endian_writer_.WriteU32(kRtpTimestamp); 24 big_endian_writer_.WriteU32(kRtpTimestamp);
25 big_endian_writer_.WriteU32(kSendPacketCount); 25 big_endian_writer_.WriteU32(kSendPacketCount);
26 big_endian_writer_.WriteU32(kSendOctetCount); 26 big_endian_writer_.WriteU32(kSendOctetCount);
27 } 27 }
28 28
29 void TestRtcpPacketBuilder::AddSrWithNtp(uint32 sender_ssrc, 29 void TestRtcpPacketBuilder::AddSrWithNtp(uint32_t sender_ssrc,
30 uint32 ntp_high, 30 uint32_t ntp_high,
31 uint32 ntp_low, 31 uint32_t ntp_low,
32 uint32 rtp_timestamp) { 32 uint32_t rtp_timestamp) {
33 AddRtcpHeader(200, 0); 33 AddRtcpHeader(200, 0);
34 big_endian_writer_.WriteU32(sender_ssrc); 34 big_endian_writer_.WriteU32(sender_ssrc);
35 big_endian_writer_.WriteU32(ntp_high); 35 big_endian_writer_.WriteU32(ntp_high);
36 big_endian_writer_.WriteU32(ntp_low); 36 big_endian_writer_.WriteU32(ntp_low);
37 big_endian_writer_.WriteU32(rtp_timestamp); 37 big_endian_writer_.WriteU32(rtp_timestamp);
38 big_endian_writer_.WriteU32(kSendPacketCount); 38 big_endian_writer_.WriteU32(kSendPacketCount);
39 big_endian_writer_.WriteU32(kSendOctetCount); 39 big_endian_writer_.WriteU32(kSendOctetCount);
40 } 40 }
41 41
42 void TestRtcpPacketBuilder::AddRr(uint32 sender_ssrc, 42 void TestRtcpPacketBuilder::AddRr(uint32_t sender_ssrc,
43 int number_of_report_blocks) { 43 int number_of_report_blocks) {
44 AddRtcpHeader(201, number_of_report_blocks); 44 AddRtcpHeader(201, number_of_report_blocks);
45 big_endian_writer_.WriteU32(sender_ssrc); 45 big_endian_writer_.WriteU32(sender_ssrc);
46 } 46 }
47 47
48 void TestRtcpPacketBuilder::AddRb(uint32 rtp_ssrc) { 48 void TestRtcpPacketBuilder::AddRb(uint32_t rtp_ssrc) {
49 big_endian_writer_.WriteU32(rtp_ssrc); 49 big_endian_writer_.WriteU32(rtp_ssrc);
50 big_endian_writer_.WriteU32(kLoss); 50 big_endian_writer_.WriteU32(kLoss);
51 big_endian_writer_.WriteU32(kExtendedMax); 51 big_endian_writer_.WriteU32(kExtendedMax);
52 big_endian_writer_.WriteU32(kTestJitter); 52 big_endian_writer_.WriteU32(kTestJitter);
53 big_endian_writer_.WriteU32(kLastSr); 53 big_endian_writer_.WriteU32(kLastSr);
54 big_endian_writer_.WriteU32(kDelayLastSr); 54 big_endian_writer_.WriteU32(kDelayLastSr);
55 } 55 }
56 56
57 void TestRtcpPacketBuilder::AddXrHeader(uint32 sender_ssrc) { 57 void TestRtcpPacketBuilder::AddXrHeader(uint32_t sender_ssrc) {
58 AddRtcpHeader(207, 0); 58 AddRtcpHeader(207, 0);
59 big_endian_writer_.WriteU32(sender_ssrc); 59 big_endian_writer_.WriteU32(sender_ssrc);
60 } 60 }
61 61
62 void TestRtcpPacketBuilder::AddXrUnknownBlock() { 62 void TestRtcpPacketBuilder::AddXrUnknownBlock() {
63 big_endian_writer_.WriteU8(9); // Block type. 63 big_endian_writer_.WriteU8(9); // Block type.
64 big_endian_writer_.WriteU8(0); // Reserved. 64 big_endian_writer_.WriteU8(0); // Reserved.
65 big_endian_writer_.WriteU16(4); // Block length. 65 big_endian_writer_.WriteU16(4); // Block length.
66 // First receiver same as sender of this report. 66 // First receiver same as sender of this report.
67 big_endian_writer_.WriteU32(0); 67 big_endian_writer_.WriteU32(0);
68 big_endian_writer_.WriteU32(0); 68 big_endian_writer_.WriteU32(0);
69 big_endian_writer_.WriteU32(0); 69 big_endian_writer_.WriteU32(0);
70 big_endian_writer_.WriteU32(0); 70 big_endian_writer_.WriteU32(0);
71 } 71 }
72 72
73 void TestRtcpPacketBuilder::AddUnknownBlock() { 73 void TestRtcpPacketBuilder::AddUnknownBlock() {
74 AddRtcpHeader(99, 0); 74 AddRtcpHeader(99, 0);
75 big_endian_writer_.WriteU32(42); 75 big_endian_writer_.WriteU32(42);
76 big_endian_writer_.WriteU32(42); 76 big_endian_writer_.WriteU32(42);
77 big_endian_writer_.WriteU32(42); 77 big_endian_writer_.WriteU32(42);
78 } 78 }
79 79
80 void TestRtcpPacketBuilder::AddXrDlrrBlock(uint32 sender_ssrc) { 80 void TestRtcpPacketBuilder::AddXrDlrrBlock(uint32_t sender_ssrc) {
81 big_endian_writer_.WriteU8(5); // Block type. 81 big_endian_writer_.WriteU8(5); // Block type.
82 big_endian_writer_.WriteU8(0); // Reserved. 82 big_endian_writer_.WriteU8(0); // Reserved.
83 big_endian_writer_.WriteU16(3); // Block length. 83 big_endian_writer_.WriteU16(3); // Block length.
84 84
85 // First receiver same as sender of this report. 85 // First receiver same as sender of this report.
86 big_endian_writer_.WriteU32(sender_ssrc); 86 big_endian_writer_.WriteU32(sender_ssrc);
87 big_endian_writer_.WriteU32(kLastRr); 87 big_endian_writer_.WriteU32(kLastRr);
88 big_endian_writer_.WriteU32(kDelayLastRr); 88 big_endian_writer_.WriteU32(kDelayLastRr);
89 } 89 }
90 90
91 void TestRtcpPacketBuilder::AddXrExtendedDlrrBlock(uint32 sender_ssrc) { 91 void TestRtcpPacketBuilder::AddXrExtendedDlrrBlock(uint32_t sender_ssrc) {
92 big_endian_writer_.WriteU8(5); // Block type. 92 big_endian_writer_.WriteU8(5); // Block type.
93 big_endian_writer_.WriteU8(0); // Reserved. 93 big_endian_writer_.WriteU8(0); // Reserved.
94 big_endian_writer_.WriteU16(9); // Block length. 94 big_endian_writer_.WriteU16(9); // Block length.
95 big_endian_writer_.WriteU32(0xaaaaaaaa); 95 big_endian_writer_.WriteU32(0xaaaaaaaa);
96 big_endian_writer_.WriteU32(0xaaaaaaaa); 96 big_endian_writer_.WriteU32(0xaaaaaaaa);
97 big_endian_writer_.WriteU32(0xaaaaaaaa); 97 big_endian_writer_.WriteU32(0xaaaaaaaa);
98 98
99 // First receiver same as sender of this report. 99 // First receiver same as sender of this report.
100 big_endian_writer_.WriteU32(sender_ssrc); 100 big_endian_writer_.WriteU32(sender_ssrc);
101 big_endian_writer_.WriteU32(kLastRr); 101 big_endian_writer_.WriteU32(kLastRr);
102 big_endian_writer_.WriteU32(kDelayLastRr); 102 big_endian_writer_.WriteU32(kDelayLastRr);
103 big_endian_writer_.WriteU32(0xbbbbbbbb); 103 big_endian_writer_.WriteU32(0xbbbbbbbb);
104 big_endian_writer_.WriteU32(0xbbbbbbbb); 104 big_endian_writer_.WriteU32(0xbbbbbbbb);
105 big_endian_writer_.WriteU32(0xbbbbbbbb); 105 big_endian_writer_.WriteU32(0xbbbbbbbb);
106 } 106 }
107 107
108 void TestRtcpPacketBuilder::AddXrRrtrBlock() { 108 void TestRtcpPacketBuilder::AddXrRrtrBlock() {
109 big_endian_writer_.WriteU8(4); // Block type. 109 big_endian_writer_.WriteU8(4); // Block type.
110 big_endian_writer_.WriteU8(0); // Reserved. 110 big_endian_writer_.WriteU8(0); // Reserved.
111 big_endian_writer_.WriteU16(2); // Block length. 111 big_endian_writer_.WriteU16(2); // Block length.
112 big_endian_writer_.WriteU32(kNtpHigh); 112 big_endian_writer_.WriteU32(kNtpHigh);
113 big_endian_writer_.WriteU32(kNtpLow); 113 big_endian_writer_.WriteU32(kNtpLow);
114 } 114 }
115 115
116 void TestRtcpPacketBuilder::AddNack(uint32 sender_ssrc, uint32 media_ssrc) { 116 void TestRtcpPacketBuilder::AddNack(uint32_t sender_ssrc, uint32_t media_ssrc) {
117 AddRtcpHeader(205, 1); 117 AddRtcpHeader(205, 1);
118 big_endian_writer_.WriteU32(sender_ssrc); 118 big_endian_writer_.WriteU32(sender_ssrc);
119 big_endian_writer_.WriteU32(media_ssrc); 119 big_endian_writer_.WriteU32(media_ssrc);
120 big_endian_writer_.WriteU16(kMissingPacket); 120 big_endian_writer_.WriteU16(kMissingPacket);
121 big_endian_writer_.WriteU16(0); 121 big_endian_writer_.WriteU16(0);
122 } 122 }
123 123
124 void TestRtcpPacketBuilder::AddSendReportRequest(uint32 sender_ssrc, 124 void TestRtcpPacketBuilder::AddSendReportRequest(uint32_t sender_ssrc,
125 uint32 media_ssrc) { 125 uint32_t media_ssrc) {
126 AddRtcpHeader(205, 5); 126 AddRtcpHeader(205, 5);
127 big_endian_writer_.WriteU32(sender_ssrc); 127 big_endian_writer_.WriteU32(sender_ssrc);
128 big_endian_writer_.WriteU32(media_ssrc); 128 big_endian_writer_.WriteU32(media_ssrc);
129 } 129 }
130 130
131 void TestRtcpPacketBuilder::AddCast(uint32 sender_ssrc, 131 void TestRtcpPacketBuilder::AddCast(uint32_t sender_ssrc,
132 uint32 media_ssrc, 132 uint32_t media_ssrc,
133 base::TimeDelta target_delay) { 133 base::TimeDelta target_delay) {
134 AddRtcpHeader(206, 15); 134 AddRtcpHeader(206, 15);
135 big_endian_writer_.WriteU32(sender_ssrc); 135 big_endian_writer_.WriteU32(sender_ssrc);
136 big_endian_writer_.WriteU32(media_ssrc); 136 big_endian_writer_.WriteU32(media_ssrc);
137 big_endian_writer_.WriteU8('C'); 137 big_endian_writer_.WriteU8('C');
138 big_endian_writer_.WriteU8('A'); 138 big_endian_writer_.WriteU8('A');
139 big_endian_writer_.WriteU8('S'); 139 big_endian_writer_.WriteU8('S');
140 big_endian_writer_.WriteU8('T'); 140 big_endian_writer_.WriteU8('T');
141 big_endian_writer_.WriteU8(kAckFrameId); 141 big_endian_writer_.WriteU8(kAckFrameId);
142 big_endian_writer_.WriteU8(3); // Loss fields. 142 big_endian_writer_.WriteU8(3); // Loss fields.
143 big_endian_writer_.WriteU16(target_delay.InMilliseconds()); 143 big_endian_writer_.WriteU16(target_delay.InMilliseconds());
144 big_endian_writer_.WriteU8(kLostFrameId); 144 big_endian_writer_.WriteU8(kLostFrameId);
145 big_endian_writer_.WriteU16(kRtcpCastAllPacketsLost); 145 big_endian_writer_.WriteU16(kRtcpCastAllPacketsLost);
146 big_endian_writer_.WriteU8(0); // Lost packet id mask. 146 big_endian_writer_.WriteU8(0); // Lost packet id mask.
147 big_endian_writer_.WriteU8(kFrameIdWithLostPackets); 147 big_endian_writer_.WriteU8(kFrameIdWithLostPackets);
148 big_endian_writer_.WriteU16(kLostPacketId1); 148 big_endian_writer_.WriteU16(kLostPacketId1);
149 big_endian_writer_.WriteU8(0x2); // Lost packet id mask. 149 big_endian_writer_.WriteU8(0x2); // Lost packet id mask.
150 big_endian_writer_.WriteU8(kFrameIdWithLostPackets); 150 big_endian_writer_.WriteU8(kFrameIdWithLostPackets);
151 big_endian_writer_.WriteU16(kLostPacketId3); 151 big_endian_writer_.WriteU16(kLostPacketId3);
152 big_endian_writer_.WriteU8(0); // Lost packet id mask. 152 big_endian_writer_.WriteU8(0); // Lost packet id mask.
153 } 153 }
154 154
155 void TestRtcpPacketBuilder::AddReceiverLog(uint32 sender_ssrc) { 155 void TestRtcpPacketBuilder::AddReceiverLog(uint32_t sender_ssrc) {
156 AddRtcpHeader(204, 2); 156 AddRtcpHeader(204, 2);
157 big_endian_writer_.WriteU32(sender_ssrc); 157 big_endian_writer_.WriteU32(sender_ssrc);
158 big_endian_writer_.WriteU8('C'); 158 big_endian_writer_.WriteU8('C');
159 big_endian_writer_.WriteU8('A'); 159 big_endian_writer_.WriteU8('A');
160 big_endian_writer_.WriteU8('S'); 160 big_endian_writer_.WriteU8('S');
161 big_endian_writer_.WriteU8('T'); 161 big_endian_writer_.WriteU8('T');
162 } 162 }
163 163
164 void TestRtcpPacketBuilder::AddReceiverFrameLog(uint32 rtp_timestamp, 164 void TestRtcpPacketBuilder::AddReceiverFrameLog(uint32_t rtp_timestamp,
165 int num_events, 165 int num_events,
166 uint32 event_timesamp_base) { 166 uint32_t event_timesamp_base) {
167 big_endian_writer_.WriteU32(rtp_timestamp); 167 big_endian_writer_.WriteU32(rtp_timestamp);
168 big_endian_writer_.WriteU8(static_cast<uint8>(num_events - 1)); 168 big_endian_writer_.WriteU8(static_cast<uint8_t>(num_events - 1));
169 big_endian_writer_.WriteU8(static_cast<uint8>(event_timesamp_base >> 16)); 169 big_endian_writer_.WriteU8(static_cast<uint8_t>(event_timesamp_base >> 16));
170 big_endian_writer_.WriteU8(static_cast<uint8>(event_timesamp_base >> 8)); 170 big_endian_writer_.WriteU8(static_cast<uint8_t>(event_timesamp_base >> 8));
171 big_endian_writer_.WriteU8(static_cast<uint8>(event_timesamp_base)); 171 big_endian_writer_.WriteU8(static_cast<uint8_t>(event_timesamp_base));
172 } 172 }
173 173
174 void TestRtcpPacketBuilder::AddReceiverEventLog(uint16 event_data, 174 void TestRtcpPacketBuilder::AddReceiverEventLog(uint16_t event_data,
175 CastLoggingEvent event, 175 CastLoggingEvent event,
176 uint16 event_timesamp_delta) { 176 uint16_t event_timesamp_delta) {
177 big_endian_writer_.WriteU16(event_data); 177 big_endian_writer_.WriteU16(event_data);
178 uint8 event_id = ConvertEventTypeToWireFormat(event); 178 uint8_t event_id = ConvertEventTypeToWireFormat(event);
179 uint16 type_and_delta = static_cast<uint16>(event_id) << 12; 179 uint16_t type_and_delta = static_cast<uint16_t>(event_id) << 12;
180 type_and_delta += event_timesamp_delta & 0x0fff; 180 type_and_delta += event_timesamp_delta & 0x0fff;
181 big_endian_writer_.WriteU16(type_and_delta); 181 big_endian_writer_.WriteU16(type_and_delta);
182 } 182 }
183 183
184 scoped_ptr<media::cast::Packet> TestRtcpPacketBuilder::GetPacket() { 184 scoped_ptr<media::cast::Packet> TestRtcpPacketBuilder::GetPacket() {
185 PatchLengthField(); 185 PatchLengthField();
186 return scoped_ptr<media::cast::Packet>( 186 return scoped_ptr<media::cast::Packet>(
187 new media::cast::Packet(buffer_, buffer_ + Length())); 187 new media::cast::Packet(buffer_, buffer_ + Length()));
188 } 188 }
189 189
190 const uint8* TestRtcpPacketBuilder::Data() { 190 const uint8_t* TestRtcpPacketBuilder::Data() {
191 PatchLengthField(); 191 PatchLengthField();
192 return buffer_; 192 return buffer_;
193 } 193 }
194 194
195 base::BigEndianReader* TestRtcpPacketBuilder::Reader() { 195 base::BigEndianReader* TestRtcpPacketBuilder::Reader() {
196 big_endian_reader_ = base::BigEndianReader( 196 big_endian_reader_ = base::BigEndianReader(
197 reinterpret_cast<const char *>(Data()), Length()); 197 reinterpret_cast<const char *>(Data()), Length());
198 return &big_endian_reader_; 198 return &big_endian_reader_;
199 } 199 }
200 200
(...skipping 18 matching lines...) Expand all
219 big_endian_writer_.WriteU8(0x80 | (format_or_count & 0x1F)); 219 big_endian_writer_.WriteU8(0x80 | (format_or_count & 0x1F));
220 big_endian_writer_.WriteU8(payload); 220 big_endian_writer_.WriteU8(payload);
221 ptr_of_length_ = big_endian_writer_.ptr(); 221 ptr_of_length_ = big_endian_writer_.ptr();
222 222
223 // Initialize length to "clearly illegal". 223 // Initialize length to "clearly illegal".
224 big_endian_writer_.WriteU16(0xDEAD); 224 big_endian_writer_.WriteU16(0xDEAD);
225 } 225 }
226 226
227 } // namespace cast 227 } // namespace cast
228 } // namespace media 228 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698