| Index: webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc | 
| diff --git a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc | 
| index 5b34cbbd2336d05f7a9721d862345558bbdd1b7d..8106ee330b4d0c4f386c6272eb1787b1006504e1 100644 | 
| --- a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc | 
| +++ b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.cc | 
| @@ -116,7 +116,8 @@ class RemoteBitrateEstimatorAbsSendTimeImpl : public RemoteBitrateEstimator { | 
|  | 
| void IncomingPacket(int64_t arrival_time_ms, | 
| size_t payload_size, | 
| -                      const RTPHeader& header) override; | 
| +                      const RTPHeader& header, | 
| +                      bool was_paced) override; | 
| // This class relies on Process() being called periodically (at least once | 
| // every other second) for streams to be timed out properly. Therefore it | 
| // shouldn't be detached from the ProcessThread except if it's about to be | 
| @@ -155,7 +156,8 @@ class RemoteBitrateEstimatorAbsSendTimeImpl : public RemoteBitrateEstimator { | 
| void IncomingPacketInfo(int64_t arrival_time_ms, | 
| uint32_t send_time_24bits, | 
| size_t payload_size, | 
| -                          uint32_t ssrc); | 
| +                          uint32_t ssrc, | 
| +                          bool was_paced); | 
|  | 
| bool IsProbe(int64_t send_time_ms, int payload_size) const | 
| EXCLUSIVE_LOCKS_REQUIRED(crit_sect_.get()); | 
| @@ -338,27 +340,29 @@ void RemoteBitrateEstimatorAbsSendTimeImpl::IncomingPacketFeedbackVector( | 
| uint32_t send_time_24bits = | 
| send_time_32bits >> kAbsSendTimeInterArrivalUpshift; | 
| IncomingPacketInfo(packet_info.arrival_time_ms, send_time_24bits, | 
| -                       packet_info.payload_size, 0); | 
| +                       packet_info.payload_size, 0, packet_info.was_paced); | 
| } | 
| } | 
|  | 
| void RemoteBitrateEstimatorAbsSendTimeImpl::IncomingPacket( | 
| int64_t arrival_time_ms, | 
| size_t payload_size, | 
| -    const RTPHeader& header) { | 
| +    const RTPHeader& header, | 
| +    bool was_paced) { | 
| if (!header.extension.hasAbsoluteSendTime) { | 
| LOG(LS_WARNING) << "RemoteBitrateEstimatorAbsSendTimeImpl: Incoming packet " | 
| "is missing absolute send time extension!"; | 
| } | 
| IncomingPacketInfo(arrival_time_ms, header.extension.absoluteSendTime, | 
| -                     payload_size, header.ssrc); | 
| +                     payload_size, header.ssrc, was_paced); | 
| } | 
|  | 
| void RemoteBitrateEstimatorAbsSendTimeImpl::IncomingPacketInfo( | 
| int64_t arrival_time_ms, | 
| uint32_t send_time_24bits, | 
| size_t payload_size, | 
| -    uint32_t ssrc) { | 
| +    uint32_t ssrc, | 
| +    bool was_paced) { | 
| assert(send_time_24bits < (1ul << 24)); | 
| // Shift up send time to use the full 32 bits that inter_arrival works with, | 
| // so wrapping works properly. | 
| @@ -380,8 +384,9 @@ void RemoteBitrateEstimatorAbsSendTimeImpl::IncomingPacketInfo( | 
| int64_t t_delta = 0; | 
| int size_delta = 0; | 
| // For now only try to detect probes while we don't have a valid estimate. | 
| -  if (!remote_rate_->ValidEstimate() || | 
| -      now_ms - first_packet_time_ms_ < kInitialProbingIntervalMs) { | 
| +  if (was_paced && | 
| +      (!remote_rate_->ValidEstimate() || | 
| +       now_ms - first_packet_time_ms_ < kInitialProbingIntervalMs)) { | 
| // TODO(holmer): Use a map instead to get correct order? | 
| if (total_probes_received_ < kMaxProbePackets) { | 
| int send_delta_ms = -1; | 
|  |