Removing access to pacer in rtp controller.
Bug: webrt:8415 Change-Id: I1f318c41c3913acb573affb4520e128bef7efa02 Reviewed-on: https://webrtc-review.googlesource.com/53900 Commit-Queue: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Stefan Holmer <stefan@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22049}
This commit is contained in:

committed by
Commit Bot

parent
08ff1733fb
commit
4c1ffb86c0
@ -19,7 +19,6 @@
|
|||||||
#include "audio/conversion.h"
|
#include "audio/conversion.h"
|
||||||
#include "call/rtp_transport_controller_send_interface.h"
|
#include "call/rtp_transport_controller_send_interface.h"
|
||||||
#include "modules/audio_coding/codecs/cng/audio_encoder_cng.h"
|
#include "modules/audio_coding/codecs/cng/audio_encoder_cng.h"
|
||||||
#include "modules/pacing/paced_sender.h"
|
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
#include "rtc_base/event.h"
|
#include "rtc_base/event.h"
|
||||||
#include "rtc_base/function_view.h"
|
#include "rtc_base/function_view.h"
|
||||||
|
@ -464,7 +464,8 @@ Call::Call(const Call::Config& config,
|
|||||||
// We have to attach the pacer to the pacer thread before starting the
|
// We have to attach the pacer to the pacer thread before starting the
|
||||||
// module process thread to avoid a race accessing the process thread
|
// module process thread to avoid a race accessing the process thread
|
||||||
// both from the process thread and the pacer thread.
|
// both from the process thread and the pacer thread.
|
||||||
pacer_thread_->RegisterModule(transport_send_->pacer(), RTC_FROM_HERE);
|
pacer_thread_->RegisterModule(transport_send_->GetPacerModule(),
|
||||||
|
RTC_FROM_HERE);
|
||||||
pacer_thread_->RegisterModule(
|
pacer_thread_->RegisterModule(
|
||||||
receive_side_cc_.GetRemoteBitrateEstimator(true), RTC_FROM_HERE);
|
receive_side_cc_.GetRemoteBitrateEstimator(true), RTC_FROM_HERE);
|
||||||
pacer_thread_->Start();
|
pacer_thread_->Start();
|
||||||
@ -491,7 +492,7 @@ Call::~Call() {
|
|||||||
// the pacer thread is stopped.
|
// the pacer thread is stopped.
|
||||||
module_process_thread_->DeRegisterModule(transport_send_->GetModule());
|
module_process_thread_->DeRegisterModule(transport_send_->GetModule());
|
||||||
pacer_thread_->Stop();
|
pacer_thread_->Stop();
|
||||||
pacer_thread_->DeRegisterModule(transport_send_->pacer());
|
pacer_thread_->DeRegisterModule(transport_send_->GetPacerModule());
|
||||||
pacer_thread_->DeRegisterModule(
|
pacer_thread_->DeRegisterModule(
|
||||||
receive_side_cc_.GetRemoteBitrateEstimator(true));
|
receive_side_cc_.GetRemoteBitrateEstimator(true));
|
||||||
module_process_thread_->DeRegisterModule(&receive_side_cc_);
|
module_process_thread_->DeRegisterModule(&receive_side_cc_);
|
||||||
|
@ -37,8 +37,6 @@ class FakeRtpTransportControllerSend
|
|||||||
return send_side_cc_;
|
return send_side_cc_;
|
||||||
}
|
}
|
||||||
|
|
||||||
PacedSender* pacer() override { return paced_sender_; }
|
|
||||||
|
|
||||||
RtpPacketSender* packet_sender() override { return paced_sender_; }
|
RtpPacketSender* packet_sender() override { return paced_sender_; }
|
||||||
|
|
||||||
const RtpKeepAliveConfig& keepalive_config() const override {
|
const RtpKeepAliveConfig& keepalive_config() const override {
|
||||||
@ -52,6 +50,13 @@ class FakeRtpTransportControllerSend
|
|||||||
keepalive_ = keepalive_config;
|
keepalive_ = keepalive_config;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Module* GetPacerModule() override { return paced_sender_; }
|
||||||
|
void SetPacingFactor(float pacing_factor) override {
|
||||||
|
paced_sender_->SetPacingFactor(pacing_factor);
|
||||||
|
}
|
||||||
|
void SetQueueTimeLimit(int limit_ms) override {
|
||||||
|
paced_sender_->SetQueueTimeLimit(limit_ms);
|
||||||
|
}
|
||||||
Module* GetModule() override { return send_side_cc_; }
|
Module* GetModule() override { return send_side_cc_; }
|
||||||
CallStatsObserver* GetCallStatsObserver() override { return send_side_cc_; }
|
CallStatsObserver* GetCallStatsObserver() override { return send_side_cc_; }
|
||||||
void RegisterPacketFeedbackObserver(
|
void RegisterPacketFeedbackObserver(
|
||||||
|
@ -22,10 +22,6 @@ PacketRouter* RtpTransportControllerSend::packet_router() {
|
|||||||
return &packet_router_;
|
return &packet_router_;
|
||||||
}
|
}
|
||||||
|
|
||||||
PacedSender* RtpTransportControllerSend::pacer() {
|
|
||||||
return &pacer_;
|
|
||||||
}
|
|
||||||
|
|
||||||
TransportFeedbackObserver*
|
TransportFeedbackObserver*
|
||||||
RtpTransportControllerSend::transport_feedback_observer() {
|
RtpTransportControllerSend::transport_feedback_observer() {
|
||||||
return &send_side_cc_;
|
return &send_side_cc_;
|
||||||
@ -49,6 +45,15 @@ void RtpTransportControllerSend::SetKeepAliveConfig(
|
|||||||
const RtpKeepAliveConfig& config) {
|
const RtpKeepAliveConfig& config) {
|
||||||
keepalive_ = config;
|
keepalive_ = config;
|
||||||
}
|
}
|
||||||
|
Module* RtpTransportControllerSend::GetPacerModule() {
|
||||||
|
return &pacer_;
|
||||||
|
}
|
||||||
|
void RtpTransportControllerSend::SetPacingFactor(float pacing_factor) {
|
||||||
|
pacer_.SetPacingFactor(pacing_factor);
|
||||||
|
}
|
||||||
|
void RtpTransportControllerSend::SetQueueTimeLimit(int limit_ms) {
|
||||||
|
pacer_.SetQueueTimeLimit(limit_ms);
|
||||||
|
}
|
||||||
Module* RtpTransportControllerSend::GetModule() {
|
Module* RtpTransportControllerSend::GetModule() {
|
||||||
return &send_side_cc_;
|
return &send_side_cc_;
|
||||||
}
|
}
|
||||||
|
@ -30,11 +30,7 @@ class RtpTransportControllerSend : public RtpTransportControllerSendInterface {
|
|||||||
|
|
||||||
// Implements RtpTransportControllerSendInterface
|
// Implements RtpTransportControllerSendInterface
|
||||||
PacketRouter* packet_router() override;
|
PacketRouter* packet_router() override;
|
||||||
// TODO(holmer): Temporarily exposed, should be removed and the
|
|
||||||
// appropriate methods should be added to this class instead.
|
|
||||||
// In addition the PacedSender should be driven by this class, either
|
|
||||||
// by owning the process thread, or later by using a task queue.
|
|
||||||
PacedSender* pacer() override;
|
|
||||||
TransportFeedbackObserver* transport_feedback_observer() override;
|
TransportFeedbackObserver* transport_feedback_observer() override;
|
||||||
RtpPacketSender* packet_sender() override;
|
RtpPacketSender* packet_sender() override;
|
||||||
const RtpKeepAliveConfig& keepalive_config() const override;
|
const RtpKeepAliveConfig& keepalive_config() const override;
|
||||||
@ -43,6 +39,9 @@ class RtpTransportControllerSend : public RtpTransportControllerSendInterface {
|
|||||||
int max_padding_bitrate_bps) override;
|
int max_padding_bitrate_bps) override;
|
||||||
|
|
||||||
void SetKeepAliveConfig(const RtpKeepAliveConfig& config);
|
void SetKeepAliveConfig(const RtpKeepAliveConfig& config);
|
||||||
|
Module* GetPacerModule() override;
|
||||||
|
void SetPacingFactor(float pacing_factor) override;
|
||||||
|
void SetQueueTimeLimit(int limit_ms) override;
|
||||||
Module* GetModule() override;
|
Module* GetModule() override;
|
||||||
CallStatsObserver* GetCallStatsObserver() override;
|
CallStatsObserver* GetCallStatsObserver() override;
|
||||||
void RegisterPacketFeedbackObserver(
|
void RegisterPacketFeedbackObserver(
|
||||||
|
@ -58,7 +58,6 @@ class RtpTransportControllerSendInterface {
|
|||||||
public:
|
public:
|
||||||
virtual ~RtpTransportControllerSendInterface() {}
|
virtual ~RtpTransportControllerSendInterface() {}
|
||||||
virtual PacketRouter* packet_router() = 0;
|
virtual PacketRouter* packet_router() = 0;
|
||||||
virtual PacedSender* pacer() = 0;
|
|
||||||
virtual TransportFeedbackObserver* transport_feedback_observer() = 0;
|
virtual TransportFeedbackObserver* transport_feedback_observer() = 0;
|
||||||
|
|
||||||
virtual RtpPacketSender* packet_sender() = 0;
|
virtual RtpPacketSender* packet_sender() = 0;
|
||||||
@ -76,6 +75,10 @@ class RtpTransportControllerSendInterface {
|
|||||||
virtual void SetAllocatedSendBitrateLimits(int min_send_bitrate_bps,
|
virtual void SetAllocatedSendBitrateLimits(int min_send_bitrate_bps,
|
||||||
int max_padding_bitrate_bps) = 0;
|
int max_padding_bitrate_bps) = 0;
|
||||||
|
|
||||||
|
virtual Module* GetPacerModule() = 0;
|
||||||
|
virtual void SetPacingFactor(float pacing_factor) = 0;
|
||||||
|
virtual void SetQueueTimeLimit(int limit_ms) = 0;
|
||||||
|
|
||||||
virtual Module* GetModule() = 0;
|
virtual Module* GetModule() = 0;
|
||||||
virtual CallStatsObserver* GetCallStatsObserver() = 0;
|
virtual CallStatsObserver* GetCallStatsObserver() = 0;
|
||||||
|
|
||||||
|
@ -838,9 +838,9 @@ VideoSendStreamImpl::VideoSendStreamImpl(
|
|||||||
}
|
}
|
||||||
if (alr_settings) {
|
if (alr_settings) {
|
||||||
transport->EnablePeriodicAlrProbing(true);
|
transport->EnablePeriodicAlrProbing(true);
|
||||||
transport->pacer()->SetPacingFactor(alr_settings->pacing_factor);
|
transport->SetPacingFactor(alr_settings->pacing_factor);
|
||||||
configured_pacing_factor_ = alr_settings->pacing_factor;
|
configured_pacing_factor_ = alr_settings->pacing_factor;
|
||||||
transport->pacer()->SetQueueTimeLimit(alr_settings->max_paced_queue_time);
|
transport->SetQueueTimeLimit(alr_settings->max_paced_queue_time);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
#include "api/video/i420_buffer.h"
|
#include "api/video/i420_buffer.h"
|
||||||
#include "common_video/include/video_bitrate_allocator.h"
|
#include "common_video/include/video_bitrate_allocator.h"
|
||||||
#include "common_video/include/video_frame.h"
|
#include "common_video/include/video_frame.h"
|
||||||
#include "modules/pacing/paced_sender.h"
|
|
||||||
#include "modules/video_coding/include/video_codec_initializer.h"
|
#include "modules/video_coding/include/video_codec_initializer.h"
|
||||||
#include "modules/video_coding/include/video_coding.h"
|
#include "modules/video_coding/include/video_coding.h"
|
||||||
#include "modules/video_coding/include/video_coding_defines.h"
|
#include "modules/video_coding/include/video_coding_defines.h"
|
||||||
|
Reference in New Issue
Block a user