pub enum Seek {
Exact(VideoFrame),
Preview {
picture: VideoFrame,
frame: FrameIndex,
},
Pending,
}Expand description
What a constant-time ExactFrameReader::seek could answer with.
A seek is a question about a position on the timeline, and it has to be answered now: the
exact frame at an arbitrary point of a long group of pictures is a decode of every frame
before it, which on a 1080p track is seconds rather than the SEEK_LATENCY_BUDGET
ARCHITECTURE.md section 3.2 allows. So a seek returns the best picture already decoded and
the caller walks to the exact one behind it with ExactFrameReader::get if it still wants
it.
Variants§
Exact(VideoFrame)
The frame asked for, already decoded and cached. Nothing further is needed.
Preview
A picture of a different frame, the closest one the seek preview index holds.
Fields
picture: VideoFrameframe: FrameIndexThe frame picture is actually of, which is within one preview stride of the frame
asked for once the pass has covered that part of the track.
Pending
Nothing is decoded yet for anywhere near this position: no cached frame, and either no preview index attached or an index whose pass has not produced a picture.