Initiating resync when receiving strange packet
The packet type 0x56, sequence number 0, containing 4 bytes (the first two are the sequence number of the previously requested packet) initiates a resync. Not sure what this packet is supposed to do, but it occurs after heavy requesting resending of packets. Seems to be an out of sync situation, so resyncing is not the worst idea. Signed-off-by: Gregor Fabritius <gre@g0r.de>
This commit is contained in:
+11
-4
@@ -451,10 +451,17 @@ static void *rtp_thread_func(void *arg) {
|
||||
plen -= 12;
|
||||
|
||||
// check if packet contains enough content to be reasonable
|
||||
if (plen < 16)
|
||||
continue;
|
||||
|
||||
buffer_put_packet(seqno, pktp, plen);
|
||||
if (plen >= 16) {
|
||||
buffer_put_packet(seqno, pktp, plen);
|
||||
} else {
|
||||
// resync?
|
||||
if (type == 0x56 && seqno == 0) {
|
||||
fprintf(stderr, "Suspected resync request packet received. Initiating resync.\n");
|
||||
pthread_mutex_lock(&ab_mutex);
|
||||
ab_resync();
|
||||
pthread_mutex_unlock(&ab_mutex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user