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

Eyevinn / mp4ff / 36387345838
83%

Build:
DEFAULT BRANCH: master
Ran 28 Sep 2026 06:37AM UTC
Jobs 1
Files 216
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

28 Sep 2026 06:36AM UTC coverage: 82.339% (-0.03%) from 82.364%
36387345838

push

github

tobbee
feat(mp4): generate ftyp and styp brands from the content

InitSegment.GenerateFtyp computes the lowest brand of the ISO/IEC 14496-12:2026 Annex E chain that supports the boxes of the init segment and the declared contents of its media segments (FragmentFeatures, defaulting to what mp4ff's fragment writer emits). The ftyp must be written before the segments exist, which is why their contents are declared. It adds av01 and iamf, which their codec specifications require, and dby1 for Dolby Vision. With CMAF requested, cmfc or cmf2 becomes the major brand with minor version 0, and a CMAF header with more than one track, box versions beyond iso9 (23000-19 7.3.1), or fragments without tfdt or default-base-is-moof is rejected. Otherwise the major brand is mp42, since Annex E brands should not be the major brand (E.1). The major brand is always repeated (5.2).

MediaSegment.GenerateStyp adds msdh when the segment has the DASH Simple format (23009-1 6.3.5.3), msix for the Indexed format (6.3.5.4), cmfs, cmff and cmfl plus cmfr at a sync sample for CMAF segments, and lmsg for the last segment. SetFtyp replaces the ftyp of an init segment.

CreateFtyp and CreateStyp repeat the major brand, drop dash, which declares a self-initializing indexed segment in DASH and has no meaning in a live init or in styp, and CreateStyp adds cmff and cmfl, which a CMAF segment start carries (23000-19 7.3.2.4 NOTE 2). The muxed mode of the segmenter example now uses the generator, since a multi-track init is not a CMAF header.

Refs #540

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017q3eYmMQXKrP3iY8UCS48r

172 of 219 new or added lines in 5 files covered. (78.54%)

22654 of 27513 relevant lines covered (82.34%)

0.82 hits per line

Uncovered Changes

Lines Coverage ∆ File
45
78.67
mp4/brandgen.go
2
76.28
-0.54% examples/segmenter/segmenter.go
Jobs
ID Job ID Ran Files Coverage
1 36387345838.1 28 Sep 2026 06:37AM UTC 216
82.34
GitHub Action Run
Source Files on build 36387345838
  • Tree
  • List 216
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • d6734fc5 on github
  • Prev Build on master (#36385869677)
  • Next Build on master (#36387831180)
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