packet.ts = now;
packet_buffer.push(packet);
+ bool did_reorder = false;
+
while (!packet_buffer.empty() &&
(last_seq == -1 || packet_buffer.top().seq <= last_seq + 1)) {
int front_seq = packet_buffer.top().seq;
last_seq = front_seq;
last_sent_packet = now;
if (!packet_buffer.empty()) {
- ++num_reorders;
+ did_reorder = true;
if (!silence) {
printf("Reordering with packet buffer size %d: seq=%d new_front_seq=%d\n", int(packet_buffer.size()), front_seq, packet_buffer.top().seq);
silence = true;
}
}
}
+
+ if (did_reorder) {
+ ++num_reorders;
+ }
}
void Reorderer::check_ts_discontinuity(uint16_t proto, const string &data, bool silence)