mirror of
https://github.com/yattee/yattee.git
synced 2026-10-23 21:22:53 +00:00
f2eacaf6d642900871a4aaf53215aeeb48444a22
One build 270 crash log aborts in talloc (talloc_abort_unknown_value) inside libsmbclient name resolution while a media-source download opens a file through SMBBridge, with FFmpeg reading an smb:// file on another thread at the same time. libsmbclient keeps its talloc stackframe behind a table of thread functions, and none was installed (this build does not export smbc_thread_posix()), so every thread shared one stackframe and the two users freed each other's allocations. Install a pthread implementation of smb_thread_functions at load time, before any libsmbclient use, including FFmpeg's. The struct layout matches what talloc_stack and smb_threads in the bundled library read (get_tls at +0x30, lock_mutex at +0x10).
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.7%
C
0.3%
