Adds abs-send-time and size field outputs to event log parser.
Bug: webrtc:10170
Change-Id: I7340bc2afa4fa29139a4358db73e002825153fe0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153888
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29287}
diff --git a/logging/rtc_event_log/logged_events.cc b/logging/rtc_event_log/logged_events.cc
index b744b66..6e9e6cf 100644
--- a/logging/rtc_event_log/logged_events.cc
+++ b/logging/rtc_event_log/logged_events.cc
@@ -18,6 +18,10 @@
: ssrc(rtp.header.ssrc),
stream_seq_no(rtp.header.sequenceNumber),
size(static_cast<uint16_t>(rtp.total_length)),
+ payload_size(static_cast<uint16_t>(rtp.total_length -
+ rtp.header.paddingLength -
+ rtp.header.headerLength)),
+ padding_size(static_cast<uint16_t>(rtp.header.paddingLength)),
payload_type(rtp.header.payloadType),
media_type(media_type),
rtx(rtx),
@@ -27,7 +31,10 @@
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 4706742..e565505 100644
--- a/logging/rtc_event_log/logged_events.h
+++ b/logging/rtc_event_log/logged_events.h
@@ -541,6 +541,8 @@
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 @@
// 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.