6.0.0 - visionOS support
Superseded by 6.0.1. This tag pins LibDovi 1.1.0, which has been withdrawn (a platform-floor raise is breaking and belonged in a major, and as a minor it also broke every 5.x pin that floated onto it), so 6.0.0 no longer resolves. 6.0.1 carries the same content against LibDovi 2.0.0.
visionOS joins iOS, tvOS and macOS as a supported build platform, and the tvOS floor moves to 17.0. That floor change is the only breaking part of this release: no public symbol was removed or renamed.
Added
-
visionOS as a build platform.
Package.swiftdeclares.visionOS(.v1), and the engine builds for both visionOS device and the visionOS Simulator against FFmpegBuild 2.4.0 and LibDovi 1.1.0, which carry thexrosslices. The FFmpeg slice is feature-identical to the tvOS one, down to byte-identical codec, demuxer, filter and parser lists, so Dolby Vision, HDR10+, Atmos bridging, dav1d, teletext and the sidecar demuxers are all present rather than trimmed. Requested by jihongboo (#161).Three source sites learned about the platform:
VTCapabilityProbe: the AV1 supplemental-decoder registration was guarded on tvOS / iOS / macOS versions only, and a platform absent from#availablecounts as available, so visionOS reached an API introduced in 26.2. TheVTIsHardwareDecodeSupportedgate below it needed nothing; that API is there from visionOS 1.0.- AirPlay:
AVPlayer.isExternalPlaybackActiveis unavailable on visionOS, which has no receiver to hand a stream to. The KVO observation is compiled out and reads go through a helper that is false there, so the whole "serve the loopback over the device's LAN IP" path (#86 / #227) is inert. SampleBufferRenderer:preventsDisplaySleepDuringVideoPlaybackdoes not exist (there is no idle timer to hold off) andpreferredDynamicRangearrives in visionOS 26.0.
The tvOS-only display-criteria layer needed no changes at all: visionOS has no HDMI mode handshake, so the criteria-free routing the iOS path already uses applies as it stands.
Playback on real hardware is unverified. This release is "it builds, and every codec path is compiled in", not "it has been watched on a Vision Pro". If you run it there, a report either way is welcome on #161.
Changed
- BREAKING: the minimum tvOS version is 17.0, up from 16.0. This is a correction rather than a new requirement. LibDovi compiles its tvOS slices with
-mtvos-version-min=17.0and declares.tvOS(.v17), so an adopter building against tvOS 16 was already linking a binary that never supported it; the manifest simply claimed otherwise. It surfaces now because the LibDovi release carrying the visionOS slices also carries that correction. If you target tvOS 16, this release is the one to skip; nothing else about it will affect you.
Requirements
| Min | |
|---|---|
| iOS | 16.0 |
| tvOS | 17.0 |
| macOS | 14.0 |
| visionOS | 1.0 |