aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2020-06-30 08:36:41 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2020-06-30 08:36:41 +0200
commit67b120d73c39723dddb37e806d7468f243830f88 (patch)
tree0d3063cb981ce2164b4d467c0384c6985064920b
parented78541c817bfa1cce8adb5bcb48687b4de95dd0 (diff)
downloadODR-SourceCompanion-67b120d73c39723dddb37e806d7468f243830f88.tar.gz
ODR-SourceCompanion-67b120d73c39723dddb37e806d7468f243830f88.tar.bz2
ODR-SourceCompanion-67b120d73c39723dddb37e806d7468f243830f88.zip
Fix RTP sequence number overflow check
-rw-r--r--src/AVTInput.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/AVTInput.cpp b/src/AVTInput.cpp
index 32f6518..0d6f229 100644
--- a/src/AVTInput.cpp
+++ b/src/AVTInput.cpp
@@ -218,7 +218,11 @@ const uint8_t* AVTInput::_findDABFrameFromUDP(const uint8_t* buf, size_t size,
if (version == 2 && payloadType == 34) {
const uint16_t seqnr = (buf[index+2] << 8) | buf[index+3];
if ((_previousRtpIndex != -1) and
- (((_previousRtpIndex + 1) % 0xFFFF) != seqnr)) {
+ (((_previousRtpIndex + 1) % 5000) != seqnr)) {
+ /* the sequence number apparently overflows at 5000, even though
+ * RFC 3550 (RTP protocol) suggests that it should overflow at 0xFFFF.
+ * Maybe the AVT uses DLFC as RTP sequence number.
+ */
fprintf(stderr, "RTP sequence number jump from %d to %d\n",
_previousRtpIndex, seqnr);
}