TSDuck v3.40-3963
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
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 class  Tag {
  Tag::EXTM3U ,
  Tag::VERSION ,
  Tag::EXTINF ,
  Tag::BYTERANGE ,
  Tag::DISCONTINUITY ,
  Tag::KEY ,
  Tag::MAP ,
  Tag::PROGRAM_DATE_TIME ,
  Tag::GAP ,
  Tag::BITRATE ,
  Tag::PART ,
  Tag::DATERANGE ,
  Tag::SKIP ,
  Tag::PRELOAD_HINT ,
  Tag::RENDITION_REPORT ,
  Tag::TARGETDURATION ,
  Tag::MEDIA_SEQUENCE ,
  Tag::DISCONTINUITY_SEQUENCE ,
  Tag::ENDLIST ,
  Tag::PLAYLIST_TYPE ,
  Tag::I_FRAMES_ONLY ,
  Tag::PART_INF ,
  Tag::SERVER_CONTROL ,
  Tag::MEDIA ,
  Tag::STREAM_INF ,
  Tag::I_FRAME_STREAM_INF ,
  Tag::SESSION_DATA ,
  Tag::SESSION_KEY ,
  Tag::CONTENT_STEERING ,
  Tag::INDEPENDENT_SEGMENTS ,
  Tag::START ,
  Tag::DEFINE
}
 Tags to be used in the .M3U8 playlists. More...
 
enum class  TagFlags {
  NONE = 0x0000 ,
  MASTER = 0x0001 ,
  MEDIA = 0x0002
}
 Properties of playlist tags. More...
 

Functions

TagFlags TagProperties (Tag tag)
 Get the properties of a Tag.
 

Variables

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

Detailed Description

Namespace for HTTP Live Streaming (HLS) classes.

Enumeration Type Documentation

◆ PlayListType

enum class 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

enum class ts::hls::TagFlags
strong

Properties of playlist tags.

Can be used as bitmask.

Enumerator
MASTER 

Tag is not allowed anywhere.

The tag is allowed in master playlists.

MEDIA 

The tag is allowed in media playlists.

Function Documentation

◆ TagProperties()

TagFlags 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 TagNamesWrapper ts::hls::TagNames
extern

Enumeration description of ts::hls::Tag.

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