Expand description
Transition planning: given a Schedule and
the current channel-timeline position, what transition happens next, at
what instant, and what timeline-continuity actions it implies.
Issue #748’s
framing: the hard part is the transition, not the schedule. Joining
two sources means timeline continuity across the join — a PTS-rebase
offset so the incoming source’s own clock lands continuously on the
shared channel timeline (the parameter transmux’s IR transform would
consume to actually rewrite sample timestamps — this crate computes the
number, it does not touch sample bytes), plus a discontinuity flag when
the codec configuration changes across the join (the signal
broadcast_hls::mark_init_discontinuities would act on downstream). “A
schedule that plays the right thing at the wrong timestamp is worse than
no scheduler” — so TransitionPlan is the primary thing this crate’s
tests hold to timeline-correctness, not the schedule bookkeeping.
Structs§
- Planned
Transition - A planned transition together with the two entries either side of it.
- Transition
Plan - The computed plan for joining
fromintotoatSelf::at_pts.
Functions§
- next_
transition - Find and plan the next transition due at or after
now_pts.