Skip to content

v0.3.5

Choose a tag to compare

@mohaanymo mohaanymo released this 04 Sep 12:49

v0.3.5

A restream-focused fix release. If you use -serve or -worker, upgrade —
several failures reported against v0.3.4 are fixed here.

Fixed

  • DASH restream of a VOD now starts immediately. A still-downloading VOD was
    served as a dynamic MPD whose segment availability is gated by wall-clock time,
    but m314dl spools the asset far faster than real time, so a compliant player
    saw the already-downloaded segments as "not yet available" and never started.
    The manifest's availabilityStartTime is now back-dated so every spooled
    segment is immediately playable and seekable (and it still finalizes to a
    static, fully-seekable MPD on completion).

  • Restream no longer runs the machine out of memory on a large VOD. Segments
    were spooled under the system temp dir, which is tmpfs (RAM) on most Linux
    hosts — so a big asset (e.g. a long 4K stream) filled memory and was
    OOM-killed. Spooling now goes to real disk by default (the current working
    directory), with a new -spool-dir <path> flag to choose the location and
    a warning if the chosen directory is RAM-backed.

  • Multi-trun fragments decrypt correctly. A fragment whose traf carried
    more than one trun kept only the last run's sample map while the encryption
    info covered all samples, decrypting the rest to garbage. Single-trun
    fragments (the common case) are unchanged and remain byte-exact against the
    reference tools.

  • Trick-play tracks are no longer offered as normal video. DASH trick-mode
    (I-frame-only) representations marked with the DASH-IF EssentialProperty are
    now excluded from selection instead of appearing as ordinary renditions.

Notes

Decryption still requires you to supply the content key; the tool performs no
license/CDM handshake. In -worker/-serve on a host where /tmp is tmpfs,
point -spool-dir at a real-disk path for large VODs (the default already does
the right thing).