Four fixes in the mpv player. Three were salvaged from a parked branch where they had been mixed in with remux work that is not ready; they had nothing to do with it.
Subtitles now clear the edge of the television
sub-pos was computed as 100 - offset/10, and the stored offset defaults to zero — so the default was 100, which puts the line against the physical bottom of the frame. That strip is exactly what a television overscans away. Every viewer had this on muxed subtitle tracks.
It now starts at 90, inside the title-safe area, with mpv's margins enabled so text is laid out inside the frame rather than against it. A positive offset still moves the line upward.
The bundled CJK font reaches mpv
Registering the Noto CJK face with CoreText was never enough: libass loads fonts through FreeType and does not consult the process registration. The face was visible to Swift and still rendered as tofu. It now gets the directory as a font source too.
Changing audio or subtitle track no longer cuts the sound
mpv demuxes only the streams that are selected, so picking a new track makes it seek back to the playhead to collect that stream's packets. demuxer-max-back-bytes defaults to zero, so that seek went to the network — one to two seconds of silence, every time, on a debrid or HTTP source.
A 32 MiB backward buffer with a seekable cache serves the same seek from memory, and the switch happens under the picture.
Smaller
- The viewer's default picture shape is applied before
loadfile, so the first frame already has it instead of snapping out of Fit a beat later. .focusEffectDisabled()on the in-player panel rows, source rows and rail cards — the same tvOS 26 focus plate fixed on the skip and post-play cards in 1.0.9, on the surfaces that pass was not looking at.
Verification
182 unit tests, 8 UI tests, 0 failures. Built from a clean tree at the release commit.
The track switch and the subtitle position need a real stream and a real television to confirm — reported as fixed in principle, not as observed.
Unsigned IPA — sideload with your usual signer.