StaticfromStaticuniformA synthetic constant-rate table. Tests and fakes only. The default tick
rate is a whole multiple of fps, so no test table needs rounding.
OptionaltickRate: numberTimestamp passed to the decoder for the named presentation frame.
Maps a public presentation time onto the container's source clock.
Maps a decoded/container timestamp onto the public presentation clock.
Ticks the frame at index ends at, which is where the next one starts.
The frame covering timeS, which is what a decode for it returns.
The comparison divides, as timeAt does, so a frame's own published
second answers with that frame.
The frame a decoded sample is.
A decoded timestamp has been through the WebCodecs microsecond plane, so it can miss its own tick by up to half a microsecond. Snapping to the nearer neighbour absorbs that by four orders of magnitude, since the narrowest real frame gap measured across the fixtures is 31667 us.
Every real frame of one track, in presentation order, by its container tick timestamp.
A container states its timestamps as integer multiples of 1/tickRate, so a frame's tick count is exact and comparisons between two readers of the same container are integer comparisons.
timeAtis the same division of the same two integers the demuxer itself performs, which is what lets a consumer holding only seconds match a producer's frame with===.