Skip to content

v1.3.0

Choose a tag to compare

@mormegil6 mormegil6 released this 29 Aug 10:15
· 46 commits to main since this release
v1.3.0
e3b7263

Third-order Ambisonics now plays on iPhone. The on-demand clips were verified end to end on an iPhone Xs (A12, iOS 18.7): video, 16-channel spatial audio, head tracking, fullscreen and looping, from the same DASH stream every other client receives. On the live stream the same device plays video without audio, which is open.

Four things stood between the player and iOS. dash.js treats ManagedMediaSource's endstreaming as a permanent stop and blocks even the init segment, which is an upstream defect still present on their development branch. No iPhone before the A17 Pro decodes AV1, so each clip now carries an H.264 ladder beside the AV1 one, with selectionPriority keeping capable devices on the 8K rungs. A muted element makes iOS treat the page as ambient sound, so the audio session is declared explicitly and the AudioContext is closed on pagehide. Device orientation is requested from the touch that starts playback, not from the play event, which fires too late to carry the gesture. docs/IOS-SAFARI.md has the detail and the measurements.

Independently of iOS: VOD manifests were served with no Cache-Control, so a viewer who watched before a repackage kept a manifest naming files that no longer existed and got a player that spun forever. Manifests now ship no-cache. See docs/VOD.md for the two-codec packaging and the cache policy.

Known limits, including live audio and a short gap at the top of a loop, are listed in docs/IOS-SAFARI.md.