Adds SortedByReceiveTime to TransportPacketsFeedback.
This is part of a series of CLs removing RTP dependencies from GoogCC implementation. Bug: webrtc:10749 Change-Id: I4d8ec92643f1a0d4b5fdac2fbcb067766afc6548 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142222 Reviewed-by: Jonas Olsson <jonasolsson@webrtc.org> Commit-Queue: Sebastian Jansson <srte@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28300}
This commit is contained in:
parent
873a7a98b3
commit
23026ee6c3
@ -10,8 +10,9 @@
|
||||
|
||||
#include "api/transport/network_types.h"
|
||||
|
||||
namespace webrtc {
|
||||
#include <algorithm>
|
||||
|
||||
namespace webrtc {
|
||||
// TODO(srte): Revert to using default after removing union member.
|
||||
StreamsConfig::StreamsConfig() {}
|
||||
StreamsConfig::StreamsConfig(const StreamsConfig&) = default;
|
||||
@ -61,6 +62,28 @@ std::vector<PacketResult> TransportPacketsFeedback::PacketsWithFeedback()
|
||||
return packet_feedbacks;
|
||||
}
|
||||
|
||||
std::vector<PacketResult> TransportPacketsFeedback::SortedByReceiveTime()
|
||||
const {
|
||||
class PacketResultComparator {
|
||||
public:
|
||||
inline bool operator()(const PacketResult& lhs, const PacketResult& rhs) {
|
||||
if (lhs.receive_time != rhs.receive_time)
|
||||
return lhs.receive_time < rhs.receive_time;
|
||||
if (lhs.sent_packet.send_time != rhs.sent_packet.send_time)
|
||||
return lhs.sent_packet.send_time < rhs.sent_packet.send_time;
|
||||
return lhs.sent_packet.sequence_number < rhs.sent_packet.sequence_number;
|
||||
}
|
||||
};
|
||||
std::vector<PacketResult> res;
|
||||
for (const PacketResult& fb : packet_feedbacks) {
|
||||
if (fb.receive_time.IsFinite()) {
|
||||
res.push_back(fb);
|
||||
}
|
||||
}
|
||||
std::sort(res.begin(), res.end(), PacketResultComparator());
|
||||
return res;
|
||||
}
|
||||
|
||||
NetworkControlUpdate::NetworkControlUpdate() = default;
|
||||
NetworkControlUpdate::NetworkControlUpdate(const NetworkControlUpdate&) =
|
||||
default;
|
||||
|
||||
@ -156,6 +156,7 @@ struct TransportPacketsFeedback {
|
||||
std::vector<PacketResult> ReceivedWithSendInfo() const;
|
||||
std::vector<PacketResult> LostWithSendInfo() const;
|
||||
std::vector<PacketResult> PacketsWithFeedback() const;
|
||||
std::vector<PacketResult> SortedByReceiveTime() const;
|
||||
};
|
||||
|
||||
// Network estimation
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user