In this guide
Completion is a property of a playlistDistinguish complete, stale and unavailableWhat a player can and cannot inferEXT-X-ENDLIST tells an HLS client that no more media segments will be added to that media playlist. It marks completion of the advertised sequence. Existing listed segments still describe media the client may play, subject to ordinary availability and access conditions.
The tag is not an HTTP failure code and does not revoke an account. It can be appropriate for video on demand and for an event playlist finalized after the event ends.
Completion is a property of a playlist
A continuous channel and a finite event have different publishing models. A finite event can stop growing and receive ENDLIST. A channel might continue adding media indefinitely or move through other production transitions. The finalization of one playlist does not establish the availability of every other item in an account.
An original hypothetical event publishes segments for a ninety-minute presentation, then adds ENDLIST after its final segment. A viewer twenty minutes behind can still have media left to watch. The playlist being complete does not mean that viewer should immediately see an empty screen.
Distinguish complete, stale and unavailable
| Observation | Interpretation to investigate |
|---|---|
| ENDLIST present | Publisher has explicitly finalized this playlist |
| No new segments, no ENDLIST | Could be a paused, stale or faulty live view |
| Playlist request fails | Delivery/access failure before playlist interpretation |
| Final segment fails | Completion and resource availability need separate checks |
What a player can and cannot infer
A client can stop expecting future segments from a finalized playlist. It still needs to fetch and decode any remaining media. A final segment request returning an error is a resource failure, even when ENDLIST is correctly present. Conversely, an intentionally finished programme is not repaired by polling the same playlist faster.
When reporting an unexpected end, include whether ENDLIST appeared, the last listed media time, the observation time and the player’s final message. If the programme was advertised as live, ask about that specific item’s publishing state. Do not remove ENDLIST locally and treat endless retrying as restored live media; removing the marker does not create additional segments.
