HLS program date-times move backwards
A segment claims an earlier wall-clock time than the one before it, which corrupts seeking and subtitle alignment.
What it means
EXT-X-PROGRAM-DATE-TIME maps segments to real time and must increase. Somewhere in this playlist it goes backwards.
Why it matters
Anything reasoning about absolute time breaks: DVR seek lands in the wrong place, subtitles drift, and multi-stream alignment fails. Because it is a data problem rather than a playback error, it usually surfaces as vague reports that "seeking is weird" rather than an obvious failure.
How to fix it
- Check for a clock step on the packager — an NTP correction mid-stream is the classic cause.
- If two encoders feed one packager, confirm their clocks agree.
- After a discontinuity, make sure the new date-time continues forward rather than restarting from the segment’s own timeline.
Check your own stream
The free HLS analyzer runs this check on every analysis and links each finding straight back here.
Open the HLS analyzer →Frequently asked questions
- What does "HLS program date-times move backwards" mean?
- EXT-X-PROGRAM-DATE-TIME maps segments to real time and must increase. Somewhere in this playlist it goes backwards.
- Why does it matter?
- Anything reasoning about absolute time breaks: DVR seek lands in the wrong place, subtitles drift, and multi-stream alignment fails. Because it is a data problem rather than a playback error, it usually surfaces as vague reports that "seeking is weird" rather than an obvious failure.
- How do I fix it?
- 1. Check for a clock step on the packager — an NTP correction mid-stream is the classic cause. 2. If two encoders feed one packager, confirm their clocks agree. 3. After a discontinuity, make sure the new date-time continues forward rather than restarting from the segment’s own timeline.
- How can I detect this automatically?
- Paste your HLS streaming URL into StreamTest's free HLS analyzer. It runs this check on every analysis, flags the finding, and links straight back to this page — no sign-up required.
Related HLS checks
- HLS ladder has a bitrate inversionA lower-resolution variant is allocated more bandwidth than a higher-resolution one, so adaptive switching picks the wrong rendition.
- HLS variant is missing the CODECS attributeWithout CODECS, players must download a segment before they can tell whether they can play the rendition at all.
- HLS variant references an undeclared rendition groupA variant points at an AUDIO or SUBTITLES group that has no matching EXT-X-MEDIA entry, which breaks playback on strict players.
- HLS segment is longer than EXT-X-TARGETDURATIONA segment rounds to more than the declared target duration, which violates the HLS specification.
- HLS live window is shorter than three target durationsThe playlist holds too little content, so any player that falls slightly behind runs off the end of the window.
- HLS playlist has no EXT-X-PROGRAM-DATE-TIMEWithout program date-time the stream cannot be mapped to wall-clock time, which breaks DVR seeking and multi-stream alignment.