#[non_exhaustive]pub enum Start {
Oldest,
Latest,
}Expand description
Where a decoder starts on a track that already holds groups.
A track keeps its groups for a while after they are read, so a decoder does not always open on an empty one: a player rebuilding its decoder subscribes while its predecessor still holds groups, and a rendition switched away from and back to stays warm for the track’s idle linger. What to do with that backlog depends on the consumer, and the two answers are opposites, so it is asked rather than guessed.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Oldest
The oldest group the track still holds, decoding everything cached.
What a recorder, an export, or anything reading a complete track wants, and the default because dropping media a caller has not asked to drop is the worse mistake.
Latest
The newest group, skipping whatever is already cached.
What a live player wants. Without it a rebuilt decoder walks the whole backlog at decode speed before reaching live media, which a viewer sees as playback jumping backwards and then sprinting to catch up.