OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/transport/rtcp/rtcp_builder.h" | 5 #include "media/cast/transport/rtcp/rtcp_builder.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 number_of_messages * kRtcpSenderFrameLogSize; | 209 number_of_messages * kRtcpSenderFrameLogSize; |
210 packet->resize(start_size + log_size); | 210 packet->resize(start_size + log_size); |
211 | 211 |
212 net::BigEndianWriter big_endian_writer(&((*packet)[start_size]), log_size); | 212 net::BigEndianWriter big_endian_writer(&((*packet)[start_size]), log_size); |
213 big_endian_writer.WriteU8(0x80 + kSenderLogSubtype); | 213 big_endian_writer.WriteU8(0x80 + kSenderLogSubtype); |
214 big_endian_writer.WriteU8(kPacketTypeApplicationDefined); | 214 big_endian_writer.WriteU8(kPacketTypeApplicationDefined); |
215 big_endian_writer.WriteU16(static_cast<uint16>(2 + number_of_messages)); | 215 big_endian_writer.WriteU16(static_cast<uint16>(2 + number_of_messages)); |
216 big_endian_writer.WriteU32(ssrc_); // Add our own SSRC. | 216 big_endian_writer.WriteU32(ssrc_); // Add our own SSRC. |
217 big_endian_writer.WriteU32(kCast); | 217 big_endian_writer.WriteU32(kCast); |
218 | 218 |
219 std::list<RtcpSenderFrameLogMessage>::const_iterator it = | 219 std::vector<RtcpSenderFrameLogMessage>::const_iterator it = |
220 sender_log_message.begin(); | 220 sender_log_message.begin(); |
221 for (; number_of_messages > 0; --number_of_messages) { | 221 for (; number_of_messages > 0; --number_of_messages) { |
222 DCHECK(!sender_log_message.empty()); | 222 DCHECK(!sender_log_message.empty()); |
223 const RtcpSenderFrameLogMessage& message = *it; | 223 const RtcpSenderFrameLogMessage& message = *it; |
224 big_endian_writer.WriteU8(static_cast<uint8>(message.frame_status)); | 224 big_endian_writer.WriteU8(static_cast<uint8>(message.frame_status)); |
225 // We send the 24 east significant bits of the RTP timestamp. | 225 // We send the 24 east significant bits of the RTP timestamp. |
226 big_endian_writer.WriteU8(static_cast<uint8>(message.rtp_timestamp >> 16)); | 226 big_endian_writer.WriteU8(static_cast<uint8>(message.rtp_timestamp >> 16)); |
227 big_endian_writer.WriteU8(static_cast<uint8>(message.rtp_timestamp >> 8)); | 227 big_endian_writer.WriteU8(static_cast<uint8>(message.rtp_timestamp >> 8)); |
228 big_endian_writer.WriteU8(static_cast<uint8>(message.rtp_timestamp)); | 228 big_endian_writer.WriteU8(static_cast<uint8>(message.rtp_timestamp)); |
229 ++it; | 229 ++it; |
230 } | 230 } |
231 } | 231 } |
232 | 232 |
233 } // namespace transport | 233 } // namespace transport |
234 } // namespace cast | 234 } // namespace cast |
235 } // namespace media | 235 } // namespace media |
OLD | NEW |