mirror of
https://github.com/yattee/yattee.git
synced 2025-11-20 17:02:21 +00:00
4c5b801c454b10b3f6016592e45e6540e2c63566
When switching from AVPlayer to MPV backend, Now Playing controls (play/pause/seek) were disabled because AVPlayer maintained control of the remote command center and audio session. This fix ensures MPV can properly reclaim control. Key changes: - Clear AVPlayer's current item when switching to MPV to release media control - Clear Now Playing info and set playback state to stopped before MPV takes over - Reset remote command center by removing all targets (including AVPlayer's internal handlers) and re-adding custom handlers - Force audio session deactivation/reactivation with .notifyOthersOnDeactivation - Add forceReactivate parameter to setupAudioSessionForNowPlaying() for backend switches - Ensure stream loading continues after Now Playing setup (don't return early) The fix properly handles the transition by: 1. Clearing AVPlayer's media session completely 2. Scheduling async Now Playing setup without blocking stream loading 3. Resetting remote command handlers to reclaim control from AVPlayer 4. Re-activating audio session to establish MPV as the active player
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
Documentation
Contributing
If you're interestred in contributing, you can browse the issues list or create a new one to discuss your feature idea. Every contribution is very welcome.
Use building instructions or join Discord or Matrix Channel for a chat if you need an advice or want to discuss the project.
Translations
You can help to make this project accessible to everyone by contributing to its localizations.
Localization service and hosting is provided by Weblate.
License
Yattee and its components is shared on AGPL v3 license.
Languages
Swift
99.4%
Ruby
0.6%
