github MakD/AFinity v0.0.5-alpha

latest releases: v0.8.3-beta, v0.8.2-beta, v0.8.1-beta...
6 months ago

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 into PlayerViewModel.
  • 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 switchToTrack method.
  • 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 PlayerViewModel to 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_URL to point to a new PNG in the GitHub repository.
  • Improved PlayerControls UI for better visibility and interaction with controls, including center play button fixes.
  • Refined MPV player handling: paused state observation, audio focus management, and seekTo improvements.
  • 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

  • @MakD made their first contribution in #1

Full Changelog: v0.0.4-alpha...v0.0.5-alpha

Don't miss a new AFinity release

NewReleases is sending notifications on new releases.