Skip to content

v1.2.0

Choose a tag to compare

@mormegil6 mormegil6 released this 28 Aug 08:27
· 81 commits to main since this release
v1.2.0
54efd37

The on-demand clips now play in Safari, which they did not before. The cause was a byte-order bug in how Shaka Packager writes the Opus dOps box, unfixed since 2016 and reported as shaka-packager#1627. The packager is therefore built here rather than pulled, in services/shaka, on the tools profile so it costs nothing unless you package clips. Two smaller things were needed alongside it: a static manifest, without which dash.js treats a two minute clip as a live stream and starts it ninety seconds in, and a rebuilt player, carrying an Opus-probe bypass that had sat on the fork's master since v1.1.0 without reaching a shipped image.

The captions and quality buttons had been appearing on roughly two Safari loads in nine. data-setup on the video element let video.js build the player itself with empty options, racing the player's own constructor and discarding the quality plugin and caption settings whenever it won. Chromium never lost that race, which is why it looked like a Safari bug. The quality menu also kept a stale tick when a rung was picked while paused, in every browser.

Not fixed: audio stops when a Safari tab or Space loses visibility. WebKit suspends a backgrounded muted video element that carries no decodable audio track, and Safari drops the 16-channel Opus set. The answer is a silent AAC keep-alive rendition in the manifest, and the on-demand clips are where it will land first.

Chromium and Firefox are unaffected throughout. The live path never touches Shaka and is unchanged.