In RtcEventLogParser use strict time types to access rtcp::TransportFeedback

Bug: webrtc:13757
Change-Id: I0aa6e1134acd8ff53eadb24ac051203d74b5050f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265380
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37152}
This commit is contained in:
Danil Chapovalov
2022-06-08 12:27:51 +02:00
committed by WebRTC LUCI CQ
parent 5b298ab9dd
commit 640b51eeae
3 changed files with 17 additions and 14 deletions

View File

@ -2324,7 +2324,7 @@ std::vector<LoggedPacketInfo> ParsedRtcEventLog::GetPacketInfos(
};
Timestamp feedback_base_time = Timestamp::MinusInfinity();
absl::optional<int64_t> last_feedback_base_time_us;
Timestamp last_feedback_base_time = Timestamp::MinusInfinity();
auto feedback_handler =
[&](const LoggedRtcpPacketTransportFeedback& logged_rtcp) {
@ -2334,13 +2334,12 @@ std::vector<LoggedPacketInfo> ParsedRtcEventLog::GetPacketInfos(
// Add timestamp deltas to a local time base selected on first packet
// arrival. This won't be the true time base, but makes it easier to
// manually inspect time stamps.
if (!last_feedback_base_time_us) {
if (!last_feedback_base_time.IsFinite()) {
feedback_base_time = log_feedback_time;
} else {
feedback_base_time += TimeDelta::Micros(
feedback.GetBaseDeltaUs(*last_feedback_base_time_us));
feedback_base_time += feedback.GetBaseDelta(last_feedback_base_time);
}
last_feedback_base_time_us = feedback.GetBaseTimeUs();
last_feedback_base_time = feedback.BaseTime();
std::vector<LoggedPacketInfo*> packet_feedbacks;
packet_feedbacks.reserve(feedback.GetAllPackets().size());
@ -2362,7 +2361,7 @@ std::vector<LoggedPacketInfo> ParsedRtcEventLog::GetPacketInfos(
continue;
}
if (packet.received()) {
receive_timestamp += TimeDelta::Micros(packet.delta_us());
receive_timestamp += packet.delta();
if (sent->reported_recv_time.IsInfinite()) {
sent->reported_recv_time = receive_timestamp;
sent->log_feedback_time = log_feedback_time;