Release Notes – v0.0.5-alpha
This release focuses on a comprehensive refactor of the video player, improving playback reliability, track selection, and user experience. The default player has been switched to libVLC, with enhanced support for ExoPlayer and MPV. Subtitles, trickplay previews, and playlist handling have been overhauled for smoother and more intuitive interactions.
Major Changes
Player Refactor and Multi-Player Support
- Default video player switched from ExoPlayer to libVLC for new installations.
- Full refactor of the player architecture to support both ExoPlayer and MPVPlayer, managed centrally via
PlayerViewModel. - Removed legacy repositories (
PlayerRepository,ExoPlayerRepository,LibMpvPlayerRepository) and consolidated all playback logic intoPlayerViewModel. - Player now dynamically chooses the implementation based on user preference, simplifying lifecycle and state management.
Track Selection & Subtitles
- Unified audio and subtitle track selection using a single
switchToTrackmethod. - External subtitles are now sourced directly from Media3 player track groups, ensuring accurate UI synchronization.
- Audio and subtitle track selection logic fully refactored to prevent mismatches and crashes.
- Subtitle UI and configuration improved for better alignment with playback state.
UI & Playback Enhancements
- Continuous update loop added in
PlayerViewModelto refresh playback position every 100ms for smoother progress bar updates. - Trickplay (video preview thumbnails on seek bar) implemented, with dynamic thumbnail loading and correct positioning.
- Segment skipping logic refined; "Skip Intro/Outro" buttons now respect user preferences and are more reliably displayed.
- Autoplay enhanced: player automatically advances to the next item in the playlist at the end of the current episode.
Playback Reporting & Analytics
- Periodic playback progress reporting every 5 seconds added.
- Explicit playback stop reporting ensures accurate server-side tracking even when the user navigates away from the player.
Minor Fixes & Improvements
- Updated
CLIENT_ICON_URLto point to a new PNG in the GitHub repository. - Improved
PlayerControlsUI for better visibility and interaction with controls, including center play button fixes. - Refined MPV player handling:
pausedstate observation, audio focus management, andseekToimprovements. - Settings screen refactored to use reactive Flows for preference updates.
- Player lifecycle management optimized: initialization, release, and state persistence improved.
- Cleaned up legacy code and commented-out logic across multiple files.
- App version incremented to
0.0.5-alpha.
This release lays the foundation for a more stable, versatile, and user-friendly playback experience, while simplifying the codebase for future improvements.
What's Changed
New Contributors
Full Changelog: v0.0.4-alpha...v0.0.5-alpha