Index: media/cast/net/rtcp/rtcp.cc |
diff --git a/media/cast/net/rtcp/rtcp.cc b/media/cast/net/rtcp/rtcp.cc |
index 3673357d7856a133cf53bd4b261b4b53569efabd..00cccf2a13f8bb09af091fb0b78237d6aa571a52 100644 |
--- a/media/cast/net/rtcp/rtcp.cc |
+++ b/media/cast/net/rtcp/rtcp.cc |
@@ -64,7 +64,7 @@ base::TimeDelta ConvertFromNtpDiff(uint32_t ntp_delay) { |
// Second uint64_t: |
// bits 0-63: event TimeTicks internal value. |
std::pair<uint64_t, uint64_t> GetReceiverEventKey( |
- uint32_t frame_rtp_timestamp, |
+ RtpTimeTicks frame_rtp_timestamp, |
const base::TimeTicks& event_timestamp, |
uint8_t event_type, |
uint16_t packet_id_or_zero) { |
@@ -72,7 +72,7 @@ std::pair<uint64_t, uint64_t> GetReceiverEventKey( |
value1 <<= 16; |
value1 |= packet_id_or_zero; |
value1 <<= 32; |
- value1 |= frame_rtp_timestamp; |
+ value1 |= frame_rtp_timestamp.lower_32_bits(); |
return std::make_pair( |
value1, static_cast<uint64_t>(event_timestamp.ToInternalValue())); |
} |
@@ -94,9 +94,9 @@ Rtcp::Rtcp(const RtcpCastMessageCallback& cast_callback, |
packet_sender_(packet_sender), |
local_ssrc_(local_ssrc), |
remote_ssrc_(remote_ssrc), |
+ parser_(local_ssrc_, remote_ssrc_), |
last_report_truncated_ntp_(0), |
local_clock_ahead_by_(ClockDriftSmoother::GetDefaultTimeConstant()), |
- lip_sync_rtp_timestamp_(0), |
lip_sync_ntp_timestamp_(0), |
largest_seen_timestamp_(base::TimeTicks::FromInternalValue( |
std::numeric_limits<int64_t>::min())), |
@@ -140,13 +140,12 @@ bool Rtcp::IncomingRtcpPacket(const uint8_t* data, size_t length) { |
} |
// Parse this packet. |
- RtcpParser parser(local_ssrc_, remote_ssrc_); |
base::BigEndianReader reader(reinterpret_cast<const char*>(data), length); |
- if (parser.Parse(&reader)) { |
- if (parser.has_receiver_reference_time_report()) { |
+ if (parser_.Parse(&reader)) { |
+ if (parser_.has_receiver_reference_time_report()) { |
base::TimeTicks t = ConvertNtpToTimeTicks( |
- parser.receiver_reference_time_report().ntp_seconds, |
- parser.receiver_reference_time_report().ntp_fraction); |
+ parser_.receiver_reference_time_report().ntp_seconds, |
+ parser_.receiver_reference_time_report().ntp_fraction); |
if (t > largest_seen_timestamp_) { |
largest_seen_timestamp_ = t; |
} else if ((largest_seen_timestamp_ - t).InMilliseconds() > |
@@ -158,30 +157,30 @@ bool Rtcp::IncomingRtcpPacket(const uint8_t* data, size_t length) { |
return true; |
} |
- OnReceivedNtp(parser.receiver_reference_time_report().ntp_seconds, |
- parser.receiver_reference_time_report().ntp_fraction); |
+ OnReceivedNtp(parser_.receiver_reference_time_report().ntp_seconds, |
+ parser_.receiver_reference_time_report().ntp_fraction); |
} |
- if (parser.has_sender_report()) { |
- OnReceivedNtp(parser.sender_report().ntp_seconds, |
- parser.sender_report().ntp_fraction); |
- OnReceivedLipSyncInfo(parser.sender_report().rtp_timestamp, |
- parser.sender_report().ntp_seconds, |
- parser.sender_report().ntp_fraction); |
+ if (parser_.has_sender_report()) { |
+ OnReceivedNtp(parser_.sender_report().ntp_seconds, |
+ parser_.sender_report().ntp_fraction); |
+ OnReceivedLipSyncInfo(parser_.sender_report().rtp_timestamp, |
+ parser_.sender_report().ntp_seconds, |
+ parser_.sender_report().ntp_fraction); |
} |
- if (parser.has_receiver_log()) { |
- if (DedupeReceiverLog(parser.mutable_receiver_log())) { |
- OnReceivedReceiverLog(parser.receiver_log()); |
+ if (parser_.has_receiver_log()) { |
+ if (DedupeReceiverLog(parser_.mutable_receiver_log())) { |
+ OnReceivedReceiverLog(parser_.receiver_log()); |
} |
} |
- if (parser.has_last_report()) { |
- OnReceivedDelaySinceLastReport(parser.last_report(), |
- parser.delay_since_last_report()); |
+ if (parser_.has_last_report()) { |
+ OnReceivedDelaySinceLastReport(parser_.last_report(), |
+ parser_.delay_since_last_report()); |
} |
- if (parser.has_cast_message()) { |
- parser.mutable_cast_message()->ack_frame_id = |
+ if (parser_.has_cast_message()) { |
+ parser_.mutable_cast_message()->ack_frame_id = |
ack_frame_id_wrap_helper_.MapTo32bitsFrameId( |
- parser.mutable_cast_message()->ack_frame_id); |
- OnReceivedCastFeedback(parser.cast_message()); |
+ parser_.mutable_cast_message()->ack_frame_id); |
+ OnReceivedCastFeedback(parser_.cast_message()); |
} |
} |
return true; |
@@ -274,7 +273,7 @@ void Rtcp::SendRtcpFromRtpReceiver( |
} |
void Rtcp::SendRtcpFromRtpSender(base::TimeTicks current_time, |
- uint32_t current_time_as_rtp_timestamp, |
+ RtpTimeTicks current_time_as_rtp_timestamp, |
uint32_t send_packet_count, |
size_t send_octet_count) { |
uint32_t current_ntp_seconds = 0; |
@@ -323,7 +322,7 @@ void Rtcp::OnReceivedNtp(uint32_t ntp_seconds, uint32_t ntp_fraction) { |
<< " usec."; |
} |
-void Rtcp::OnReceivedLipSyncInfo(uint32_t rtp_timestamp, |
+void Rtcp::OnReceivedLipSyncInfo(RtpTimeTicks rtp_timestamp, |
uint32_t ntp_seconds, |
uint32_t ntp_fraction) { |
if (ntp_seconds == 0) { |
@@ -335,7 +334,7 @@ void Rtcp::OnReceivedLipSyncInfo(uint32_t rtp_timestamp, |
(static_cast<uint64_t>(ntp_seconds) << 32) | ntp_fraction; |
} |
-bool Rtcp::GetLatestLipSyncTimes(uint32_t* rtp_timestamp, |
+bool Rtcp::GetLatestLipSyncTimes(RtpTimeTicks* rtp_timestamp, |
base::TimeTicks* reference_time) const { |
if (!lip_sync_ntp_timestamp_) |
return false; |