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

Eyevinn / moqlivemock
56%
main: 56%

Build:
Build:
LAST BUILD BRANCH: perf/mp4ff-v0.58.0
DEFAULT BRANCH: main
Repo Added 17 Feb 2026 02:50PM UTC
Files 38
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

LAST BUILD ON BRANCH perf/mp4ff-v0.58.0
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • chore/go-608-v0.9.0
  • chore/moqtransport-v0.10.0
  • chore/moqtransport-v0.11.1
  • chore/remove-goreportcard-badge
  • ci/latest-tracks-main
  • ci/node24-actions
  • dependabot/go_modules/github.com/quic-go/quic-go-0.59.1
  • dependabot/go_modules/golang.org/x/crypto-0.52.0
  • disable-dependabot
  • docs-locmaf-drm
  • docs/changelog-setup-wt
  • docs/locmaf-versioning
  • docs/trim-claude-md
  • draft-16
  • draft-18
  • feat/add-CENC-support
  • feat/add-DRM-support
  • feat/add-locmaf-support
  • feat/av1-test-content
  • feat/bitrate-overhead
  • feat/cc608-av1
  • feat/cc608-catalog-and-verify
  • feat/cc608-package
  • feat/cc608-paint-on
  • feat/cc608-wiring
  • feat/fetch
  • feat/hevc-loc
  • feat/loc
  • feat/mlmrel-docker
  • feat/mlmrel-relay
  • feat/mlmrel-rendezvous
  • feat/mlmsub-discover
  • feat/multi-namespace
  • feat/namespace-tuples-and-pull-discovery
  • feat/paint-model-subtitles
  • feat/version-from-buildinfo
  • fix-audio-wrap-around
  • fix-badges
  • fix-fairplay
  • fix-locmaf-bitrate
  • fix/catalog-codec-order
  • fix/cenc-iv
  • fix/clearkey-cenckey
  • fix/draft16-setup-and-wt-negotiation
  • fix/long-loop-duration
  • fix/mlmrel-unanswered-requests
  • fix/object-id-delta
  • fix/safari-webtransport
  • fix/safari-webtransport-limits
  • fix/unannounce
  • improve-locmaf-details
  • improve-locmaf-details2
  • integration-tests
  • joining-fetch-catalog
  • loc-04-timestamp
  • locmaf-0.3
  • locmaf-v0-2
  • main
  • perf/mp4ff-v0.58.0
  • relase/v0.10.0
  • release/v0.11.0
  • release/v0.11.1
  • release/v0.12.0
  • release/v0.13.0
  • release/v0.14.0
  • release/v0.15.1
  • release/v0.16.0
  • release/v0.16.1
  • release/v0.9.0
  • update-moqtransport-main
  • ver-0-8-0
  • ver-060
  • ver-061
  • ver070

04 Oct 2026 03:49PM UTC coverage: 55.941%. First build
37214498113

Pull #154

github

tobbee
fix(drm): encrypt each MoQ group as one decode sequence

Each chunk was encrypted with mp4.EncryptFragment, which makes a new FragmentEncryptor every time: a new AES key schedule, sample protector and IV copy, and for AV1 a new frame header decoder. An AV1 inter frame was therefore parsed without the reference frames before it, which decide parts of its header, so the clear range of a protected sample could end before or after the start of the tile data.

GenMoQGroup now creates one FragmentEncryptor per group, which starts at a random-access point, passes it to GenCMAFChunk and GenLocmafChunk, and stores its next IV on the track afterwards. A nil encryptor encrypts a chunk on its own, as before, for the bitrate measurement and the tests. The IV chain is unchanged, so every encrypted AVC, HEVC, AAC, Opus and AC-3 object is byte-identical. Encrypted tracks are a further 13% faster with 9% fewer allocations (geomean).

For AV1, mp4ff now finds the tile data where ffmpeg's trace_headers does for all 250 frames of video_400kbps_av1 with the sequence header of its keyframes, against 139 frames when each chunk was encrypted on its own. The av1C of the AV1 test assets holds a sequence header that differs from the one in the keyframes, and mp4ff parses with the av1C one, so the ranges of these assets stay wrong until that is fixed separately.
Pull Request #154: perf: halve the cost of generating MoQ groups with mp4ff v0.58.0

