diff --git a/logging/BUILD.gn b/logging/BUILD.gn index d8b4b8493b..d6b8cab777 100644 --- a/logging/BUILD.gn +++ b/logging/BUILD.gn @@ -503,6 +503,8 @@ if (rtc_enable_protobuf) { "../api/rtc_event_log", "../api/rtc_event_log:rtc_event_log_factory", "../api/task_queue:default_task_queue_factory", + "../api/units:time_delta", + "../api/units:timestamp", "../call", "../call:call_interfaces", "../modules/audio_coding:audio_network_adaptor", diff --git a/logging/rtc_event_log/rtc_event_log_parser.cc b/logging/rtc_event_log/rtc_event_log_parser.cc index a67c95aa58..406818b1ab 100644 --- a/logging/rtc_event_log/rtc_event_log_parser.cc +++ b/logging/rtc_event_log/rtc_event_log_parser.cc @@ -2324,7 +2324,7 @@ std::vector ParsedRtcEventLog::GetPacketInfos( }; Timestamp feedback_base_time = Timestamp::MinusInfinity(); - absl::optional 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 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 packet_feedbacks; packet_feedbacks.reserve(feedback.GetAllPackets().size()); @@ -2362,7 +2361,7 @@ std::vector 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; diff --git a/logging/rtc_event_log/rtc_event_log_unittest_helper.cc b/logging/rtc_event_log/rtc_event_log_unittest_helper.cc index e77a67182b..b4ee9d7803 100644 --- a/logging/rtc_event_log/rtc_event_log_unittest_helper.cc +++ b/logging/rtc_event_log/rtc_event_log_unittest_helper.cc @@ -26,6 +26,8 @@ #include "api/network_state_predictor.h" #include "api/rtp_headers.h" #include "api/rtp_parameters.h" +#include "api/units/time_delta.h" +#include "api/units/timestamp.h" #include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor_config.h" #include "modules/rtp_rtcp/include/rtp_cvo.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" @@ -354,14 +356,14 @@ rtcp::Bye EventGenerator::NewBye() { rtcp::TransportFeedback EventGenerator::NewTransportFeedback() { rtcp::TransportFeedback transport_feedback; uint16_t base_seq_no = prng_.Rand(); - int64_t base_time_us = prng_.Rand(); - transport_feedback.SetBase(base_seq_no, base_time_us); - transport_feedback.AddReceivedPacket(base_seq_no, base_time_us); - int64_t time_us = base_time_us; + Timestamp base_time = Timestamp::Micros(prng_.Rand()); + transport_feedback.SetBase(base_seq_no, base_time); + transport_feedback.AddReceivedPacket(base_seq_no, base_time); + Timestamp time = base_time; for (uint16_t i = 1u; i < 10u; i++) { - time_us += prng_.Rand(0, 100000); + time += TimeDelta::Micros(prng_.Rand(0, 100'000)); if (prng_.Rand()) { - transport_feedback.AddReceivedPacket(base_seq_no + i, time_us); + transport_feedback.AddReceivedPacket(base_seq_no + i, time); } } return transport_feedback; @@ -1252,9 +1254,9 @@ void EventVerifier::VerifyLoggedTransportFeedback( logged_transport_feedback.transport_feedback.GetReceivedPackets()[i] .sequence_number()); EXPECT_EQ( - original_transport_feedback.GetReceivedPackets()[i].delta_us(), + original_transport_feedback.GetReceivedPackets()[i].delta(), logged_transport_feedback.transport_feedback.GetReceivedPackets()[i] - .delta_us()); + .delta()); } }