View Source Membrane.HTTPAdaptiveStream.Manifest.Track.Config (Membrane HTTP Adaptive Stream plugin v0.13.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(), mode: :vod | :live, persist?: boolean(), segment_duration: Membrane.HTTPAdaptiveStream.Manifest.SegmentDuration.t(), segment_extension: String.t(), segment_naming_fun: (Membrane.HTTPAdaptiveStream.Manifest.Track.t() -> String.t()), target_partial_segment_duration: Membrane.Time.t() | nil, 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)segment_duration
- expected duration of segments.target_partial_segment_duration
- expected duration of each partial segment, nil if not partial segments are expectedheader_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_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 finishesmode
- track's mode that dictates type of metadata inserted into playlist's manifest