#[non_exhaustive]pub enum Output {
Qualities {
qualities: Vec<QualityInfo>,
chosen: usize,
},
ManifestNotFound,
Tracks(Vec<TrackSpec>),
TracksChanged(Vec<TrackSpec>),
Sample {
track: TrackId,
sample: Sample,
},
Discontinuity,
Dropped(Dropped),
Ended,
Fatal(SmoothError),
}Expand description
One thing the host should act on.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Qualities
The video QualityLevels on offer and the index chosen.
Fields
qualities: Vec<QualityInfo>One entry per QualityLevel of the first video stream.
ManifestNotFound
The first manifest fetch answered 404/410.
Tracks(Vec<TrackSpec>)
Every stream’s first fragment resolved: the track set, one per stream, ids
1.. in stream order.
TracksChanged(Vec<TrackSpec>)
A track’s codec configuration changed because the host switched the video
QualityLevel: the complete replacement track set, same ids and order as
Output::Tracks. Emitted once, before the first sample of the new level;
Output::Tracks itself is announced only once.
Sample
One demuxed sample, timestamps in its track’s timescale.
Discontinuity
A gap in the timeline: samples were skipped or the live window moved past the last fragment.
Dropped(Dropped)
Carried on without something.
Ended
A static presentation played to its end.
Fatal(SmoothError)
The session is over.