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

Eyevinn / mp4ff
82%

Build:
DEFAULT BRANCH: master
Repo Added 01 Nov 2024 09:40PM UTC
Files 214
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 master
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • aac-asc-header
  • av1-crypto-rap
  • av1-update
  • avcc-encode-trailing-info
  • avcc-preserve-trailing-bytes
  • avs3
  • chore-bump-min-go-1.18
  • chore-bump-min-go-1.19
  • chore/changelog-union-merge
  • chore/codespell
  • chore/prepare-v0.53.0
  • chore/prepare-v0.56.0
  • chore/remove-goreportcard-badge
  • ci/checkout-v7
  • codespell
  • colr-icc-decode
  • compressorname-length-clamp
  • dac4
  • decode-box-body-sr
  • defragment-core
  • defragment-hybrid
  • defragment-overlaps
  • docs/changelog-dec3-joc
  • docs/defragment-wording
  • docs/fix-doc-comment-drift
  • docs/fix-misleading-doc-comments
  • docs/install-instructions
  • elst-media-rate
  • esds-vocabulary
  • feat-coll-box
  • feat-create-sei-nalu
  • feat-hevc-encrypt
  • feat-ivf
  • feat-lbli-sample-group
  • feat-lhvc-box
  • feat-linf-oinf-sample-groups
  • feat-mvhevc-builders
  • feat-mvhevc-cli
  • feat-trgr-track-group
  • feat-vexu-spatial-video
  • feat-vp-codec-sample-box
  • feat-vps-multilayer-extension
  • feat/av1-metadata-obu-cea608
  • feat/clone-box
  • feat/dolby-vision-dvh1-dvhe
  • feat/hevc-hdr-boxes
  • feat/motion-jpeg
  • feat/mov-decoder
  • feat/piff
  • feat/rsot-box
  • feat/stream-read-mdat-data
  • feature-encryption-boxes
  • feature/exporttfhd
  • fix-avcdecoderconfig
  • fix-bound-more-bitstream-counts
  • fix-co64-size-overflow
  • fix-container-children-bounds
  • fix-ftyp-styp-short-payload
  • fix-goreleaser-brew
  • fix-hevc-ps-dos
  • fix-interleaved-sidx-boxes
  • fix-mime-box
  • fix-senc-panic
  • fix-senc-robustness
  • fix-short-esds-issue-393
  • fix-sliceheader-spsid
  • fix-sps-num-ref-frames-overflow
  • fix-ssix-box
  • fix-stsc
  • fix-subs-box
  • fix-trailing-avc1-bytes
  • fix-typos
  • fix-vps-ols0-necessary-layers
  • fix/avc-pps-scaling-lists
  • fix/cenc-encrypt-conformance
  • fix/cenc-increment
  • fix/container-size-underflow
  • fix/get-sample-data-indexing
  • fix/hevc-multilayer-ext-sps
  • fix/hevc-slice-deblocking-inference
  • fix/issyncsampleflags
  • fix/mdat-mixed-data
  • fix/oob-panics
  • fix/sdtp-entry-depends-on
  • fix/sei-nalu-short-panic
  • fix/stts-decode-time-bounds
  • fix/trun-mdat-bounds
  • flac
  • fuzz-box
  • go-releaser
  • golangci-lint-v2
  • handle-trailing-avc1-bytes
  • hevc-ref-idx-255
  • hevc-vps
  • iMro0t-feature-encryption-boxes
  • iMro0t-fix-avcdecoderconfig
  • improve-av1
  • improved-crypt-tools
  • issue-492
  • labl-box
  • lpcm-format-flags
  • master
  • mdat-header-size
  • mdhd-dur-info
  • minimal-ac4
  • more-robust-decode
  • mp4-blackbox-test
  • mpeg-h
  • new-pssh-func
  • normalize-quicktime
  • opus
  • parse-joc-dolby-atmos
  • patch-1
  • perf/add-full-samples
  • perf/addfullsamples-always-parts
  • perf/buffer-cmd-writers
  • perf/buffer-writetofile
  • perf/bulk-table-decode
  • perf/cipher-hoist
  • qt-legacy-audio-entries
  • qt-sound-descriptions
  • refactor/styp-delegate
  • release/v0.51.0
  • release/v0.52.0
  • release/v0.54.0
  • release/v0.55.0
  • remove-homebrew-cask
  • return-partial-files
  • sampleflags-test
  • sei-recovery-point
  • spherical-v1-no-xml
  • sphericalv1
  • stream-process
  • test-header-parsing
  • test-visualsampleentry
  • tkhd-preserve-matrix
  • update-changelog
  • update-coverage-job
  • update-docs
  • update-make
  • v0.48.0
  • v0.49.0
  • v0.50.0
  • vtpl1-master
  • vvc
  • vvc-nal-headers
  • wave-box
  • wave-box-followups
  • weird-dac3

