- turn the in-memory buffer from segments to tags
- in drainBuffer, seed in enough tags so that 1s (less? more?) of content is in there, with at least a delta of one keyframe
- when new segments arrive, replace overlapping tags in the in-memory buffer
- never replace tags in previous discontinuities
- current segment duration: tₖ
- proposed segment download estimate: tₙ
- proposed next segment download estimate: tₙ₊₁
- tₙ₊₁ + tₙ < tₖ
- tₙ < tₖ * 1/2