Add Reported lost time series to ECN feedback graph in event log visualizer

Plots the count of unreceived (reported lost) packets from RTCP Congestion Control Feedback alongside ECN markings.

Bug: webrtc:436707095
Change-Id: I3206d80d340a7e08d9aa3b3eccd8a009313162fd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/471881
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47690}
diff --git a/rtc_tools/rtc_event_log_visualizer/analyze_rtp_rtcp.cc b/rtc_tools/rtc_event_log_visualizer/analyze_rtp_rtcp.cc
index 9d6c066..e707f87 100644
--- a/rtc_tools/rtc_event_log_visualizer/analyze_rtp_rtcp.cc
+++ b/rtc_tools/rtc_event_log_visualizer/analyze_rtp_rtcp.cc
@@ -462,15 +462,22 @@
   TimeSeries ect_1("ECN capable", LineStyle::kBar, PointStyle::kHighlight);
   TimeSeries ce("Congestion experienced", LineStyle::kBar,
                 PointStyle::kHighlight);
+  TimeSeries reported_lost("Reported lost", LineStyle::kBar,
+                           PointStyle::kHighlight);
 
   for (const LoggedRtcpCongestionControlFeedback& feedback :
        parsed_log.congestion_feedback(direction)) {
     int ect_1_count = 0;
     int not_ect_count = 0;
     int ce_count = 0;
+    int reported_lost_count = 0;
 
     for (const rtcp::CongestionControlFeedback::PacketInfo& info :
          feedback.congestion_feedback.packets()) {
+      if (!info.received()) {
+        ++reported_lost_count;
+        continue;
+      }
       switch (info.ecn) {
         case EcnMarking::kNotEct:
           ++not_ect_count;
@@ -491,11 +498,14 @@
     not_ect.points.emplace_back(config.GetCallTimeSec(feedback.timestamp),
                                 not_ect_count);
     ce.points.emplace_back(config.GetCallTimeSec(feedback.timestamp), ce_count);
+    reported_lost.points.emplace_back(config.GetCallTimeSec(feedback.timestamp),
+                                      reported_lost_count);
   }
 
   plot->AppendTimeSeriesIfNotEmpty(std::move(ect_1));
   plot->AppendTimeSeriesIfNotEmpty(std::move(not_ect));
   plot->AppendTimeSeriesIfNotEmpty(std::move(ce));
+  plot->AppendTimeSeriesIfNotEmpty(std::move(reported_lost));
 
   plot->SetXAxis(config.CallBeginTimeSec(), config.CallEndTimeSec(), "Time (s)",
                  kLeftMargin, kRightMargin);