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]);