mirror of
https://github.com/yattee/yattee.git
synced 2026-11-02 01:47:18 +00:00
913b61980d5e59f50e5c73ecea9b3ac277a54e73
The heat in the iOS 27.2 TestFlight report (~36% CPU for 85 minutes with playback paused) started right after an audio route change while paused: mpv's ao_avfoundation logged "restarting due to system notification" and an unnamed thread went to ~36% immediately, still in the foreground. Its restart handler calls stop() then start() regardless of pause state; start() sets the synchronizer rate to 1 and requests media data, but paused mpv supplies no samples, so the empty renderer re-requests in a tight loop and the running renderer keeps iOS from suspending the app. When that log line arrives and mpv is paused, issue ao-reload so the AO is rebuilt paused. (The display link guard in the previous commit did not reproduce the spin when tested on a device.)
Yattee 2 is in the works! A new version of the app is being built with a refreshed experience. It pairs with the new Yattee Server — a self-hosted backend powered by yt-dlp that supports 1000+ sites. Join the TestFlight beta to try early builds, and check the new documentation site at docs.yattee.stream for guides, roadmap and changelog.
Features
- Native user interface built with SwiftUI with customization settings
- Player queue and history
- Player component with custom controls, gestures and support for 4K playback
- Fullscreen, Picture in Picture and background audio playback
- SponsorBlock, configurable categories to skip
- Automation with the
yattee://URL scheme, x-callback-url, Shortcuts and Siri
License
Yattee and its components is shared on AGPL v3 license.
Languages
Swift
96.9%
Ruby
2.6%
C
0.4%
