Moved pacer and congestion thread from call.
Moving the module process thread responsible for running the pacer
and the send side congestion controller to RtpTransportControllerSend
since it already owns the pacer and the congestion controller. They
are also moved to a common thread rather than using two separate
threads.
As part of the move, the remote bitrate estimator has been moved to the
common process thread in the Call class. Previously it was run on the
removed pacer thread.
Bug: webrtc:8415
Change-Id: I4322eef30d8b97b9611f33af7e560703b710d232
Reviewed-on: https://webrtc-review.googlesource.com/55700
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22166}
diff --git a/call/rtp_transport_controller_send.h b/call/rtp_transport_controller_send.h
index ec71614..371f626 100644
--- a/call/rtp_transport_controller_send.h
+++ b/call/rtp_transport_controller_send.h
@@ -12,6 +12,7 @@
#define CALL_RTP_TRANSPORT_CONTROLLER_SEND_H_
#include <map>
+#include <memory>
#include <string>
#include "call/rtp_bitrate_configurator.h"
@@ -19,6 +20,7 @@
#include "common_types.h" // NOLINT(build/include)
#include "modules/congestion_controller/include/send_side_congestion_controller.h"
#include "modules/pacing/packet_router.h"
+#include "modules/utility/include/process_thread.h"
#include "rtc_base/constructormagic.h"
#include "rtc_base/networkroute.h"
@@ -46,10 +48,8 @@
int max_padding_bitrate_bps) override;
void SetKeepAliveConfig(const RtpKeepAliveConfig& config);
- Module* GetPacerModule() override;
void SetPacingFactor(float pacing_factor) override;
void SetQueueTimeLimit(int limit_ms) override;
- Module* GetModule() override;
CallStatsObserver* GetCallStatsObserver() override;
void RegisterPacketFeedbackObserver(
PacketFeedbackObserver* observer) override;
@@ -81,6 +81,7 @@
RtpKeepAliveConfig keepalive_;
RtpBitrateConfigurator bitrate_configurator_;
std::map<std::string, rtc::NetworkRoute> network_routes_;
+ const std::unique_ptr<ProcessThread> process_thread_;
RTC_DISALLOW_COPY_AND_ASSIGN(RtpTransportControllerSend);
};