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

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

Issue 427733002: Cast: Remove unused RTCP messages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merged Created 6 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « media/cast/net/rtcp/test_rtcp_packet_builder.h ('k') | media/cast/receiver/frame_receiver.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 46
47 void TestRtcpPacketBuilder::AddRb(uint32 rtp_ssrc) { 47 void TestRtcpPacketBuilder::AddRb(uint32 rtp_ssrc) {
48 big_endian_writer_.WriteU32(rtp_ssrc); 48 big_endian_writer_.WriteU32(rtp_ssrc);
49 big_endian_writer_.WriteU32(kLoss); 49 big_endian_writer_.WriteU32(kLoss);
50 big_endian_writer_.WriteU32(kExtendedMax); 50 big_endian_writer_.WriteU32(kExtendedMax);
51 big_endian_writer_.WriteU32(kTestJitter); 51 big_endian_writer_.WriteU32(kTestJitter);
52 big_endian_writer_.WriteU32(kLastSr); 52 big_endian_writer_.WriteU32(kLastSr);
53 big_endian_writer_.WriteU32(kDelayLastSr); 53 big_endian_writer_.WriteU32(kDelayLastSr);
54 } 54 }
55 55
56 void TestRtcpPacketBuilder::AddSdesCname(uint32 sender_ssrc,
57 const std::string& c_name) {
58 AddRtcpHeader(202, 1);
59 big_endian_writer_.WriteU32(sender_ssrc);
60 big_endian_writer_.WriteU8(1); // c_name.
61
62 DCHECK_LE(c_name.size(), 255u);
63 big_endian_writer_.WriteU8(
64 static_cast<uint8>(c_name.size())); // c_name length in bytes.
65 for (size_t i = 0; i < c_name.size(); ++i) {
66 big_endian_writer_.WriteU8(c_name.c_str()[i]);
67 }
68 const int padding = 4 - ((c_name.size() + 2) % 4);
69 for (int j = 0; j < padding; ++j) {
70 big_endian_writer_.WriteU8(0);
71 }
72 }
73
74 void TestRtcpPacketBuilder::AddXrHeader(uint32 sender_ssrc) { 56 void TestRtcpPacketBuilder::AddXrHeader(uint32 sender_ssrc) {
75 AddRtcpHeader(207, 0); 57 AddRtcpHeader(207, 0);
76 big_endian_writer_.WriteU32(sender_ssrc); 58 big_endian_writer_.WriteU32(sender_ssrc);
77 } 59 }
78 60
79 void TestRtcpPacketBuilder::AddXrUnknownBlock() { 61 void TestRtcpPacketBuilder::AddXrUnknownBlock() {
80 big_endian_writer_.WriteU8(9); // Block type. 62 big_endian_writer_.WriteU8(9); // Block type.
81 big_endian_writer_.WriteU8(0); // Reserved. 63 big_endian_writer_.WriteU8(0); // Reserved.
82 big_endian_writer_.WriteU16(4); // Block length. 64 big_endian_writer_.WriteU16(4); // Block length.
83 // First receiver same as sender of this report. 65 // First receiver same as sender of this report.
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 big_endian_writer_.WriteU16(0); 113 big_endian_writer_.WriteU16(0);
132 } 114 }
133 115
134 void TestRtcpPacketBuilder::AddSendReportRequest(uint32 sender_ssrc, 116 void TestRtcpPacketBuilder::AddSendReportRequest(uint32 sender_ssrc,
135 uint32 media_ssrc) { 117 uint32 media_ssrc) {
136 AddRtcpHeader(205, 5); 118 AddRtcpHeader(205, 5);
137 big_endian_writer_.WriteU32(sender_ssrc); 119 big_endian_writer_.WriteU32(sender_ssrc);
138 big_endian_writer_.WriteU32(media_ssrc); 120 big_endian_writer_.WriteU32(media_ssrc);
139 } 121 }
140 122
141 void TestRtcpPacketBuilder::AddPli(uint32 sender_ssrc, uint32 media_ssrc) {
142 AddRtcpHeader(206, 1);
143 big_endian_writer_.WriteU32(sender_ssrc);
144 big_endian_writer_.WriteU32(media_ssrc);
145 }
146
147 void TestRtcpPacketBuilder::AddRpsi(uint32 sender_ssrc, uint32 media_ssrc) {
148 AddRtcpHeader(206, 3);
149 big_endian_writer_.WriteU32(sender_ssrc);
150 big_endian_writer_.WriteU32(media_ssrc);
151 big_endian_writer_.WriteU8(0); // Padding bits.
152 big_endian_writer_.WriteU8(kPayloadtype);
153 uint64 picture_id = kPictureId;
154
155 for (int i = 9; i > 0; i--) {
156 big_endian_writer_.WriteU8(0x80 |
157 static_cast<uint8>(picture_id >> (i * 7)));
158 }
159 // Add last byte of picture ID.
160 big_endian_writer_.WriteU8(static_cast<uint8>(picture_id & 0x7f));
161 }
162
163 void TestRtcpPacketBuilder::AddRemb(uint32 sender_ssrc, uint32 media_ssrc) {
164 AddRtcpHeader(206, 15);
165 big_endian_writer_.WriteU32(sender_ssrc);
166 big_endian_writer_.WriteU32(0);
167 big_endian_writer_.WriteU8('R');
168 big_endian_writer_.WriteU8('E');
169 big_endian_writer_.WriteU8('M');
170 big_endian_writer_.WriteU8('B');
171 big_endian_writer_.WriteU8(1); // Number of SSRCs.
172 big_endian_writer_.WriteU8(1); // BR Exp.
173 // BR Mantissa.
174 big_endian_writer_.WriteU16(static_cast<uint16>(kTestRembBitrate / 2));
175 big_endian_writer_.WriteU32(media_ssrc);
176 }
177
178 void TestRtcpPacketBuilder::AddCast(uint32 sender_ssrc, 123 void TestRtcpPacketBuilder::AddCast(uint32 sender_ssrc,
179 uint32 media_ssrc, 124 uint32 media_ssrc,
180 base::TimeDelta target_delay) { 125 base::TimeDelta target_delay) {
181 AddRtcpHeader(206, 15); 126 AddRtcpHeader(206, 15);
182 big_endian_writer_.WriteU32(sender_ssrc); 127 big_endian_writer_.WriteU32(sender_ssrc);
183 big_endian_writer_.WriteU32(media_ssrc); 128 big_endian_writer_.WriteU32(media_ssrc);
184 big_endian_writer_.WriteU8('C'); 129 big_endian_writer_.WriteU8('C');
185 big_endian_writer_.WriteU8('A'); 130 big_endian_writer_.WriteU8('A');
186 big_endian_writer_.WriteU8('S'); 131 big_endian_writer_.WriteU8('S');
187 big_endian_writer_.WriteU8('T'); 132 big_endian_writer_.WriteU8('T');
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 big_endian_writer_.WriteU8(0x80 | (format_or_count & 0x1F)); 205 big_endian_writer_.WriteU8(0x80 | (format_or_count & 0x1F));
261 big_endian_writer_.WriteU8(payload); 206 big_endian_writer_.WriteU8(payload);
262 ptr_of_length_ = big_endian_writer_.ptr(); 207 ptr_of_length_ = big_endian_writer_.ptr();
263 208
264 // Initialize length to "clearly illegal". 209 // Initialize length to "clearly illegal".
265 big_endian_writer_.WriteU16(0xDEAD); 210 big_endian_writer_.WriteU16(0xDEAD);
266 } 211 }
267 212
268 } // namespace cast 213 } // namespace cast
269 } // namespace media 214 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/net/rtcp/test_rtcp_packet_builder.h ('k') | media/cast/receiver/frame_receiver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698