Optional Readonlylengthtotal frames, or undefined for a source with no end (a chip tune that never finishes)
Readonlysamplewrites up to count frames at start of both buffers and returns how many it wrote; fewer than asked means the source ended
makes the next read return frames from this position
A deterministic
BlockSource: a ramp whose value names its frame, or a flat level, of a known length or none at all. It counts every read and seek so a test can see how the consumer pulled.