VOD playlist has no EXT-X-ENDLIST
The playlist says it is VOD but never says it has finished, so players keep polling for updates that never come.
What it means
EXT-X-PLAYLIST-TYPE:VOD is declared but EXT-X-ENDLIST is missing. The playlist therefore says two contradictory things: that the content is fixed and complete, and that more segments may still appear.
Why it matters
EXT-X-ENDLIST is what tells a player the content is complete. Without it the player treats the stream as still growing: it reloads the playlist indefinitely, may not show a complete seek bar, and will not fire its ended event. Viewers see the last frame with a spinner rather than the end of playback.
How to fix it
- Append EXT-X-ENDLIST to the end of every completed VOD playlist.
- If the file is still being packaged, that is expected — the tag is added when packaging finishes.
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 "VOD playlist has no EXT-X-ENDLIST" mean?
- EXT-X-PLAYLIST-TYPE:VOD is declared but EXT-X-ENDLIST is missing. The playlist therefore says two contradictory things: that the content is fixed and complete, and that more segments may still appear.
- Why does it matter?
- EXT-X-ENDLIST is what tells a player the content is complete. Without it the player treats the stream as still growing: it reloads the playlist indefinitely, may not show a complete seek bar, and will not fire its ended event. Viewers see the last frame with a spinner rather than the end of playback.
- How do I fix it?
- 1. Append EXT-X-ENDLIST to the end of every completed VOD playlist. 2. If the file is still being packaged, that is expected — the tag is added when packaging finishes.
- 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.