YOU PROBABLY WON'T EVER HAVE TO CALL THIS DIRECTLY. Attach the meta-data to each segment saying when it began. It interleaves the durations of the bursts and gaps, and assigns the sum of those durations up to a point as the starting time.
bursts.start_times_update(bursts, gaps)List of segments
vector of gap times.
A list of segments, one per burst, with updated start_times