A regular live playlist is a sliding window
The server appends new segments and may remove older ones from the beginning. EXT-X-MEDIA-SEQUENCE identifies the first segment currently listed and increases as the window advances. A viewer can normally seek only within the retained live window.
An Event playlist grows without removing earlier entries
EXT-X-PLAYLIST-TYPE:EVENT tells the client that new media may be appended while existing entries remain unchanged. This supports an event that viewers can join live and rewind toward the beginning, provided the origin retains the media. EXT-X-ENDLIST is added when the event is complete.
#EXTM3U
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:6.0,
segment0.tsA VOD playlist is complete before playback
EXT-X-PLAYLIST-TYPE:VOD indicates that the playlist will not change. It contains the complete segment sequence and ends with EXT-X-ENDLIST. The player can calculate duration and seek across the available presentation without polling for new entries.
How a player can infer state
- No ENDLIST: the presentation may still be live or growing
- ENDLIST present: no more segments will be added to that playlist
- PLAYLIST-TYPE:EVENT: append-only event behaviour
- PLAYLIST-TYPE:VOD: fixed complete presentation
- No PLAYLIST-TYPE: often a sliding live playlist, interpreted with the other tags
A valid tag cannot replace correct media retention
Seeking fails if a listed segment has already disappeared from storage. Live playback also fails when new segments are published late or media sequence numbers are inconsistent. The manifest and the origin’s object lifecycle must describe the same reality.