Skip to content

5.9.3

Choose a tag to compare

@superuser404notfound superuser404notfound released this 19 Jul 14:44

Fixed

  • A seek landing mid-cue (or exactly on a display-set start boundary) on a PGS stream without acquisition points now re-shows the landing line, forced cues included, instead of leaving the overlay dark until the next authored composition. The #112 reconstruction pass seeded its active-line candidate only from a self-contained composition (Acquisition Point / Epoch Start). On AP-less/sparse-authored streams every lead-in composition is Normal, so no candidate was ever seeded and the landing-span line was silently discarded, while successor cues re-emitted normally; on sparse dialogue the blackout ran tens of seconds, and "first new cue after seek" instruments could not see it because they count the NEXT cue. The exact-boundary variant collapses into the same shape because the drain tick's playhead has advanced a few frames past the boundary by decode time.

    The candidate is now seeded from any successfully decoded composition behind the playhead. That is safe by construction: the drain decoder is rebuilt fresh at the backscan start, so a set with missing palette/object references fails decode and never reaches the gate, and the steady-state path outside reconstruction already publishes Normal compositions unconditionally. The #112 no-scroll invariant is unchanged: lead-in compositions are held, and only the single newest line at/behind the playhead emits once the decode reaches the playhead.

  • A line the author cleared before the playhead can no longer resurrect as the "active" line at the end of a reconstruction pass. A PGS clear carries no cues and never reached the gate's admission, so the held candidate kept its open placeholder window across the clear (latent since #112 for acquisition-point content too). The per-composition trim broadcast (pgsTrimAt) now also closes the candidate's window, and a clear ahead of the playhead bounds the emitted landing line at the authored clear instead of the next composition's start.

Covered by Issue143PGSLandingLineTests (7 cases; 6 failed on the previous release). Reported by cmcpherson274 (#143).