Index: media/cast/net/pacing/paced_sender.cc |
diff --git a/media/cast/net/pacing/paced_sender.cc b/media/cast/net/pacing/paced_sender.cc |
index b8642b12ce356a5739eb9bc07562de4b52416835..61166daf1049b47f7c7f38107ad71795108ba25b 100644 |
--- a/media/cast/net/pacing/paced_sender.cc |
+++ b/media/cast/net/pacing/paced_sender.cc |
@@ -31,10 +31,12 @@ static const size_t kRidiculousNumberOfPackets = |
DedupInfo::DedupInfo() : last_byte_acked_for_audio(0) {} |
// static |
-PacketKey PacedPacketSender::MakePacketKey(const base::TimeTicks& ticks, |
+PacketKey PacedPacketSender::MakePacketKey(PacketKey::PacketType packet_type, |
+ uint32 frame_id, |
uint32 ssrc, |
uint16 packet_id) { |
- return std::make_pair(ticks, std::make_pair(ssrc, packet_id)); |
+ PacketKey key{packet_type, frame_id, ssrc, packet_id}; |
+ return key; |
} |
PacedSender::PacketSendRecord::PacketSendRecord() |
@@ -125,7 +127,7 @@ bool PacedSender::ShouldResend(const PacketKey& packet_key, |
// packet Y sent just before X. Reject retransmission of X if ACK for |
// Y has not been received. |
// Only do this for video packets. |
- if (packet_key.second.first == video_ssrc_) { |
+ if (packet_key.ssrc == video_ssrc_) { |
if (dedup_info.last_byte_acked_for_audio && |
it->second.last_byte_sent_for_audio && |
dedup_info.last_byte_acked_for_audio < |
@@ -169,9 +171,9 @@ bool PacedSender::ResendPackets(const SendPacketVector& packets, |
bool PacedSender::SendRtcpPacket(uint32 ssrc, PacketRef packet) { |
if (state_ == State_TransportBlocked) { |
- priority_packet_list_[ |
- PacedPacketSender::MakePacketKey(base::TimeTicks(), ssrc, 0)] = |
- make_pair(PacketType_RTCP, packet); |
+ PacketKey key = |
+ PacedPacketSender::MakePacketKey(PacketKey::RTCP, 0, ssrc, 0); |
+ priority_packet_list_[key] = make_pair(PacketType_RTCP, packet); |
} else { |
// We pass the RTCP packets straight through. |
if (!transport_->SendPacket( |
@@ -204,7 +206,7 @@ PacketRef PacedSender::PopNextPacket(PacketType* packet_type, |
bool PacedSender::IsHighPriority(const PacketKey& packet_key) const { |
return std::find(priority_ssrcs_.begin(), priority_ssrcs_.end(), |
- packet_key.second.first) != priority_ssrcs_.end(); |
+ packet_key.ssrc) != priority_ssrcs_.end(); |
} |
bool PacedSender::empty() const { |
@@ -298,7 +300,7 @@ void PacedSender::SendStoredPackets() { |
send_record.last_byte_sent_for_audio = GetLastByteSentForSsrc(audio_ssrc_); |
send_history_[packet_key] = send_record; |
send_history_buffer_[packet_key] = send_record; |
- last_byte_sent_[packet_key.second.first] = send_record.last_byte_sent; |
+ last_byte_sent_[packet_key.ssrc] = send_record.last_byte_sent; |
if (socket_blocked) { |
state_ = State_TransportBlocked; |