Update methods in VCMTiming to use VideoJitterTimingInterface structs.

Bug: b/493549134
Change-Id: Ib758359c62e07b7687d95471c08946ce1bbae65f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/485821
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#48116}
diff --git a/modules/video_coding/timing/BUILD.gn b/modules/video_coding/timing/BUILD.gn
index 213f05f..8c51cde 100644
--- a/modules/video_coding/timing/BUILD.gn
+++ b/modules/video_coding/timing/BUILD.gn
@@ -123,7 +123,6 @@
     ":default_video_jitter_timing",
     "../../../api:field_trials_view",
     "../../../api:sequence_checker",
-    "../../../api/units:data_size",
     "../../../api/units:time_delta",
     "../../../api/units:timestamp",
     "../../../api/video:video_frame",
diff --git a/modules/video_coding/timing/timing.cc b/modules/video_coding/timing/timing.cc
index c1ee287..8c131b7 100644
--- a/modules/video_coding/timing/timing.cc
+++ b/modules/video_coding/timing/timing.cc
@@ -18,7 +18,6 @@
 
 #include "api/field_trials_view.h"
 #include "api/sequence_checker.h"
-#include "api/units/data_size.h"
 #include "api/units/time_delta.h"
 #include "api/units/timestamp.h"
 #include "api/video/timing/video_jitter_timing_interface.h"
@@ -138,25 +137,20 @@
   }
 }
 
-void VCMTiming::OnDecodableTemporalUnit(uint32_t rtp_timestamp,
-                                        DataSize superframe_size,
-                                        Timestamp max_receive_time,
-                                        bool was_retransmitted) {
+void VCMTiming::OnDecodableTemporalUnit(
+    const VideoJitterTimingInterface::TemporalUnitInfo& info) {
   RTC_DCHECK_RUN_ON(&worker_sequence_checker_);
   std::optional<TimeDelta> minimum_delay =
-      video_jitter_timing_->OnDecodableTemporalUnit(
-          {.rtp_timestamp = rtp_timestamp,
-           .size = superframe_size,
-           .time = max_receive_time,
-           .was_retransmitted = was_retransmitted});
+      video_jitter_timing_->OnDecodableTemporalUnit(info);
   if (minimum_delay.has_value()) {
     SetMinimumDelay(*minimum_delay);
   }
 }
 
-void VCMTiming::UpdateRtt(TimeDelta rtt) {
+void VCMTiming::OnNetworkUpdate(
+    const VideoJitterTimingInterface::NetworkInfo& info) {
   RTC_DCHECK_RUN_ON(&worker_sequence_checker_);
-  video_jitter_timing_->OnNetworkUpdate({.rtt = rtt});
+  video_jitter_timing_->OnNetworkUpdate(info);
 }
 
 void VCMTiming::UpdateCurrentDelay(Timestamp render_time,
diff --git a/modules/video_coding/timing/timing.h b/modules/video_coding/timing/timing.h
index 333a350..57ac328 100644
--- a/modules/video_coding/timing/timing.h
+++ b/modules/video_coding/timing/timing.h
@@ -18,7 +18,6 @@
 
 #include "api/field_trials_view.h"
 #include "api/sequence_checker.h"
-#include "api/units/data_size.h"
 #include "api/units/time_delta.h"
 #include "api/units/timestamp.h"
 #include "api/video/timing/video_jitter_timing_interface.h"
@@ -92,11 +91,9 @@
 
   // Methods used by video jitter timing.
   void OnCompleteFrame(const VideoJitterTimingInterface::FrameInfo& info);
-  void OnDecodableTemporalUnit(uint32_t rtp_timestamp,
-                               DataSize superframe_size,
-                               Timestamp max_receive_time,
-                               bool was_retransmitted);
-  void UpdateRtt(TimeDelta rtt);
+  void OnDecodableTemporalUnit(
+      const VideoJitterTimingInterface::TemporalUnitInfo& info);
+  void OnNetworkUpdate(const VideoJitterTimingInterface::NetworkInfo& info);
 
   // Increases or decreases the current delay to get closer to the target delay.
   // Given the actual decode time and the render time for a frame, this function
diff --git a/modules/video_coding/timing/timing_unittest.cc b/modules/video_coding/timing/timing_unittest.cc
index 8ec7336..1706dbe 100644
--- a/modules/video_coding/timing/timing_unittest.cc
+++ b/modules/video_coding/timing/timing_unittest.cc
@@ -354,9 +354,10 @@
   SimulatedClock clock(Timestamp::Millis(0));
   VCMTiming timing(&clock, field_trials, kRenderDelay);
 
-  timing.OnDecodableTemporalUnit(/*rtp_timestamp=*/0, DataSize::Bytes(789),
-                                 clock.CurrentTime(),
-                                 /*was_retransmitted=*/false);
+  timing.OnDecodableTemporalUnit({.rtp_timestamp = 0,
+                                  .size = DataSize::Bytes(789),
+                                  .time = clock.CurrentTime(),
+                                  .was_retransmitted = false});
 
   EXPECT_GT(timing.GetTimings().minimum_delay, TimeDelta::Zero());
 }
@@ -367,9 +368,10 @@
   SimulatedClock clock(Timestamp::Millis(0));
   VCMTiming timing(&clock, field_trials, kRenderDelay);
 
-  timing.OnDecodableTemporalUnit(/*rtp_timestamp=*/0, DataSize::Bytes(789),
-                                 clock.CurrentTime(),
-                                 /*was_retransmitted=*/true);
+  timing.OnDecodableTemporalUnit({.rtp_timestamp = 0,
+                                  .size = DataSize::Bytes(789),
+                                  .time = clock.CurrentTime(),
+                                  .was_retransmitted = true});
 
   EXPECT_EQ(timing.GetTimings().minimum_delay, TimeDelta::Zero());
 }
@@ -380,9 +382,10 @@
   VCMTiming timing(&clock, field_trials, kRenderDelay,
                    /*video_jitter_timing=*/nullptr);
 
-  timing.OnDecodableTemporalUnit(/*rtp_timestamp=*/0, DataSize::Bytes(789),
-                                 clock.CurrentTime(),
-                                 /*was_retransmitted=*/false);
+  timing.OnDecodableTemporalUnit({.rtp_timestamp = 0,
+                                  .size = DataSize::Bytes(789),
+                                  .time = clock.CurrentTime(),
+                                  .was_retransmitted = false});
 
   EXPECT_GT(timing.GetTimings().minimum_delay, TimeDelta::Zero());
 }
