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

Eyevinn / mp4ff / 34092861338
82%

Build:
DEFAULT BRANCH: master
Ran 07 Sep 2026 06:54AM UTC
Jobs 1
Files 213
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

07 Sep 2026 06:53AM UTC coverage: 81.894% (+0.09%) from 81.8%
34092861338

push

github

tobbee
feat(mp4): resolve overlapping fragments during defragmentation

A fragment whose tfdt re-declares an earlier decode time supersedes the
earlier samples of its track (a retransmission): the fragment appearing
later in the file wins, whole re-sent fragments disappear, superseded
tails are trimmed at sample granularity, and the timeline continues
from the declaring fragment, whether or not the re-sent bytes are
identical. Non-overlapping input converts byte-identically to before.

Ambiguous overlaps keep failing closed instead of being guessed at: an
overlap that starts inside a sample (unless it only shrinks earlier
tfdt-gap padding), any abandoned time range that no surviving later
fragment declares again (whether the superseded fragment was trimmed or
dropped whole, and with voided declarations not counting as coverage),
and overlapping files whose fragments use absolute base data offsets
are rejected, so no declared content is ever silently dropped. The
payload size bound applies to the surviving samples, so re-sent
declarations larger than the input file do not reject a file that
resolves cleanly.

The work is linear in the number of fragments. Coverage checking merges
each track's surviving declaration windows once and binary searches
them. dropTrackSamplesFrom walked track.frags backwards until a record
ended at or below the cut; records voided by earlier cuts sit above
later live records in collection order and never satisfy that test once
the cut walks below them, so each later cut rescanned the whole voided
tail: n one-sample fragments followed by n-1 fragments each rewinding
one sample took O(n^2). A parallel live slice keeps the records with
kept > 0; their sample ranges tile the samples in order, so a cut pops
the suffix with firstSample >= keep and trims at most the record
straddling keep. The firstSample+kept <= keep guard stays so a cut
landing exactly on a record boundary inside gap padding does not
advance its cutoff. Gap padding is tr... (continued)

137 of 139 new or added lines in 1 file covered. (98.56%)

21819 of 26643 relevant lines covered (81.89%)

0.82 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
85.62
3.31% mp4/defragmenter.go
Jobs
ID Job ID Ran Files Coverage
1 34092861338.1 07 Sep 2026 06:54AM UTC 213
81.89
GitHub Action Run
Source Files on build 34092861338
  • Tree
  • List 213
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • eac43c8d on github
  • Prev Build on master (#33856931927)
  • Next Build on master (#34618342585)
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