Propagate Environment to audio RtpRtcp modules

Bug: webrtc:362762208
Change-Id: I5be383dd709958cbefb06fe489c96e5ba6891bef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361143
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42904}
diff --git a/audio/channel_receive.cc b/audio/channel_receive.cc
index 64b41ab..e403cfa 100644
--- a/audio/channel_receive.cc
+++ b/audio/channel_receive.cc
@@ -563,12 +563,10 @@
 
   rtp_receive_statistics_->EnableRetransmitDetection(remote_ssrc_, true);
   RtpRtcpInterface::Configuration configuration;
-  configuration.clock = &env_.clock();
   configuration.audio = true;
   configuration.receiver_only = true;
   configuration.outgoing_transport = rtcp_send_transport;
   configuration.receive_statistics = rtp_receive_statistics_.get();
-  configuration.event_log = &env_.event_log();
   configuration.local_media_ssrc = local_ssrc;
   configuration.rtcp_packet_type_counter_observer = this;
   configuration.non_sender_rtt_measurement = enable_non_sender_rtt;
@@ -576,7 +574,7 @@
   if (frame_transformer)
     InitFrameTransformerDelegate(std::move(frame_transformer));
 
-  rtp_rtcp_ = ModuleRtpRtcpImpl2::Create(configuration);
+  rtp_rtcp_ = std::make_unique<ModuleRtpRtcpImpl2>(env_, configuration);
   rtp_rtcp_->SetRemoteSSRC(remote_ssrc_);
 
   // Ensure that RTCP is enabled for the created channel.
diff --git a/audio/channel_send.cc b/audio/channel_send.cc
index 888dfaf..18081e3 100644
--- a/audio/channel_send.cc
+++ b/audio/channel_send.cc
@@ -488,13 +488,10 @@
   configuration.report_block_data_observer = this;
   configuration.network_link_rtcp_observer =
       transport_controller->GetRtcpObserver();
-  configuration.clock = &env_.clock();
   configuration.audio = true;
   configuration.outgoing_transport = rtp_transport;
 
   configuration.paced_sender = rtp_packet_pacer_proxy_.get();
