frameIndex counts real frames from the start of the walked range, so the
same frame carries the same number whatever stride was taken, and
timestampMs is the sample's own.
sample is live and closing it is the caller's, the obligation every
VideoSampleLike carries. One dropped without close holds a decoder frame until
garbage collection, which WebCodecs complains about on the console and which
starves the decoder long before that.
One frame of a walk.
frameIndexcounts real frames from the start of the walked range, so the same frame carries the same number whatever stride was taken, andtimestampMsis the sample's own.sampleis live and closing it is the caller's, the obligation every VideoSampleLike carries. One dropped without close holds a decoder frame until garbage collection, which WebCodecs complains about on the console and which starves the decoder long before that.