Injecting Clock into audio streams.
Bug: webrtc:10365
Change-Id: Ia47fd806b84d94fd90b734c87c5e338e36fb695a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125191
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26969}
diff --git a/audio/channel_send.cc b/audio/channel_send.cc
index 2db4ff7..813795b 100644
--- a/audio/channel_send.cc
+++ b/audio/channel_send.cc
@@ -41,6 +41,7 @@
#include "rtc_base/task_queue.h"
#include "rtc_base/thread_checker.h"
#include "rtc_base/time_utils.h"
+#include "system_wrappers/include/clock.h"
#include "system_wrappers/include/field_trial.h"
#include "system_wrappers/include/metrics.h"
@@ -85,7 +86,8 @@
// declaration.
friend class VoERtcpObserver;
- ChannelSend(rtc::TaskQueue* encoder_queue,
+ ChannelSend(Clock* clock,
+ rtc::TaskQueue* encoder_queue,
ProcessThread* module_process_thread,
MediaTransportInterface* media_transport,
OverheadObserver* overhead_observer,
@@ -606,7 +608,8 @@
return 0;
}
-ChannelSend::ChannelSend(rtc::TaskQueue* encoder_queue,
+ChannelSend::ChannelSend(Clock* clock,
+ rtc::TaskQueue* encoder_queue,
ProcessThread* module_process_thread,
MediaTransportInterface* media_transport,
OverheadObserver* overhead_observer,
@@ -628,8 +631,8 @@
feedback_observer_proxy_(new TransportFeedbackProxy()),
seq_num_allocator_proxy_(new TransportSequenceNumberProxy()),
rtp_packet_sender_proxy_(new RtpPacketSenderProxy()),
- retransmission_rate_limiter_(new RateLimiter(Clock::GetRealTimeClock(),
- kMaxRetransmissionWindowMs)),
+ retransmission_rate_limiter_(
+ new RateLimiter(clock, kMaxRetransmissionWindowMs)),
use_twcc_plr_for_ana_(
webrtc::field_trial::FindFullName("UseTwccPlrForAna") == "Enabled"),
encoder_queue_(encoder_queue),
@@ -659,6 +662,7 @@
configuration.transport_feedback_callback = feedback_observer_proxy_.get();
}
+ configuration.clock = clock;
configuration.audio = true;
configuration.outgoing_transport = rtp_transport;
@@ -1217,6 +1221,7 @@
} // namespace
std::unique_ptr<ChannelSendInterface> CreateChannelSend(
+ Clock* clock,
rtc::TaskQueue* encoder_queue,
ProcessThread* module_process_thread,
MediaTransportInterface* media_transport,
@@ -1229,9 +1234,10 @@
bool extmap_allow_mixed,
int rtcp_report_interval_ms) {
return absl::make_unique<ChannelSend>(
- encoder_queue, module_process_thread, media_transport, overhead_observer,
- rtp_transport, rtcp_rtt_stats, rtc_event_log, frame_encryptor,
- crypto_options, extmap_allow_mixed, rtcp_report_interval_ms);
+ clock, encoder_queue, module_process_thread, media_transport,
+ overhead_observer, rtp_transport, rtcp_rtt_stats, rtc_event_log,
+ frame_encryptor, crypto_options, extmap_allow_mixed,
+ rtcp_report_interval_ms);
}
} // namespace voe