14 Sep 2026 12:10PM UTC coverage: 82.132% (+0.03%) from 82.104%
34841943948

push

github

tobbee
feat(mp4): add the rsot box for redundant sample original timing

ISO/IEC 14496-12:2026 Section 8.8.18 adds the RedundantSampleOriginalTimingBox, a traf child that documents that the first sample of a track fragment is a copy of the previous sample and how long that sample has already been presented, and that the fragment's last sample was truncated to fit the fragment and how long it was meant to last.

Its NOTE 1 names the case it is meant for: adaptive streaming where fixed-duration segments are not aligned with variable frame rate media such as text, so a cue that spans a boundary is restated as a duplicated redundant sample. With rsot_elapsed_duration set, that first sample shall carry sample_depends_on=2 and sample_has_redundancy=1, and a receiver that already has the previous sample extends it rather than presenting the copy again.

Both durations are optional and independent, so the box size follows from the flags; decode rejects any other size rather than reading as far as it goes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

70 of 76 new or added lines in 4 files covered. (92.11%)

22179 of 27004 relevant lines covered (82.13%)

0.82 hits per line

Relevant lines Covered
Build:
Build:
27004 RELEVANT LINES 22179 COVERED LINES
0.82 HITS PER LINE
Source Files on master
  • Tree
  • List 214
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
34841943948 master feat(mp4): add the rsot box for redundant sample original timing ISO/IEC 14496-12:2026 Section 8.8.18 adds the RedundantSampleOriginalTimingBox, a traf child that documents that the first sample of a track fragment is a copy of the previous sampl... push 14 Sep 2026 12:10PM UTC tobbee github
82.13
34781970192 feat/rsot-box feat(mp4): add the rsot box for redundant sample original timing ISO/IEC 14496-12:2026 Section 8.8.18 adds the RedundantSampleOriginalTimingBox, a traf child that documents that the first sample of a track fragment is a copy of the previous sampl... Pull #589 13 Sep 2026 08:50PM UTC tobbee github
82.13
34780961367 master refactor(mp4): let DecodeStyp delegate to DecodeStypSR DecodeStyp built the box itself instead of delegating the way DecodeFtyp does, so the short-payload guard added in #581 had to be written twice for styp and once for ftyp. Delegating removes ... push 13 Sep 2026 08:30PM UTC tobbee github
82.1
34780822531 refactor/styp-delegate refactor(mp4): let DecodeStyp delegate to DecodeStypSR DecodeStyp built the box itself instead of delegating the way DecodeFtyp does, so the short-payload guard added in #581 had to be written twice for styp and once for ftyp. Delegating removes ... Pull #588 13 Sep 2026 08:28PM UTC tobbee github
82.1
34780679823 master fix(mp4): reject ftyp and styp boxes with a payload shorter than 8 bytes MajorBrand slices data[:4] and MinorVersion slices data[4:8] with no guard, and CompatibleBrands computes (len(data)-8)/4, which goes negative. A box declaring an 8-byte siz... push 13 Sep 2026 08:25PM UTC tobbee github
82.09
34780584245 fix-ftyp-styp-short-payload fix(mp4): reject ftyp and styp boxes with a payload shorter than 8 bytes MajorBrand slices data[:4] and MinorVersion slices data[4:8] with no guard, and CompatibleBrands computes (len(data)-8)/4, which goes negative. A box declaring an 8-byte siz... Pull #581 13 Sep 2026 08:23PM UTC tobbee github
82.09
34431760844 fix-ftyp-styp-short-payload fix(mp4): reject ftyp and styp boxes with a payload shorter than 8 bytes MajorBrand slices data[:4] and MinorVersion slices data[4:8] with no guard, and CompatibleBrands computes (len(data)-8)/4, which goes negative. A box declaring an 8-byte siz... Pull #581 13 Sep 2026 08:20PM UTC youdie006 github
81.91
34779805469 master fix(mp4): reject undersized boxes instead of underflowing the size A box whose declared size is smaller than the fixed fields preceding its children leaves startPos past endPos. dref, stsd and trep read their children from 16 bytes in and meta fr... push 13 Sep 2026 08:08PM UTC tobbee github
82.07
34779695408 fix/container-size-underflow fix(mp4): reject undersized boxes instead of underflowing the size A box whose declared size is smaller than the fixed fields preceding its children leaves startPos past endPos. dref, stsd and trep read their children from 16 bytes in and meta fr... Pull #587 13 Sep 2026 08:06PM UTC tobbee github
82.07
34779250288 fix/container-size-underflow fix(mp4): reject undersized boxes instead of underflowing the size A box whose declared size is smaller than the fixed fields preceding its children leaves startPos past endPos. dref, stsd and trep read their children from 16 bytes in and meta fr... Pull #587 13 Sep 2026 07:57PM UTC tobbee github
82.07
See All Builds (482)
  • 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