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.