#[non_exhaustive]pub enum Output {
Show 14 variants
Manifest(ManifestSelection),
PeriodChanged {
index: usize,
id: Option<String>,
start_us: i128,
continuous: bool,
},
Init(Vec<u8>),
Tracks(Vec<TrackSpec>),
Samples {
track_id: TrackId,
samples: Vec<Sample>,
},
Discontinuity,
TrackDropped {
period: usize,
set: usize,
rep: Option<usize>,
cause: DropCause,
},
TrackSkipped {
track_id: Option<TrackId>,
fourcc: String,
reason: String,
},
FragmentDamaged {
id: ResourceId,
skipped: usize,
},
Notice(Notice),
ClockSynced {
source: ClockSource,
uncertainty_us: u64,
},
SegmentLost {
id: ResourceId,
status: Option<u16>,
},
Fatal(FatalKind),
EndOfStream,
}Expand description
One unit of output.
Per Period the order is: Notice/TrackDropped for what was left out,
Manifest, PeriodChanged, then (when the Period does not continue the
previous one) Discontinuity, Init per changed init, Tracks when the
track set changed, and the Samples. Samples of one track are in decode
order with no gap and no repeat; their timestamps are the container’s
(tfdt) timeline, not a Period-rebased one.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Manifest(ManifestSelection)
The selection made for a Period.
PeriodChanged
A Period starts playing.
Fields
Init(Vec<u8>)
The Initialization Segment bytes (ftyp + moov) a decoder takes
before the samples that follow.
Tracks(Vec<TrackSpec>)
The full track set; session track ids are 1-based in selection order (video, then audio) and survive a Representation switch.
Samples
Access units of one track, in decode order.
Discontinuity
The timeline may jump: a Period that does not continue the previous one, a skipped segment, or a Representation switch that cannot be aligned.
TrackDropped
A set or Representation is not played.
Fields
TrackSkipped
A track of an init that the demuxer could not model (an encrypted or unknown sample entry); once per track and init.
Fields
FragmentDamaged
The demuxer skipped fragments of a segment; the others were emitted.
Notice(Notice)
A non-fatal observation.
ClockSynced
The UTC clock has its first anchor, or its source changed (23009-1 5.8.5.7; DESIGN 3.4). Not emitted for every refinement.
Fields
source: ClockSourceWhere the anchor came from.
SegmentLost
A segment of a live presentation was given up on after the configured
number of failures; a Discontinuity marks the gap. (A static
presentation ends with a fatal error instead.)
Fields
id: ResourceIdThe segment.
Fatal(FatalKind)
The presentation cannot continue; nothing follows.
EndOfStream
Every selected segment was delivered.