Chromium Code Reviews| Index: webrtc/modules/pacing/paced_sender.cc |
| diff --git a/webrtc/modules/pacing/paced_sender.cc b/webrtc/modules/pacing/paced_sender.cc |
| index ae9743434029335af98a76a0cc34875aa3ff1552..7e7631471de3d2230275632f5c822cb8dda5d42d 100644 |
| --- a/webrtc/modules/pacing/paced_sender.cc |
| +++ b/webrtc/modules/pacing/paced_sender.cc |
| @@ -250,7 +250,6 @@ PacedSender::PacedSender(Clock* clock, PacketSender* packet_sender) |
| packet_sender_(packet_sender), |
| critsect_(CriticalSectionWrapper::CreateCriticalSection()), |
| paused_(false), |
| - probing_enabled_(true), |
| media_budget_(new paced_sender::IntervalBudget(0)), |
| padding_budget_(new paced_sender::IntervalBudget(0)), |
| prober_(new BitrateProber()), |
| @@ -278,7 +277,8 @@ void PacedSender::Resume() { |
| void PacedSender::SetProbingEnabled(bool enabled) { |
| RTC_CHECK_EQ(0u, packet_counter_); |
| - probing_enabled_ = enabled; |
| + CriticalSectionScoped cs(critsect_.get()); |
| + prober_->SetEnabled(enabled); |
| } |
| void PacedSender::SetEstimatedBitrate(uint32_t bitrate_bps) { |
| @@ -313,8 +313,6 @@ void PacedSender::InsertPacket(RtpPacketSender::Priority priority, |
| RTC_DCHECK(estimated_bitrate_bps_ > 0) |
| << "SetEstimatedBitrate must be called before InsertPacket."; |
| - if (probing_enabled_ && !prober_->IsProbing()) |
| - prober_->SetEnabled(true); |
| int64_t now_ms = clock_->TimeInMilliseconds(); |
| prober_->OnIncomingPacket(estimated_bitrate_bps_, bytes, now_ms); |
| @@ -372,8 +370,9 @@ void PacedSender::Process() { |
| 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_; |
| - // TODO(holmer): Remove the !paused_ check when issue 5307 has been fixed. |
| - if (!paused_ && elapsed_time_ms > 0) { |
| + if (paused_) |
| + return; |
| + if (elapsed_time_ms > 0) { |
| size_t queue_size_bytes = packets_->SizeInBytes(); |
| if (queue_size_bytes > 0) { |
| // Assuming equal size packets and input/output rate, the average packet |
| @@ -418,8 +417,7 @@ void PacedSender::Process() { |
| } |
| } |
| - // TODO(holmer): Remove the paused_ check when issue 5307 has been fixed. |
| - if (paused_ || !packets_->Empty()) |
| + if (!packets_->Empty()) |
| return; |
| // We can not send padding unless a normal packet has first been sent. If we |
| @@ -435,10 +433,7 @@ void PacedSender::Process() { |
| bool PacedSender::SendPacket(const paced_sender::Packet& packet, |
| int probe_cluster_id) { |
| - // TODO(holmer): Because of this bug issue 5307 we have to send audio |
| - // packets even when the pacer is paused. Here we assume audio packets are |
| - // always high priority and that they are the only high priority packets. |
| - if (paused_ && packet.priority != kHighPriority) |
|
stefan-webrtc
2016/07/29 07:12:07
If there're still bugs in the network layer code w
Irfan
2016/08/01 18:29:47
ok I will pull the paused changes into a seperate
|
| + if (paused_) |
| return false; |
| critsect_->Leave(); |
| const bool success = packet_sender_->TimeToSendPacket( |