| Index: webrtc/modules/remote_bitrate_estimator/transport_feedback_adapter.cc
|
| diff --git a/webrtc/modules/remote_bitrate_estimator/transport_feedback_adapter.cc b/webrtc/modules/remote_bitrate_estimator/transport_feedback_adapter.cc
|
| index f7e07a5dc5194a56682770db206161cc2f6e642c..ed8b6e6d3a837b38654b665c053d9ba5688e7314 100644
|
| --- a/webrtc/modules/remote_bitrate_estimator/transport_feedback_adapter.cc
|
| +++ b/webrtc/modules/remote_bitrate_estimator/transport_feedback_adapter.cc
|
| @@ -10,6 +10,7 @@
|
|
|
| #include "webrtc/modules/remote_bitrate_estimator/transport_feedback_adapter.h"
|
|
|
| +#include <algorithm>
|
| #include <limits>
|
|
|
| #include "webrtc/base/checks.h"
|
| @@ -26,6 +27,17 @@ const int64_t kBaseTimestampScaleFactor =
|
| rtcp::TransportFeedback::kDeltaScaleFactor * (1 << 8);
|
| const int64_t kBaseTimestampRangeSizeUs = kBaseTimestampScaleFactor * (1 << 24);
|
|
|
| +class PacketInfoComparator {
|
| + public:
|
| + inline bool operator()(const PacketInfo& lhs, const PacketInfo& rhs) {
|
| + if (lhs.arrival_time_ms != rhs.arrival_time_ms)
|
| + return lhs.arrival_time_ms < rhs.arrival_time_ms;
|
| + if (lhs.send_time_ms != rhs.send_time_ms)
|
| + return lhs.send_time_ms < rhs.send_time_ms;
|
| + return lhs.sequence_number < rhs.sequence_number;
|
| + }
|
| +};
|
| +
|
| TransportFeedbackAdapter::TransportFeedbackAdapter(
|
| BitrateController* bitrate_controller,
|
| Clock* clock)
|
| @@ -104,6 +116,8 @@ void TransportFeedbackAdapter::OnTransportFeedback(
|
| }
|
| ++sequence_number;
|
| }
|
| + std::sort(packet_feedback_vector.begin(), packet_feedback_vector.end(),
|
| + PacketInfoComparator());
|
| RTC_DCHECK(delta_it == delta_vec.end());
|
| if (failed_lookups > 0) {
|
| LOG(LS_WARNING) << "Failed to lookup send time for " << failed_lookups
|
|
|