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

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

Issue 1515433002: Replace uses of raw uint32's with a type-checked RtpTimeTicks data type. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Speculative workaround fix for win8_chromium_ng compile error. 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
« no previous file with comments | « media/cast/net/rtcp/rtcp.cc ('k') | media/cast/net/rtcp/rtcp_builder_unittest.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/rtcp_builder.h" 5 #include "media/cast/net/rtcp/rtcp_builder.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <vector> 10 #include <vector>
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 << ", NACK: " << nack_string_builder.GetString(); 293 << ", NACK: " << nack_string_builder.GetString();
294 DCHECK_LE(number_of_loss_fields, kRtcpMaxCastLossFields); 294 DCHECK_LE(number_of_loss_fields, kRtcpMaxCastLossFields);
295 *cast_loss_field_pos = static_cast<uint8_t>(number_of_loss_fields); 295 *cast_loss_field_pos = static_cast<uint8_t>(number_of_loss_fields);
296 } 296 }
297 297
298 void RtcpBuilder::AddSR(const RtcpSenderInfo& sender_info) { 298 void RtcpBuilder::AddSR(const RtcpSenderInfo& sender_info) {
299 AddRtcpHeader(kPacketTypeSenderReport, 0); 299 AddRtcpHeader(kPacketTypeSenderReport, 0);
300 writer_.WriteU32(ssrc_); 300 writer_.WriteU32(ssrc_);
301 writer_.WriteU32(sender_info.ntp_seconds); 301 writer_.WriteU32(sender_info.ntp_seconds);
302 writer_.WriteU32(sender_info.ntp_fraction); 302 writer_.WriteU32(sender_info.ntp_fraction);
303 writer_.WriteU32(sender_info.rtp_timestamp); 303 writer_.WriteU32(sender_info.rtp_timestamp.lower_32_bits());
304 writer_.WriteU32(sender_info.send_packet_count); 304 writer_.WriteU32(sender_info.send_packet_count);
305 writer_.WriteU32(static_cast<uint32_t>(sender_info.send_octet_count)); 305 writer_.WriteU32(static_cast<uint32_t>(sender_info.send_octet_count));
306 } 306 }
307 307
308 /* 308 /*
309 0 1 2 3 309 0 1 2 3
310 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 310 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
311 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 311 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
312 |V=2|P|reserved | PT=XR=207 | length | 312 |V=2|P|reserved | PT=XR=207 | length |
313 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 313 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 AddRtcpHeader(kPacketTypeApplicationDefined, kReceiverLogSubtype); 347 AddRtcpHeader(kPacketTypeApplicationDefined, kReceiverLogSubtype);
348 writer_.WriteU32(ssrc_); // Add our own SSRC. 348 writer_.WriteU32(ssrc_); // Add our own SSRC.
349 writer_.WriteU32(kCast); 349 writer_.WriteU32(kCast);
350 350
351 while (!receiver_log_message.empty() && 351 while (!receiver_log_message.empty() &&
352 total_number_of_messages_to_send > 0) { 352 total_number_of_messages_to_send > 0) {
353 RtcpReceiverFrameLogMessage& frame_log_messages( 353 RtcpReceiverFrameLogMessage& frame_log_messages(
354 receiver_log_message.front()); 354 receiver_log_message.front());
355 355
356 // Add our frame header. 356 // Add our frame header.
357 writer_.WriteU32(frame_log_messages.rtp_timestamp_); 357 writer_.WriteU32(frame_log_messages.rtp_timestamp_.lower_32_bits());
358 size_t messages_in_frame = frame_log_messages.event_log_messages_.size(); 358 size_t messages_in_frame = frame_log_messages.event_log_messages_.size();
359 if (messages_in_frame > total_number_of_messages_to_send) { 359 if (messages_in_frame > total_number_of_messages_to_send) {
360 // We are running out of space. 360 // We are running out of space.
361 messages_in_frame = total_number_of_messages_to_send; 361 messages_in_frame = total_number_of_messages_to_send;
362 } 362 }
363 // Keep track of how many messages we have left to send. 363 // Keep track of how many messages we have left to send.
364 total_number_of_messages_to_send -= messages_in_frame; 364 total_number_of_messages_to_send -= messages_in_frame;
365 365
366 // On the wire format is number of messages - 1. 366 // On the wire format is number of messages - 1.
367 writer_.WriteU8(static_cast<uint8_t>(messages_in_frame - 1)); 367 writer_.WriteU8(static_cast<uint8_t>(messages_in_frame - 1));
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 425
426 // Account for the RTCP header for an application-defined packet. 426 // Account for the RTCP header for an application-defined packet.
427 remaining_space -= kRtcpCastLogHeaderSize; 427 remaining_space -= kRtcpCastLogHeaderSize;
428 428
429 ReceiverRtcpEventSubscriber::RtcpEvents::const_reverse_iterator rit = 429 ReceiverRtcpEventSubscriber::RtcpEvents::const_reverse_iterator rit =
430 rtcp_events.rbegin(); 430 rtcp_events.rbegin();
431 431
432 while (rit != rtcp_events.rend() && 432 while (rit != rtcp_events.rend() &&
433 remaining_space >= 433 remaining_space >=
434 kRtcpReceiverFrameLogSize + kRtcpReceiverEventLogSize) { 434 kRtcpReceiverFrameLogSize + kRtcpReceiverEventLogSize) {
435 const RtpTimestamp rtp_timestamp = rit->first; 435 const RtpTimeTicks rtp_timestamp = rit->first;
436 RtcpReceiverFrameLogMessage frame_log(rtp_timestamp); 436 RtcpReceiverFrameLogMessage frame_log(rtp_timestamp);
437 remaining_space -= kRtcpReceiverFrameLogSize; 437 remaining_space -= kRtcpReceiverFrameLogSize;
438 ++number_of_frames; 438 ++number_of_frames;
439 439
440 // Get all events of a single frame. 440 // Get all events of a single frame.
441 sorted_log_messages.clear(); 441 sorted_log_messages.clear();
442 do { 442 do {
443 RtcpReceiverEventLogMessage event_log_message; 443 RtcpReceiverEventLogMessage event_log_message;
444 event_log_message.type = rit->second.type; 444 event_log_message.type = rit->second.type;
445 event_log_message.event_timestamp = rit->second.timestamp; 445 event_log_message.event_timestamp = rit->second.timestamp;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 receiver_log_message->push_front(frame_log); 477 receiver_log_message->push_front(frame_log);
478 } 478 }
479 479
480 VLOG(3) << "number of frames: " << number_of_frames; 480 VLOG(3) << "number of frames: " << number_of_frames;
481 VLOG(3) << "total messages to send: " << *total_number_of_messages_to_send; 481 VLOG(3) << "total messages to send: " << *total_number_of_messages_to_send;
482 return number_of_frames > 0; 482 return number_of_frames > 0;
483 } 483 }
484 484
485 } // namespace cast 485 } // namespace cast
486 } // namespace media 486 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/net/rtcp/rtcp.cc ('k') | media/cast/net/rtcp/rtcp_builder_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698