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

Eyevinn / mp4ff / 31467749564
82%

Build:
DEFAULT BRANCH: master
Ran 11 Aug 2026 07:08AM UTC
Jobs 1
Files 208
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

11 Aug 2026 07:08AM UTC coverage: 82.777% (+0.02%) from 82.755%
31467749564

push

github

tobbee
feat(mp4): parse QuickTime sound sample description versions 1 and 2

QuickTime mp4a entries with sound sample description version 1 (16 extra
bytes) or version 2 (36 extra bytes, float64 sample rate) previously
failed to decode or silently misparsed their child boxes, because the
version field was skipped as reserved and the children were expected
directly at byte 36.

Parse the version and the version-specific fields into new
AudioSampleEntryBox.QuickTimeVersion, QuickTimeV1, and QuickTimeV2
members, decode the child boxes at the version-dependent offset, and
encode them back. The overlaid revision level and vendor bytes are
preserved for round-trip transparency, as is the compressionID halfword
(pre_defined in ISO; -2 in QuickTime version 2 entries and in version 1
entries with redefined VBR sample tables).

For a version 2 entry, Info() reports the effective channel count,
sample size, and sample rate from the version 2 struct instead of the
mandated constants in the fixed fields.

A version 2 layout is only accepted when it carries the defined
always7F000000 marker. Entries whose reserved bytes carry an unknown
version, or claim a version whose layout does not parse, fall back to
the plain ISO interpretation, so previously decodable files keep
decoding.

Encoding fails when the version halfword and the version-specific
pointers disagree, since such an entry could not be decoded again. Both
decode paths now share one body parser, so bodies too short for the
fixed fields are an error on both paths instead of decoding into
garbage fields.

145 of 154 new or added lines in 1 file covered. (94.16%)

7 existing lines in 1 file now uncovered.

23950 of 28933 relevant lines covered (82.78%)

0.92 hits per line

Uncovered Changes

Lines Coverage ∆ File
9
91.41
2.85% mp4/audiosamplentry.go

Coverage Regressions

Lines Coverage ∆ File
7
67.8
-11.86% mp4/schm.go
Jobs
ID Job ID Ran Files Coverage
1 31467749564.1 11 Aug 2026 07:08AM UTC 208
82.78
GitHub Action Run
Source Files on build 31467749564
  • Tree
  • List 208
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 5591cb08 on github
  • Prev Build on master (#31432696442)
  • Next Build on master (#31499311916)
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