-
-  configuration.event_log = &env_.event_log();
   configuration.rtt_stats = rtcp_rtt_stats;
   if (env_.field_trials().IsDisabled("WebRTC-DisableRtxRateLimiter")) {
     configuration.retransmission_rate_limiter =
@@ -503,15 +500,13 @@
   configuration.extmap_allow_mixed = extmap_allow_mixed;
   configuration.rtcp_report_interval_ms = rtcp_report_interval_ms;
   configuration.rtcp_packet_type_counter_observer = this;
-
   configuration.local_media_ssrc = ssrc;
-  configuration.field_trials = &env_.field_trials();
 
-  rtp_rtcp_ = ModuleRtpRtcpImpl2::Create(configuration);
+  rtp_rtcp_ = std::make_unique<ModuleRtpRtcpImpl2>(env_, configuration);
   rtp_rtcp_->SetSendingMediaStatus(false);
 
-  rtp_sender_audio_ = std::make_unique<RTPSenderAudio>(configuration.clock,
-                                                       rtp_rtcp_->RtpSender());
+  rtp_sender_audio_ =
+      std::make_unique<RTPSenderAudio>(&env_.clock(), rtp_rtcp_->RtpSender());
 
   // Ensure that RTCP is enabled by default for the created channel.
   rtp_rtcp_->SetRTCPStatus(RtcpMode::kCompound);
diff --git a/audio/voip/audio_channel.cc b/audio/voip/audio_channel.cc
index 4d72bed..7416bf5 100644
--- a/audio/voip/audio_channel.cc
+++ b/audio/voip/audio_channel.cc
@@ -39,14 +39,13 @@
   receive_statistics_ = ReceiveStatistics::Create(&env.clock());
 
   RtpRtcpInterface::Configuration rtp_config;
-  rtp_config.clock = &env.clock();
   rtp_config.audio = true;
   rtp_config.receive_statistics = receive_statistics_.get();
   rtp_config.rtcp_report_interval_ms = kRtcpReportIntervalMs;
   rtp_config.outgoing_transport = transport;
   rtp_config.local_media_ssrc = local_ssrc;
 
-  rtp_rtcp_ = ModuleRtpRtcpImpl2::Create(rtp_config);
+  rtp_rtcp_ = std::make_unique<ModuleRtpRtcpImpl2>(env, rtp_config);
 
   rtp_rtcp_->SetSendingMediaStatus(false);
   rtp_rtcp_->SetRTCPStatus(RtcpMode::kCompound);
diff --git a/audio/voip/test/audio_egress_unittest.cc b/audio/voip/test/audio_egress_unittest.cc
index 166938a..a5b098e 100644
--- a/audio/voip/test/audio_egress_unittest.cc
+++ b/audio/voip/test/audio_egress_unittest.cc
@@ -34,16 +34,15 @@
 using ::testing::NiceMock;
 using ::testing::Unused;
 
-std::unique_ptr<ModuleRtpRtcpImpl2> CreateRtpStack(Clock* clock,
+std::unique_ptr<ModuleRtpRtcpImpl2> CreateRtpStack(const Environment& env,
                                                    Transport* transport,
                                                    uint32_t remote_ssrc) {
   RtpRtcpInterface::Configuration rtp_config;
-  rtp_config.clock = clock;
   rtp_config.audio = true;
   rtp_config.rtcp_report_interval_ms = 5000;
   rtp_config.outgoing_transport = transport;
   rtp_config.local_media_ssrc = remote_ssrc;
-  auto rtp_rtcp = ModuleRtpRtcpImpl2::Create(rtp_config);
+  auto rtp_rtcp = std::make_unique<ModuleRtpRtcpImpl2>(env, rtp_config);
   rtp_rtcp->SetSendingMediaStatus(false);
   rtp_rtcp->SetRTCPStatus(RtcpMode::kCompound);
   return rtp_rtcp;
@@ -68,8 +67,7 @@
   // Prepare test on audio egress by using PCMu codec with specific
   // sequence number and its status to be running.
   void SetUp() override {
-    rtp_rtcp_ =
-        CreateRtpStack(time_controller_.GetClock(), &transport_, kRemoteSsrc);
+    rtp_rtcp_ = CreateRtpStack(env_, &transport_, kRemoteSsrc);
     egress_ = std::make_unique<AudioEgress>(env_, rtp_rtcp_.get());
     constexpr int kPcmuPayload = 0;
     egress_->SetEncoder(kPcmuPayload, kPcmuFormat,
diff --git a/audio/voip/test/audio_ingress_unittest.cc b/audio/voip/test/audio_ingress_unittest.cc
index d4a9b7f..5dc1f62 100644
--- a/audio/voip/test/audio_ingress_unittest.cc
+++ b/audio/voip/test/audio_ingress_unittest.cc
@@ -46,13 +46,12 @@
         ReceiveStatistics::Create(time_controller_.GetClock());
 
     RtpRtcpInterface::Configuration rtp_config;
-    rtp_config.clock = time_controller_.GetClock();
     rtp_config.audio = true;
     rtp_config.receive_statistics = receive_statistics_.get();
     rtp_config.rtcp_report_interval_ms = 5000;
     rtp_config.outgoing_transport = &transport_;
     rtp_config.local_media_ssrc = 0xdeadc0de;
-    rtp_rtcp_ = ModuleRtpRtcpImpl2::Create(rtp_config);
+    rtp_rtcp_ = std::make_unique<ModuleRtpRtcpImpl2>(env_, rtp_config);
 
     rtp_rtcp_->SetSendingMediaStatus(false);
     rtp_rtcp_->SetRTCPStatus(RtcpMode::kCompound);