HLS live edge has drifted from wall-clock time
The newest segment’s program date-time is far from the current time, meaning the playlist is stale or the clocks disagree.
What it means
We took the last EXT-X-PROGRAM-DATE-TIME, added the final segment’s duration to get the live edge, and compared it against the current time. The gap is larger than a minute.
Why it matters
If the edge trails wall-clock time, the packager has stopped producing segments or the CDN is serving a cached playlist — viewers are watching further behind live than you think, or the stream has silently died. If the edge is ahead of wall-clock time, the encoder and this client disagree about what time it is, which breaks DVR seeking and subtitle alignment.
How to fix it
- Check the packager is still producing segments, and that the CDN is not serving a stale cached playlist — look at the Age and Cache-Control headers.
- If the edge is ahead of now, check NTP on the encoder.
- Verify EXT-X-PROGRAM-DATE-TIME is written in UTC and matches actual capture time.
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 live edge has drifted from wall-clock time" mean?
- We took the last EXT-X-PROGRAM-DATE-TIME, added the final segment’s duration to get the live edge, and compared it against the current time. The gap is larger than a minute.
- Why does it matter?
- If the edge trails wall-clock time, the packager has stopped producing segments or the CDN is serving a cached playlist — viewers are watching further behind live than you think, or the stream has silently died. If the edge is ahead of wall-clock time, the encoder and this client disagree about what time it is, which breaks DVR seeking and subtitle alignment.
- How do I fix it?
- 1. Check the packager is still producing segments, and that the CDN is not serving a stale cached playlist — look at the Age and Cache-Control headers. 2. If the edge is ahead of now, check NTP on the encoder. 3. Verify EXT-X-PROGRAM-DATE-TIME is written in UTC and matches actual capture time.
- 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.