@@ -398,9 +401,10 @@
 
   EXPECT_CALL(*mock_ptr, OnDecodableTemporalUnit(_))
       .WillOnce(Return(TimeDelta::Millis(123)));
-  timing.OnDecodableTemporalUnit(/*rtp_timestamp=*/0, DataSize::Bytes(789),
-                                 clock.CurrentTime(),
-                                 /*was_retransmitted=*/false);
+  timing.OnDecodableTemporalUnit({.rtp_timestamp = 0,
+                                  .size = DataSize::Bytes(789),
+                                  .time = clock.CurrentTime(),
+                                  .was_retransmitted = false});
   EXPECT_EQ(timing.GetTimings().minimum_delay, TimeDelta::Millis(123));
 }
 
@@ -596,7 +600,7 @@
                    std::move(mock_jitter_timing));
 
   EXPECT_CALL(*mock_ptr, OnNetworkUpdate(FieldsAre(TimeDelta::Millis(101))));
-  timing.UpdateRtt(TimeDelta::Millis(101));
+  timing.OnNetworkUpdate({.rtt = TimeDelta::Millis(101)});
 
   EXPECT_CALL(*mock_ptr, Reset());
   timing.Reset();
diff --git a/video/video_stream_buffer_controller.cc b/video/video_stream_buffer_controller.cc
index ac11225..efee05d 100644
--- a/video/video_stream_buffer_controller.cc
+++ b/video/video_stream_buffer_controller.cc
@@ -176,7 +176,7 @@
 
 void VideoStreamBufferController::UpdateRtt(int64_t max_rtt_ms) {
   RTC_DCHECK_RUN_ON(&worker_sequence_checker_);
-  timing_->UpdateRtt(TimeDelta::Millis(max_rtt_ms));
+  timing_->OnNetworkUpdate({.rtt = TimeDelta::Millis(max_rtt_ms)});
 }
 
 void VideoStreamBufferController::SetMaxWaits(TimeDelta max_wait_for_keyframe,
@@ -241,9 +241,11 @@
     superframe_size += DataSize::Bytes(frame->size());
   }
 
-  timing_->OnDecodableTemporalUnit(first_frame.RtpTimestamp(), superframe_size,
-                                   max_receive_time,
-                                   superframe_delayed_by_retransmission);
+  timing_->OnDecodableTemporalUnit(
+      {.rtp_timestamp = first_frame.RtpTimestamp(),
+       .size = superframe_size,
+       .time = max_receive_time,
+       .was_retransmitted = superframe_delayed_by_retransmission});
   if (!superframe_delayed_by_retransmission) {
     timing_->UpdateCurrentDelay(render_time, now);
   }