Index: webrtc/modules/remote_bitrate_estimator/send_time_history.cc |
diff --git a/webrtc/modules/remote_bitrate_estimator/send_time_history.cc b/webrtc/modules/remote_bitrate_estimator/send_time_history.cc |
index f5645731610b7f0a11fb88c5f1c615902ab46949..47039614fba612811645dd473bb3aa10a176562c 100644 |
--- a/webrtc/modules/remote_bitrate_estimator/send_time_history.cc |
+++ b/webrtc/modules/remote_bitrate_estimator/send_time_history.cc |
@@ -25,14 +25,23 @@ void SendTimeHistory::Clear() { |
history_.clear(); |
} |
-void SendTimeHistory::AddAndRemoveOldSendTimes(uint16_t sequence_number, |
- int64_t timestamp) { |
- EraseOld(timestamp - packet_age_limit_); |
+void SendTimeHistory::AddAndRemoveOld(const PacketInfo& packet) { |
+ EraseOld(packet.send_time_ms - packet_age_limit_); |
if (history_.empty()) |
- oldest_sequence_number_ = sequence_number; |
+ oldest_sequence_number_ = packet.sequence_number; |
- history_[sequence_number] = timestamp; |
+ history_.insert(std::pair<uint16_t, PacketInfo>(packet.sequence_number, |
+ PacketInfo(packet))); |
stefan-webrtc
2015/09/03 11:30:32
Do you really need PacketInfo()?
sprang_webrtc
2015/09/03 13:24:09
Done.
|
+} |
+ |
+bool SendTimeHistory::UpdateSendTime(uint16_t sequence_number, |
+ int64_t timestamp) { |
stefan-webrtc
2015/09/03 11:30:32
send_time_ms
sprang_webrtc
2015/09/03 13:24:09
Done.
|
+ auto it = history_.find(sequence_number); |
+ if (it == history_.end()) |
+ return false; |
+ it->second.send_time_ms = timestamp; |
+ return true; |
} |
void SendTimeHistory::EraseOld(int64_t limit) { |
@@ -40,7 +49,7 @@ void SendTimeHistory::EraseOld(int64_t limit) { |
auto it = history_.find(oldest_sequence_number_); |
assert(it != history_.end()); |
- if (it->second > limit) |
+ if (it->second.send_time_ms > limit) |
return; // Oldest packet within age limit, return. |
// TODO(sprang): Warn if erasing (too many) old items? |
@@ -68,16 +77,16 @@ void SendTimeHistory::UpdateOldestSequenceNumber() { |
oldest_sequence_number_ = it->first; |
} |
-bool SendTimeHistory::GetSendTime(uint16_t sequence_number, |
- int64_t* timestamp, |
- bool remove) { |
- auto it = history_.find(sequence_number); |
+bool SendTimeHistory::Populate(PacketInfo* packet, bool remove) { |
+ auto it = history_.find(packet->sequence_number); |
if (it == history_.end()) |
return false; |
- *timestamp = it->second; |
+ packet->send_time_ms = it->second.send_time_ms; |
+ packet->payload_size = it->second.payload_size; |
+ packet->was_paced = it->second.was_paced; |
stefan-webrtc
2015/09/03 11:30:32
*packet = it->second?
sprang_webrtc
2015/09/03 13:24:09
Done-ish. See comment i .h-file.
|
if (remove) { |
history_.erase(it); |
- if (sequence_number == oldest_sequence_number_) |
+ if (packet->sequence_number == oldest_sequence_number_) |
UpdateOldestSequenceNumber(); |
} |
return true; |