TSDuck  v3.33-3081
MPEG Transport Stream Toolkit
ts::hls Namespace Reference

Namespace for HTTP Live Streaming (HLS) classes. More...

Classes

class  AltPlayList
 Description of an alternative rendition media playlist inside an HLS master playlist. More...
 
class  InputPlugin
 HTTP Live Streaming (HLS) input plugin for tsp. More...
 
class  MediaElement
 Description of a media "element" (sub-playlist or segment) inside an HLS playlist. More...
 
class  MediaPlayList
 Description of a media playlist inside an HLS master playlist. More...
 
class  MediaSegment
 Description of a media segment in an HLS playlist. More...
 
class  OutputPlugin
 HTTP Live Streaming (HLS) output plugin for tsp. More...
 
class  PlayList
 Playlist for HTTP Live Streaming (HLS). More...
 
class  TagAttributes
 Attributes of a tag in an HLS playlist. More...
 

Enumerations

enum class  PlayListType {
  UNKNOWN ,
  MASTER ,
  VOD ,
  EVENT ,
  LIVE
}
 Types of .M3U8 playlist. More...
 
enum  Tag {
  EXTM3U ,
  VERSION ,
  EXTINF ,
  BYTERANGE ,
  DISCONTINUITY ,
  KEY ,
  MAP ,
  PROGRAM_DATE_TIME ,
  GAP ,
  BITRATE ,
  PART ,
  DATERANGE ,
  SKIP ,
  PRELOAD_HINT ,
  RENDITION_REPORT ,
  TARGETDURATION ,
  MEDIA_SEQUENCE ,
  DISCONTINUITY_SEQUENCE ,
  ENDLIST ,
  PLAYLIST_TYPE ,
  I_FRAMES_ONLY ,
  PART_INF ,
  SERVER_CONTROL ,
  MEDIA ,
  STREAM_INF ,
  I_FRAME_STREAM_INF ,
  SESSION_DATA ,
  SESSION_KEY ,
  CONTENT_STEERING ,
  INDEPENDENT_SEGMENTS ,
  START ,
  DEFINE
}
 Tags to be used in the .M3U8 playlists. More...
 
enum  TagFlags {
  TAG_MASTER = 0x0001 ,
  TAG_MEDIA = 0x0002
}
 Properties of playlist tags. More...
 

Functions

int TagProperties (Tag tag)
 Get the properties of a Tag. More...
 

Variables

const Enumeration TagNames
 Enumeration description of ts::hls::Tag. More...
 

Detailed Description

Namespace for HTTP Live Streaming (HLS) classes.

Enumeration Type Documentation

◆ PlayListType

enum ts::hls::PlayListType
strong

Types of .M3U8 playlist.

  • Master playlist. It contains references to media playlists (typically same content with various bitrates). Also called "multivariant playlist" in recent versions of the HLS standard.
  • All other types of playlists are media playlists, they contain references to media segments.
    • VoD playlist. A static media playlist for a fully recorded content. The list of media segments cannot change.
    • Event playlist. A growing media playlist for a running event. It is possible to move backward in the event, up to the beginning. New media segments can be added at the end of the playlist. No segment can be removed.
    • Live playlist. A sliding media playlist for a live channel, without backward browsing. The initial segments are regularly removed. New segments are regularly added at the end of the list.
Enumerator
UNKNOWN 

Type is unknown.

MASTER 

Master playlist, contains references to media playlists.

VOD 

VoD media playlist, reference media segments, static, cannot change.

EVENT 

Event media playlist, reference media segments, can grow.

LIVE 

Live media playlist, reference media segments, sliding window.

◆ TagFlags

Properties of playlist tags.

Can be used as bitmask.

Enumerator
TAG_MASTER 

The tag is allowed in master playlists.

TAG_MEDIA 

The tag is allowed in media playlists.

Function Documentation

◆ TagProperties()

int ts::hls::TagProperties ( Tag  tag)

Get the properties of a Tag.

Parameters
[in]tagThe tag to get the properties of.
Returns
A bitmask of TagFlags.

Variable Documentation

◆ TagNames

const Enumeration ts::hls::TagNames
extern

Enumeration description of ts::hls::Tag.

The names are the actual tag names from a .M3U8 playlist file.