• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Eyevinn / go-608 / 30572119609
84%

Build:
DEFAULT BRANCH: main
Ran 30 Jul 2026 06:49PM UTC
Jobs 1
Files 35
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

30 Jul 2026 06:49PM UTC coverage: 84.268% (+0.06%) from 84.207%
30572119609

push

github

tobbee
fix(schedule): pre-roll the pop-on build so a cue's time is when it appears

A pop-on caption is two transmissions -- a build into non-displayed memory, then
the EOC that flips it on screen -- and both drain at one byte pair per frame. The
build was transmitted starting AT the cue's time, so the caption only became
visible a build later: measured 367 ms for "HELLO" and 433 ms for "SECOND ONE"
at 30 fps, halving at 60 fps. Longer text appeared later.

schedule now backdates the build so its EOC lands on the pushed time. That is
FlipTiming's new FlipOnTime default; FlipAfterBuild restores the old behaviour,
reachable from the CLI as -no-preroll on go608-inject and go608-extract.

WebVTT -> 608 -> WebVTT is now frame-exact where it used to slide:

    in         1.000->3.000  3.000->5.000  5.000->6.000
    before     1.433->3.467  3.467->5.367  5.367->6.000
    after      1.000->3.000  3.000->5.000  5.000->6.000

The old timing also compounded -- re-converting shifted it again, 1.000 -> 1.367
-> 1.667 -- and is now stable across passes. Ends were always exact, because the
clearing EDM is itself the visible change; a batch not ending in an EOC is
likewise never backdated.

This reconciles the containers' timing conventions as a side effect. An SCC
entry's timecode is when its first pair is transmitted; a WebVTT cue's start is
when the caption is displayed; they differ by exactly the build. So SCC -> text
-> SCC now returns the original timecodes (00:00:01:00, was 00:00:01:12), the
only asymmetry left being the terminating EDM cue.Compile appends for a dangling
final cue. 608 -> text is unchanged: it always reported actual display time.

generate is unaffected -- Generator and BuildUnitCues already pushed build and
EOC as separate batches, which is this pre-roll done by hand. Verified: the
split serializes to byte-identical output, so only placement changes.

The inject test previously allowed a 500 ms window around a 1 s cue, which is
how this stayed invi... (continued)

53 of 57 new or added lines in 4 files covered. (92.98%)

3412 of 4049 relevant lines covered (84.27%)

0.97 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
73.58
0.06% cmd/go608-extract/main.go
2
70.0
0.65% cmd/go608-inject/main.go
Jobs
ID Job ID Ran Files Coverage
1 30572119609.1 30 Jul 2026 06:49PM UTC 35
84.27
GitHub Action Run
Source Files on build 30572119609
  • Tree
  • List 35
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 1c393759 on github
  • Prev Build on main (#30569833026)
  • Next Build on main (#30572594191)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc