View Source Membrane.HTTPAdaptiveStream.Manifest.Track.Config (Membrane HTTP Adaptive Stream plugin v0.12.0)

Track configuration.

Link to this section Summary

Types

t()

Track configuration consists of the following fields

Link to this section Types

@type t() :: %Membrane.HTTPAdaptiveStream.Manifest.Track.Config{
  content_type: :audio | :video,
  header_extension: String.t(),
  header_naming_fun:
    (Membrane.HTTPAdaptiveStream.Manifest.Track.t(),
     counter :: non_neg_integer() ->
       String.t()),
  id: Membrane.HTTPAdaptiveStream.Manifest.Track.id_t(),
  persist?: boolean(),
  segment_extension: String.t(),
  segment_naming_fun:
    (Membrane.HTTPAdaptiveStream.Manifest.Track.t() -> String.t()),
  target_partial_segment_duration: Membrane.Time.t() | nil,
  target_segment_duration: Membrane.Time.t(),
  target_window_duration: Membrane.Time.t(),
  track_name: String.t()
}

Track configuration consists of the following fields:

  • id - identifies the track, will be serialized and attached to names of manifests, headers and segments
  • track_name - the name of the track, determines how manifest files will be named
  • content_type - either audio or video
  • header_extension - extension of the header file (for example .mp4 for CMAF)
  • segment_extension - extension of the segment files (for example .m4s for CMAF)
  • header_naming_fun - a function that generates consequent header names for a given track
  • segment_naming_fun - a function that generates consequent segment names for a given track
  • target_segment_duration - expected duration of each segment
  • target_partial_segment_duration - expected duration of each partial segment, nil if not partial segments are expected
  • target_window_duration - track manifest duration is kept above that time, while the oldest segments
          are removed whenever possible
  • persist? - determines whether the entire track contents should be available after the streaming finishes