| Index: webrtc/modules/pacing/paced_sender.cc
|
| diff --git a/webrtc/modules/pacing/paced_sender.cc b/webrtc/modules/pacing/paced_sender.cc
|
| index 96a6a8860e20a1bb463772c8b386603db49e2b80..a57ec05149a6c5d732a7f6980f07cef66112e376 100644
|
| --- a/webrtc/modules/pacing/paced_sender.cc
|
| +++ b/webrtc/modules/pacing/paced_sender.cc
|
| @@ -23,7 +23,6 @@
|
| #include "webrtc/modules/pacing/bitrate_prober.h"
|
| #include "webrtc/modules/utility/include/process_thread.h"
|
| #include "webrtc/system_wrappers/include/clock.h"
|
| -#include "webrtc/system_wrappers/include/critical_section_wrapper.h"
|
| #include "webrtc/system_wrappers/include/field_trial.h"
|
|
|
| namespace {
|
| @@ -253,7 +252,6 @@ PacedSender::PacedSender(const Clock* clock,
|
| : clock_(clock),
|
| packet_sender_(packet_sender),
|
| alr_detector_(new AlrDetector()),
|
| - critsect_(CriticalSectionWrapper::CreateCriticalSection()),
|
| paused_(false),
|
| media_budget_(new paced_sender::IntervalBudget(0)),
|
| padding_budget_(new paced_sender::IntervalBudget(0)),
|
| @@ -272,14 +270,14 @@ PacedSender::PacedSender(const Clock* clock,
|
| PacedSender::~PacedSender() {}
|
|
|
| void PacedSender::CreateProbeCluster(int bitrate_bps) {
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
| prober_->CreateProbeCluster(bitrate_bps, clock_->TimeInMilliseconds());
|
| }
|
|
|
| void PacedSender::Pause() {
|
| LOG(LS_INFO) << "PacedSender paused.";
|
| {
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
| paused_ = true;
|
| }
|
| // Tell the process thread to call our TimeUntilNextProcess() method to get
|
| @@ -291,7 +289,7 @@ void PacedSender::Pause() {
|
| void PacedSender::Resume() {
|
| LOG(LS_INFO) << "PacedSender resumed.";
|
| {
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
| paused_ = false;
|
| }
|
| // Tell the process thread to call our TimeUntilNextProcess() method to
|
| @@ -302,14 +300,14 @@ void PacedSender::Resume() {
|
|
|
| void PacedSender::SetProbingEnabled(bool enabled) {
|
| RTC_CHECK_EQ(0, packet_counter_);
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
| prober_->SetEnabled(enabled);
|
| }
|
|
|
| void PacedSender::SetEstimatedBitrate(uint32_t bitrate_bps) {
|
| if (bitrate_bps == 0)
|
| LOG(LS_ERROR) << "PacedSender is not designed to handle 0 bitrate.";
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
| estimated_bitrate_bps_ = bitrate_bps;
|
| padding_budget_->set_target_rate_kbps(
|
| std::min(estimated_bitrate_bps_ / 1000, max_padding_bitrate_kbps_));
|
| @@ -321,7 +319,7 @@ void PacedSender::SetEstimatedBitrate(uint32_t bitrate_bps) {
|
|
|
| void PacedSender::SetSendBitrateLimits(int min_send_bitrate_bps,
|
| int padding_bitrate) {
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
| min_send_bitrate_kbps_ = min_send_bitrate_bps / 1000;
|
| pacing_bitrate_kbps_ =
|
| std::max(min_send_bitrate_kbps_, estimated_bitrate_bps_ / 1000) *
|
| @@ -337,7 +335,7 @@ void PacedSender::InsertPacket(RtpPacketSender::Priority priority,
|
| int64_t capture_time_ms,
|
| size_t bytes,
|
| bool retransmission) {
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
| RTC_DCHECK(estimated_bitrate_bps_ > 0)
|
| << "SetEstimatedBitrate must be called before InsertPacket.";
|
|
|
| @@ -353,7 +351,7 @@ void PacedSender::InsertPacket(RtpPacketSender::Priority priority,
|
| }
|
|
|
| int64_t PacedSender::ExpectedQueueTimeMs() const {
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
| RTC_DCHECK_GT(pacing_bitrate_kbps_, 0);
|
| return static_cast<int64_t>(packets_->SizeInBytes() * 8 /
|
| pacing_bitrate_kbps_);
|
| @@ -361,17 +359,17 @@ int64_t PacedSender::ExpectedQueueTimeMs() const {
|
|
|
| rtc::Optional<int64_t> PacedSender::GetApplicationLimitedRegionStartTime()
|
| const {
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
| return alr_detector_->GetApplicationLimitedRegionStartTime();
|
| }
|
|
|
| size_t PacedSender::QueueSizePackets() const {
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
| return packets_->SizeInPackets();
|
| }
|
|
|
| int64_t PacedSender::QueueInMs() const {
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
|
|
| int64_t oldest_packet = packets_->OldestEnqueueTimeMs();
|
| if (oldest_packet == 0)
|
| @@ -381,13 +379,13 @@ int64_t PacedSender::QueueInMs() const {
|
| }
|
|
|
| int64_t PacedSender::AverageQueueTimeMs() {
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
| packets_->UpdateQueueTime(clock_->TimeInMilliseconds());
|
| return packets_->AverageQueueTimeMs();
|
| }
|
|
|
| int64_t PacedSender::TimeUntilNextProcess() {
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
| if (paused_)
|
| return 1000 * 60 * 60;
|
|
|
| @@ -403,7 +401,7 @@ int64_t PacedSender::TimeUntilNextProcess() {
|
|
|
| void PacedSender::Process() {
|
| int64_t now_us = clock_->TimeInMicroseconds();
|
| - CriticalSectionScoped cs(critsect_.get());
|
| + rtc::CritScope cs(&critsect_);
|
| int64_t elapsed_time_ms = (now_us - time_last_update_us_ + 500) / 1000;
|
| time_last_update_us_ = now_us;
|
| int target_bitrate_kbps = pacing_bitrate_kbps_;
|
| @@ -489,11 +487,11 @@ bool PacedSender::SendPacket(const paced_sender::Packet& packet,
|
| return false;
|
| }
|
|
|
| - critsect_->Leave();
|
| + critsect_.Leave();
|
| const bool success = packet_sender_->TimeToSendPacket(
|
| packet.ssrc, packet.sequence_number, packet.capture_time_ms,
|
| packet.retransmission, pacing_info);
|
| - critsect_->Enter();
|
| + critsect_.Enter();
|
|
|
| if (success) {
|
| // TODO(holmer): High priority packets should only be accounted for if we
|
| @@ -509,10 +507,10 @@ bool PacedSender::SendPacket(const paced_sender::Packet& packet,
|
|
|
| size_t PacedSender::SendPadding(size_t padding_needed,
|
| const PacedPacketInfo& pacing_info) {
|
| - critsect_->Leave();
|
| + critsect_.Leave();
|
| size_t bytes_sent =
|
| packet_sender_->TimeToSendPadding(padding_needed, pacing_info);
|
| - critsect_->Enter();
|
| + critsect_.Enter();
|
|
|
| if (bytes_sent > 0) {
|
| UpdateBudgetWithBytesSent(bytes_sent);
|
|
|