Stop using ScopedFakeClock in dtls_srtp_transport_integrationtest

Bug: webrtc:42223992
Change-Id: I6813c3324e5b08b8a99c4fa9ffc1c5a66a6a6964
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/462540
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47369}
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index a603dee..4ca50a1 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -2362,6 +2362,7 @@
       "../test:test_support",
       "../test:wait_until",
       "../test/pc/sctp:fake_sctp_transport",
+      "../test/time_controller",
       "//third_party/abseil-cpp/absl/algorithm:container",
       "//third_party/abseil-cpp/absl/functional:any_invocable",
       "//third_party/abseil-cpp/absl/memory",
diff --git a/pc/dtls_srtp_transport_integrationtest.cc b/pc/dtls_srtp_transport_integrationtest.cc
index 4c3144a..d71ad30 100644
--- a/pc/dtls_srtp_transport_integrationtest.cc
+++ b/pc/dtls_srtp_transport_integrationtest.cc
@@ -22,6 +22,7 @@
 #include "api/scoped_refptr.h"
 #include "api/test/rtc_error_matchers.h"
 #include "api/units/time_delta.h"
+#include "api/units/timestamp.h"
 #include "call/rtp_demuxer.h"
 #include "media/base/fake_rtp.h"
 #include "p2p/base/transport_description.h"
@@ -35,7 +36,6 @@
 #include "rtc_base/async_packet_socket.h"
 #include "rtc_base/buffer.h"
 #include "rtc_base/copy_on_write_buffer.h"
-#include "rtc_base/fake_clock.h"
 #include "rtc_base/rtc_certificate.h"
 #include "rtc_base/ssl_fingerprint.h"
 #include "rtc_base/ssl_identity.h"
@@ -43,7 +43,7 @@
 #include "test/create_test_environment.h"
 #include "test/gmock.h"
 #include "test/gtest.h"
-#include "test/run_loop.h"
+#include "test/time_controller/simulated_time_controller.h"
 #include "test/wait_until.h"
 
 namespace webrtc {
@@ -61,7 +61,9 @@
 class DtlsSrtpTransportIntegrationTest : public ::testing::Test {
  protected:
   DtlsSrtpTransportIntegrationTest()
-      : client_ice_transport_(MakeIceTransport(ICEROLE_CONTROLLING)),
+      : time_controller_(Timestamp::Millis(0)),
+        env_(CreateTestEnvironment({.time = &time_controller_})),
+        client_ice_transport_(MakeIceTransport(ICEROLE_CONTROLLING)),
         server_ice_transport_(MakeIceTransport(ICEROLE_CONTROLLED)),
         client_dtls_transport_(MakeDtlsTransport(client_ice_transport_.get())),
         server_dtls_transport_(MakeDtlsTransport(server_ice_transport_.get())),
@@ -130,15 +132,15 @@
     client_ice_transport_->SetDestination(server_ice_transport_.get());
 
     // Wait for the DTLS connection to be up.
-    EXPECT_THAT(
-        WaitUntil(
-            [&] {
-              return client_dtls_transport_->writable() &&
-                     server_dtls_transport_->writable();
-            },
-            IsTrue(),
-            {.timeout = TimeDelta::Millis(kTimeout), .clock = &fake_clock_}),
-        IsRtcOk());
+    EXPECT_THAT(WaitUntil(
+                    [&] {
+                      return client_dtls_transport_->writable() &&
+                             server_dtls_transport_->writable();
+                    },
+                    IsTrue(),
+                    {.timeout = TimeDelta::Millis(kTimeout),
+                     .clock = &time_controller_}),
+                IsRtcOk());
     EXPECT_EQ(client_dtls_transport_->dtls_state(),
               DtlsTransportState::kConnected);
     EXPECT_EQ(server_dtls_transport_->dtls_state(),
@@ -189,9 +191,10 @@
     EXPECT_TRUE(
         srtp_transport_.SendRtpPacket(&packet, options, PF_SRTP_BYPASS));
     EXPECT_THAT(
-        WaitUntil(
-            [&] { return dtls_srtp_transport_observer_.rtp_count(); }, Eq(1),
-            {.timeout = TimeDelta::Millis(kTimeout), .clock = &fake_clock_}),
+        WaitUntil([&] { return dtls_srtp_transport_observer_.rtp_count(); },
+                  Eq(1),
+                  {.timeout = TimeDelta::Millis(kTimeout),
+                   .clock = &time_controller_}),
         IsRtcOk());
     EXPECT_EQ(1, dtls_srtp_transport_observer_.rtp_count());
     ASSERT_TRUE(dtls_srtp_transport_observer_.last_recv_rtp_packet().data());
@@ -208,9 +211,9 @@
     EXPECT_TRUE(
         dtls_srtp_transport_.SendRtpPacket(&packet, options, PF_SRTP_BYPASS));
     EXPECT_THAT(
-        WaitUntil(
-            [&] { return srtp_transport_observer_.rtp_count(); }, Eq(1),
-            {.timeout = TimeDelta::Millis(kTimeout), .clock = &fake_clock_}),
+        WaitUntil([&] { return srtp_transport_observer_.rtp_count(); }, Eq(1),
+                  {.timeout = TimeDelta::Millis(kTimeout),
+                   .clock = &time_controller_}),
         IsRtcOk());
     EXPECT_EQ(1, srtp_transport_observer_.rtp_count());
     ASSERT_TRUE(srtp_transport_observer_.last_recv_rtp_packet().data());
@@ -220,9 +223,8 @@
   }
 
  private:
-  test::RunLoop main_thread_;
-  ScopedFakeClock fake_clock_;
-  const Environment env_ = CreateTestEnvironment();
+  GlobalSimulatedTimeController time_controller_;
+  const Environment env_;
 
   std::unique_ptr<FakeIceTransportInternal> client_ice_transport_;
   std::unique_ptr<FakeIceTransportInternal> server_ice_transport_;