Index: webrtc/base/testclient.cc |
diff --git a/webrtc/base/testclient.cc b/webrtc/base/testclient.cc |
index c7484fa54148e7aad249f75ddd3d070b26ecd0d4..2abf27d8c6ef9b5df92bbfed40029e8f3ffc9824 100644 |
--- a/webrtc/base/testclient.cc |
+++ b/webrtc/base/testclient.cc |
@@ -19,7 +19,7 @@ namespace rtc { |
// NextPacket. |
TestClient::TestClient(AsyncPacketSocket* socket) |
- : socket_(socket), ready_to_send_(false) { |
+ : socket_(socket), ready_to_send_(false), prev_packet_timestamp_(-1) { |
packets_ = new std::vector<Packet*>(); |
socket_->SignalReadPacket.connect(this, &TestClient::OnPacket); |
socket_->SignalReadyToSend.connect(this, &TestClient::OnReadyToSend); |
@@ -90,7 +90,12 @@ bool TestClient::CheckNextPacket(const char* buf, size_t size, |
bool res = false; |
Packet* packet = NextPacket(kTimeoutMs); |
if (packet) { |
- res = (packet->size == size && memcmp(packet->buf, buf, size) == 0); |
+ int64_t packet_timestamp = packet->packet_time.timestamp; |
+ res = |
+ packet->size == size && memcmp(packet->buf, buf, size) == 0 && |
+ (prev_packet_timestamp_ == -1 || |
juberti2
2016/05/11 19:57:22
I think that -1 should only be allowed when we kno
stefan-webrtc
2016/05/12 11:19:53
We don't expect -1 to be returned on any platform
|
+ (packet_timestamp >= 0 && packet_timestamp >= prev_packet_timestamp_)); |
+ prev_packet_timestamp_ = packet_timestamp; |
if (addr) |
*addr = packet->addr; |
delete packet; |
@@ -122,21 +127,24 @@ void TestClient::OnPacket(AsyncPacketSocket* socket, const char* buf, |
size_t size, const SocketAddress& remote_addr, |
const PacketTime& packet_time) { |
CritScope cs(&crit_); |
- packets_->push_back(new Packet(remote_addr, buf, size)); |
+ packets_->push_back(new Packet(remote_addr, buf, size, packet_time)); |
} |
void TestClient::OnReadyToSend(AsyncPacketSocket* socket) { |
ready_to_send_ = true; |
} |
-TestClient::Packet::Packet(const SocketAddress& a, const char* b, size_t s) |
- : addr(a), buf(0), size(s) { |
+TestClient::Packet::Packet(const SocketAddress& a, |
+ const char* b, |
+ size_t s, |
+ const PacketTime& packet_time) |
+ : addr(a), buf(0), size(s), packet_time(packet_time) { |
buf = new char[size]; |
memcpy(buf, b, size); |
} |
TestClient::Packet::Packet(const Packet& p) |
- : addr(p.addr), buf(0), size(p.size) { |
+ : addr(p.addr), buf(0), size(p.size), packet_time(p.packet_time) { |
buf = new char[size]; |
memcpy(buf, p.buf, size); |
} |