View Source Membrane.HTTPAdaptiveStream.Manifest.Track.Config (Membrane HTTP Adaptive Stream plugin v0.12.0)
Track configuration.
Link to this section Summary
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 segmentstrack_name
- the name of the track, determines how manifest files will be namedcontent_type
- either audio or videoheader_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 tracksegment_naming_fun
- a function that generates consequent segment names for a given tracktarget_segment_duration
- expected duration of each segmenttarget_partial_segment_duration
- expected duration of each partial segment, nil if not partial segments are expectedtarget_window_duration
- track manifest duration is kept above that time, while the oldest segmentsare removed whenever possible
persist?
- determines whether the entire track contents should be available after the streaming finishes