50 of 61 new or added lines in 2 files covered. (81.97%)

3399 of 6076 relevant lines covered (55.94%)

1288.58 hits per line

Relevant lines Covered
Build:
Build:
6076 RELEVANT LINES 3399 COVERED LINES
1288.58 HITS PER LINE
Source Files on main
  • Tree
  • List 38
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
37214498113 perf/mp4ff-v0.58.0 fix(drm): encrypt each MoQ group as one decode sequence Each chunk was encrypted with mp4.EncryptFragment, which makes a new FragmentEncryptor every time: a new AES key schedule, sample protector and IV copy, and for AV1 a new frame header decode... Pull #154 04 Oct 2026 03:51PM UTC tobbee github
55.94
36672947242 release/v0.16.1 chore(release): prepare v0.16.1 The Safari WebTransport fix from #152 is the whole of this release. Cut the [0.16.1] CHANGELOG entry. A patch release: mlmpub and mlmrel now advertise the WebTransport stream and data limits that Safari enforces, ... Pull #153 30 Sep 2026 05:21AM UTC tobbee github
56.01
36672802962 main fix(webtransport): advertise the initial stream and data limits, so Safari can open streams In Safari, MOQ Player connected, received the server's control stream and then stopped: createUnidirectionalStream() never resolved, so the MoQ SETUP was ... push 30 Sep 2026 05:19AM UTC tobbee github
56.03
36627551616 fix/safari-webtransport-limits fix(webtransport): advertise the initial stream and data limits, so Safari can open streams In Safari, MOQ Player connected, received the server's control stream and then stopped: createUnidirectionalStream() never resolved, so the MoQ SETUP was ... Pull #152 29 Sep 2026 08:37PM UTC tobbee github
56.08
36589100801 main chore(release): prepare v0.16.0 Stream priorities over raw QUIC and subtitles at the video cadence, with the paint-model and LOCMAF subtitle tracks, are the substance of this release. Cut the [0.16.0] CHANGELOG entry. A minor release: the subtit... push 29 Sep 2026 03:18PM UTC tobbee github
54.59
36588593161 release/v0.16.0 chore(release): prepare v0.16.0 Stream priorities over raw QUIC and subtitles at the video cadence, with the paint-model and LOCMAF subtitle tracks, are the substance of this release. Cut the [0.16.0] CHANGELOG entry. A minor release: the subtit... Pull #151 29 Sep 2026 03:15PM UTC tobbee github
54.32
36588111812 main feat(version): take the version from Go's build information Since Go 1.24, building a package in a git checkout embeds the version from the tag: v0.15.1 at the tag, a pseudo-version such as v0.15.2-0.20260929143058-141ad30347be after it, and +dir... push 29 Sep 2026 03:11PM UTC tobbee github
54.65
36586915453 feat/version-from-buildinfo feat(version): take the version from Go's build information Since Go 1.24, building a package in a git checkout embeds the version from the tag: v0.15.1 at the tag, a pseudo-version such as v0.15.2-0.20260929143058-141ad30347be after it, and +dir... Pull #150 29 Sep 2026 03:01PM UTC tobbee github
54.6
36583253807 main feat(subtitles): send subtitles at the video cadence, with paint-model and LOCMAF tracks A subtitle group held one object per second, sent at the start of the second. It now holds one CMAF chunk per video object (25 per second for the test conten... push 29 Sep 2026 02:32PM UTC tobbee github
54.4
36571063872 feat/paint-model-subtitles feat(subtitles): send subtitles at the video cadence, with paint-model and LOCMAF tracks A subtitle group held one object per second, sent at the start of the second. It now holds one CMAF chunk per video object (25 per second for the test conten... Pull #149 29 Sep 2026 12:53PM UTC tobbee github
54.3
See All Builds (239)
  • Repo on GitHub
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