diff --git a/logging/rtc_event_log/logged_events.cc b/logging/rtc_event_log/logged_events.cc index b744b66534..6e9e6cf33e 100644 --- a/logging/rtc_event_log/logged_events.cc +++ b/logging/rtc_event_log/logged_events.cc @@ -18,6 +18,10 @@ LoggedPacketInfo::LoggedPacketInfo(const LoggedRtpPacket& rtp, : ssrc(rtp.header.ssrc), stream_seq_no(rtp.header.sequenceNumber), size(static_cast(rtp.total_length)), + payload_size(static_cast(rtp.total_length - + rtp.header.paddingLength - + rtp.header.headerLength)), + padding_size(static_cast(rtp.header.paddingLength)), payload_type(rtp.header.payloadType), media_type(media_type), rtx(rtx), @@ -27,7 +31,10 @@ LoggedPacketInfo::LoggedPacketInfo(const LoggedRtpPacket& rtp, has_transport_seq_no ? rtp.header.extension.transportSequenceNumber : 0)), capture_time(capture_time), - log_packet_time(Timestamp::us(rtp.log_time_us())) {} + log_packet_time(Timestamp::us(rtp.log_time_us())), + reported_send_time(rtp.header.extension.hasAbsoluteSendTime + ? rtp.header.extension.GetAbsoluteSendTimestamp() + : Timestamp::MinusInfinity()) {} LoggedPacketInfo::LoggedPacketInfo(const LoggedPacketInfo&) = default; diff --git a/logging/rtc_event_log/logged_events.h b/logging/rtc_event_log/logged_events.h index 4706742ab2..e56550537d 100644 --- a/logging/rtc_event_log/logged_events.h +++ b/logging/rtc_event_log/logged_events.h @@ -541,6 +541,8 @@ struct LoggedPacketInfo { uint32_t ssrc; uint16_t stream_seq_no; uint16_t size; + uint16_t payload_size; + uint16_t padding_size; uint16_t overhead = 0; uint8_t payload_type; LoggedMediaType media_type = LoggedMediaType::kUnknown; @@ -555,6 +557,9 @@ struct LoggedPacketInfo { // The time the packet was logged. This is the receive time for incoming // packets and send time for outgoing. Timestamp log_packet_time; + // Send time as reported by abs-send-time extension, For outgoing packets this + // corresponds to log_packet_time, but might be measured using another clock. + Timestamp reported_send_time; // The receive time that was reported in feedback. For incoming packets this // corresponds to log_packet_time, but might be measured using another clock. // PlusInfinity indicates that the packet was lost.