OptionalliveOptionalliveCONTINUOUS live mode only. Seconds of "evicted but still shown" slack the rendered timeline's left bound is allowed to lag behind the true, current live start by, at all times — a continuously-maintained rolling cap, not a one-time batch flush.
Undefined (default): today's behavior — the left bound tracks the true live start exactly, on every reflow. The timeline never shows anything the player can no longer actually seek to.
Set: the left bound trails the true live start by up to (never more than) this many seconds, advancing incrementally alongside it rather than jumping — so at most this many seconds of otherwise-evicted content stays visible/scrollable-to at any given moment. This cap is enforced every tick regardless of liveReflowCadence (an unrelated, extent-growth-only throttle) — "at most N seconds" is a hard guarantee. The gap can still be closed completely on demand, independent of the cap, via TimelineApi.evictLiveHistory. Either way, emits TimelineEventType.TIMELINE_LIVE_ORIGIN_ADVANCED whenever the left bound actually advances, so lanes holding onto now-unreachable items (e.g. thumbnails, which are never pruned upstream) can release them.
OptionalliveLive mode only. Minimum accumulated growth of liveEdgeDuration (seconds) required between
geometry reflows (timecoded-width resize/reposition) while live. Segment/manifest updates that
arrive in between are absorbed silently — the rendered width, scroll position, and every
derived coordinate (ticks, markers, playhead) stay exactly as they were — until accumulated
growth since the last reflow reaches this cadence, at which point a single reflow catches up
all of the held growth at once. The live-edge-proximity overlay keeps tracking every update
regardless of this setting. When undefined, every live-state update that changes the geometry
reflows immediately (the previous default behavior).
OptionalliveLive mode only. When true, an automatic scroll-to-live-edge snap animates the scroll position
over scrollEasingDuration instead of jumping there instantly. The timeline's width still
resizes immediately to fit the new extent — only the follow-scroll itself eases. Manual
scrolling/zooming is unaffected. Defaults to false (instant snap).
Live mode only. Seconds of "excess space" manually reserved as a locked/unreachable region past the live edge, absorbing manifest growth without reflowing the timeline until it's used up. When undefined, the locked region is always the automatic minimum (
liveEdgeDuration - liveSyncPosition), so every manifest update that grows the edge reflows the timeline.Its "absorb without reflow" benefit is EVENT-mode-centric: for a CONTINUOUS (sliding-window) stream,
liveStartTimedrifts on essentially every manifest update regardless of this setting, which alone makes the timeline reflow-eligible — this option only governs whether the extent side of that reflow also grows, not whether a reflow happens at all. liveReflowCadence is the setting that actually throttles reflow frequency for CONTINUOUS streams.