Skip to content

v0.3.0

Choose a tag to compare

@tobbee tobbee released this 27 Oct 15:31
· 10 commits to main since this release
Immutable release. Only release title and notes can be modified.

Highlights

  • dashcheck has been run on all CTA WAVE and DASH-IF test vectors, and the false positives this
    found are fixed: self-initializing files, servers that answer byte ranges with 200, negative
    S@r, Periods after remote Periods, HE-AAC sampling rates, DTS audio and side-loaded subtitles.
  • tfdt and trun boxes are required only where the specifications require them. Fragments
    without tfdt are now checked instead of skipped.
  • Results follow the spec wording more closely, so an MPD that passed 0.2.1 can fail 0.3.0:
    MPD-MAXSEGDUR is now an error and checks whole Segment Sequences, while MPD-COMMON-BOTH is
    now information.
  • The browser tool keeps the latest 20 checks with their results, and its progress bar now
    covers the MPD update checks.

Added

  • HTTP-RANGE (warning), and HTTP-IOP-RANGE (error) for the IOP on-demand profile, when a server
    answers a byte range request with status 200. dashcheck then cuts the ranges from the whole resource.
  • The browser tool keeps the latest 20 checks with their results in localStorage, to show them
    again or to check a URL again with the same options.
  • MPD-XLINK-START (warning) instead of an ADDR-PERIOD error for a Period without @start after a
    remote Period without @duration. Its segments are checked if its duration is known.
  • INIT-UNSUPPORTED (info) for sample entries that dashcheck cannot decode, such as DTS (dtsc,
    dtse), instead of SEG-CMAF-INIT errors.

Changed

  • MPD-COMMON-BOTH is information instead of a warning: ISO/IEC 23009-1 5.3.7.1 allows it.
  • MPD-MAXSEGDUR is an error instead of a warning (5.3.9.6.2), and compares a whole Segment Sequence
    (@d with @k) with @maxSegmentDuration.
  • References to ISO/IEC 23009-1 follow the published 6th edition (2026); SEG-SIDX-SPAN cites 6.3.5.4.

Fixed

  • LIVE-NO-SEGMENTS no longer reports a live Period whose first segment is not complete yet, or
    whose last segment leaves the time-shift buffer within the live margin.
  • The browser tool's progress bar covers the MPD update checks; it fell back to 5% while they ran.
  • XCHK-SAMPLERATE accepts the sampling rate after SBR for HE-AAC (mp4a.40.5, mp4a.40.29).
  • SEG-DURATION lets the last segment of an S with a negative @r end at the Period end.
  • For a self-initializing file (SegmentBase without Initialization), only the bytes before
    @indexRange are fetched as its Initialization Segment, not the whole file.
  • A missing tfdt is a SEG-TFDT error only in CMAF, msdh segments and the first fragment with
    SegmentTimeline and $Time$ but no sidx. SEG-START-UNKNOWN (info) marks other segments starting without it.
  • A traf without trun is a SEG-CMAF-CHUNK error in CMAF tracks only, not a SEG-STRUCTURE error.
  • MPD-CODECS no longer warns about side-loaded subtitle files (application/ttml+xml, text/vtt).