From 1ec18d83b83661a014c2253b7eeff73d61c27958 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Thu, 30 Dec 2021 17:12:54 +0100 Subject: [PATCH] Make TS inputs slightly more robust against packet loss --- lib/ts_stream.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/ts_stream.cpp b/lib/ts_stream.cpp index f64c56cf..4ab20c59 100644 --- a/lib/ts_stream.cpp +++ b/lib/ts_stream.cpp @@ -522,15 +522,15 @@ namespace TS{ } if (paySize - offset - pesOffset < realPayloadSize){ - WARN_MSG("Packet loss detected (%" PRIu64 " != %" PRIu64 "), glitches will occur", + WARN_MSG("Packet loss detected (%" PRIu64 " != %" PRIu64 "), throwing away data to compensate", paySize - offset - pesOffset, realPayloadSize); realPayloadSize = paySize - offset - pesOffset; + }else{ + const char *pesPayload = pesHeader + pesOffset; + parseBitstream(tid, pesPayload, realPayloadSize, timeStamp, timeOffset, bPos, pesHeader[6] & 0x04); + lastms[tid] = timeStamp; } - const char *pesPayload = pesHeader + pesOffset; - parseBitstream(tid, pesPayload, realPayloadSize, timeStamp, timeOffset, bPos, pesHeader[6] & 0x04); - lastms[tid] = timeStamp; - // Shift the offset by the payload size, the mandatory headers and the optional // headers/padding offset += realPayloadSize + (9 + pesHeader[8]);