Releases: mpvRex/REX-Player
Release list
REX Player v5.1.0
This release introduces dual-mode video clip export, Material 3 Expressive grouped settings, responsive adaptive player panels, Jellyfin remote playback casting, and configurable playback resume controls.
Dual-Mode Video Clip Export
Video clipping now features a dedicated dual-mode export sheet, giving you complete control over export speed and frame precision:
- Fast Lossless Cut: Instant keyframe extraction via native FFmpeg stream copying without re-encoding or quality loss.
- Frame-Accurate Hardware Transcoding: Millisecond-precise trimming for exact start and end frames with hardware acceleration.
- Redesigned Export Sheet: Interactive sheet featuring high-precision timestamp intervals, formatted duration badge, and one-tap mode selection.
- Automatic Media Library Indexing: Saved clips in
Movies/REX Playerare immediately indexed and ready to share or play.
✨ New Features
- Material 3 Expressive Connected Grouped Settings: Comprehensive UI refresh applying Material 3 Expressive connected grouped lists, polished cards, and rounded shapes across all preference screens.
- Responsive Adaptive Player Panels: Redesigned video settings, subtitle settings, and delay panels that adaptively dock as side sheets in landscape mode and bottom sheets in portrait mode.
- Jellyfin Remote Playback Target (Cast to REX): Cast media from Jellyfin directly to REX Player as a remote playback target via WebSocket Play with background keepalive service (#315). (Thanks @Crisp79!)
- Configurable Resume Playback Modes: Choose how playback resumes with options for "Always", "Ask every time" (with interactive dialog), or "Always start afresh", plus a transient quick-restart pill (#309).
- Interactive Notification Playback Controls: Added repeat mode (Off / Repeat All / Repeat One) and shuffle toggle buttons directly inside the active media playback notification with refined button styling.
- Dynamic Gesture Speed Memory: Option to remember adjusted playback speed multipliers modified via dynamic long-press swipe gestures (#304).
- Storage Permission Bypass: Allow skipping storage permission requests during first-run onboarding for users who exclusively use network streaming or external file managers (#308).
- Force LTR Direction & Arabic Codepage Detection: Added toggle to force Left-to-Right text direction and enhanced codepage autodetection for Arabic subtitles (#271).
- Ukrainian Translation: Added comprehensive Ukrainian localization (#326). (Thanks @vladdrako007!)
- German Translation: Added full German localization. (Thanks @feuersternX!)
- Hindi Translation: Added full Hindi localization. (Thanks @PrimePax!)
- Russian Translation Updates: Updated Russian localization with latest UI strings (#327). (Thanks @blxckhundred!)
- Brazilian Portuguese Translation Updates: Updated Portuguese localization across all preference screens. (Thanks @𝟰𝗞𝘼𝙭𝙡 𝙍𝙤𝙨𝙚𝟰𝗞ᶤ ᶫᵒᵛᵉᵧₒᵤ!)
- Arabic Translation Updates: Updated Arabic translation strings. (Thanks @yarushu!)
- Bengali Translation Updates: Updated Bengali localization.
⚡ Performance & Optimizations
- Native FFmpeg Stream Copying: Integrated native fast clipping for instant lossless exports with zero CPU/GPU transcoding overhead.
- Fluid Panel Animations: Removed outer container bounds distortion in player panels for smooth orientation switching and side-sheet transitions.
🐛 Stability & Bug Fixes
- Secondary Subtitle Overlap & Positioning: Resolved subtitle collision by ensuring secondary subtitles render cleanly without overlapping primary text, with dedicated position offset controls (#302).
- BiDi & RTL Metadata Reversal: Fixed reversed text and number-unit ordering in Media Info and multi-selection info sheets when running under Right-to-Left (RTL) locales (#303).
- Slider Text Wrapping in Player Panels: Resolved text collapsing and scattered slider labels in audio/video panels with standardized vertical column layouts.
- Jellyfin Remote Connection Security: Hardened WebSocket authentication to rely strictly on secure headers, sanitized logging URLs, and added insecure HTTP connection warnings (#315). (Thanks @Crisp79!)
Checksums
| Variant | SHA-256 |
|---|---|
| arm64-v8a | efd718e836a5fc14baf1871faf2a541e3a633888fdd73f92863761e3a9845fe3 |
| armeabi-v7a | d4fb4403cb17e5be39c3489bf90abb6213fc6569b48f59fdd1b449291e62384e |
| Universal | ffb186bdb0182f8aca6c70a04dcc1e8d5209d399396b34b701582d7398812c8a |
| x86 | e4e112c204c5d606c94b64f1b5d4f467c6d0c1d20686b54803459c3631e0e921 |
| x86_64 | cba84cc313b40de55a1a55b9016b2e8b8cea3e8988ee2cafa2d0a711b78b8b7e |
REX Player v5.0.0
REX Player v5.0.0 is here! 🎉
This release brings a local HTTP Web Share server with two-way file transfers, indexed fast search with multi-selection, on-demand .nomedia folder browsing, and a welcome onboarding flow.
Note on Rebranding: mpvRex is now REX Player
Same app, same package (xyz.mpv.rex), same install — your library, database, and settings remain untouched. No action is required.
🔥 Highlighting: Local HTTP Web Share Server
REX Player now allows you to stream, share, and transfer media files directly across devices on your local Wi-Fi network:
- In-Browser Media Streaming: Stream video and audio directly to any phone, PC, tablet, or smart TV browser without installing extra software (#298).
- Two-Way File Uploads: Upload media files from connected browser clients directly into your device's Download folder.
- QR Code & Direct Pairing: Connect nearby devices using generated QR codes or direct IP links.
- HTML5 Web Interface: Web media player with playback controls and one-click file downloads.
- System Share Sheet Integration: Send media from external apps directly into Web Share.
- Access Security: Toggle optional persistent PIN/token authorization to restrict access to streaming sessions.
✨ New Features
- Unified Fast Search & Multi-Selection: Dedicated search screen powered by indexed queries, supporting multi-selection batch operations (rename, delete, copy/move, playlists) and scoped folder filtering (#301).
- On-Demand
.nomediaFolder Browsing: Option to discover and browse.nomediadirectories in the folder browser with a quick toggle in the sort dialog. - Welcome Onboarding Flow: First-run setup guiding new users through storage permissions, basic preferences, and core navigation.
- In-App Language Switcher: Change the app's display language directly inside Appearance preferences without altering system locale settings.
- Persistent Media Index: Database-backed media index for faster folder navigation, background metadata enrichment, and thumbnail fallbacks.
- Scan Roots & Excluded Folders: Configure custom library scan roots and exclude specific directories directly from Media Library preferences.
- Interactive FastScrollbar: Touch-draggable scroll indicator across media lists with improved touch targeting and navigation insets (#296).
- Shorts Media Sharing: Added a direct share button inside the Shorts player menu sheet.
- Community & Support Dialog: Replaced the top bar button with a periodic reminder dialog (with 10-day follow-up) for feedback and support channels to keep the header clean.
- Branded Splash Screen: REX Player splash branding with dynamic Material 3 color matching.
- Russian Translation: Added comprehensive Russian localization (#300). (Thanks @blxckhundred!)
- Arabic Translation Updates: Completed full Arabic translation across all new screens and preferences (#266, #285). (Thanks @AhmedRX20!)
⚡ Performance & Optimizations
- Duration & Metadata Resolution: Resolves missing durations on media lists using indexed bucket queries and first-frame cache resolution.
- Optimistic Media Deletion: File deletion updates the UI and Room database immediately, eliminating the previous full-refresh delay.
- Network Browser List State: Preserved list state across recompositions to prevent duplicate SMB listings and cancelled scroll gestures (#281). (Thanks @freeorca!)
- Pause Latency Fix: Restored direct hardware decoding (
hwdec) and stream queue handling to eliminate delay when pausing playback.
🐛 Stability & Bug Fixes
- Volume Gesture Scaling on OEM Devices (Xiaomi, Oppo, Realme): Dynamically scales vertical swipe volume sensitivity based on the stream's maximum volume, resolving hyper-sensitive volume gestures on MIUI, HyperOS, ColorOS, and custom ROMs.
- Embedded Thumbnail Track Fix: Prevented embedded album and thumbnail tracks from overriding the main video stream during surface initialization.
- Search UI Overflow: Fixed layout overflow on long folder and path names in search results.
- Browser Bottom Bar Layout: Positioned the bottom bar properly above the Mini Player and Navigation Bar with consistent spacing (#279).
- Folder Audio Filtering: Folder item counts and visibility now strictly respect the
showAudioFilespreference (#272). - Folder Badge Updates: Fixed "new video" folder badge counters to decrement immediately upon playback.
- Loading State Synchronization: Synchronized folder item loading states to eliminate empty state flashing during navigation.
Checksums
| Variant | SHA-256 |
|---|---|
| arm64-v8a | 8d037a9b756a2303ea648f1a7655883ccc4993c268198b8a4806cab2b1f53376 |
| armeabi-v7a | b681cbb3a493bc8e039745e397d6e8e256c5345ba37a62ba058a6f155afd3fa1 |
| Universal | 5b9abd353b3e7c34189d0f5ab6fac9700ca1388e5c8f05bfc971a972bb8ab228 |
| x86 | b520bc3891b5c1092b2010f9464ebad0abbdeb53e2a5cae8d85644320e235bda |
| x86_64 | dbaf521ef7785d8641edd11f779c051e3869af09d90aeba801af2e71f3e60bd1 |
mpvRex v4.5.0
This release introduces a brand new in-app Mini Player with background playback, video clip cutting, persistent track memory, massive SMB streaming performance improvements, and an upcoming app rename preview.
📢 Upcoming Rebranding Notice: mpvRex will be changing its name to REX Player in a future release! You'll notice a smooth header title transition on the home screen looping between
mpvRexandREX Playeras a sneak peek of our new identity.
🔥 Highlighting:
mpvRex now features a full-featured persistent mini player and background audio system:
- Persistent Mini Player: Keep media playing in a floating mini player while browsing your library or playlists.
- Swipe-Up Morphing Layout: Smoothly expand the mini player into full screen or collapse it with fluid touch gestures.
- Swipe-to-Skip Gestures: Swipe left or right on the mini player bar to quickly switch between tracks.
- Background Playback Modes: Choose when background playback activates — Always, Audio files only, Video files only, or Never.
- Direct Mini Player Playback: Play files directly into the mini player from the file browser without opening the full player screen.
✨ New Features
- Video Clip Cutting: Cut and export video clips directly from the A-B repeat overlay — set your loop points and save.
- Smart Track & External Audio Memory: Remembers selected audio/subtitle tracks and external audio files per-video, automatically restoring them on reopen (#113, #220).
- Device Codec Support Info: View supported hardware (HW) and software (SW) decoders directly in settings (Closes #238).
- Seekbar Customization: Added preferences to hide chapter markers and buffered read-ahead indicators on the seekbar (#152, #236).
- Gesture & Controls Options: Added option to disable "Release to cancel" gesture overlay (#180), reverse double-tap seek direction toggle, and double-click chapter buttons to skip chapters.
- App & Navigation Tweaks: Picture-in-Picture priority over mini player, home screen back press minimizes app, and dynamic app name in settings backup files (#226).
- Localization Updates: Added Simplified Chinese (Thanks @wcxu21!), updated Spanish (Thanks @FFSA47!), completed Arabic localization (Thanks @AhmedRX20!), and extracted hardcoded button & filter preset strings (#243, #244).
⚡ Performance & Optimizations
- High-Speed SMB Network Streaming: A new double-buffered prefetching engine for SMB streams boosts network throughput up to 4x (~20 MB/s), with SMB session reuse for faster seeks (#258, #263). (Thanks @freeorca!)
- Instant Folder Browsing: Video metadata is cached before rendering, eliminating chip reflow and item flickering (FPS, resolution, subtitle tags) when browsing folders (#239, #215).
- Faster Shorts Thumbnails: Isolated Shorts player thumbnail generation to the first frame for quicker loading.
🐛 Stability & Bug Fixes
- Orientation & UI Thread Deadlock Fix: Resolved UI thread deadlocks during orientation changes by using non-blocking coroutines.
- Surface & Playback Fixes: Prevented video surface stretching when rotating while paused, fixed paused seekbar position updates, and eliminated frame flashes when switching videos.
- Scoped Storage Access: Improved external file playback compatibility using fallback content URIs for unreadable paths.
- Text & Input Fixes: File rename dialog now automatically places text cursor at the end (#197), and removed unnecessary haptic vibration on control long-press.
Checksums
| Variant | SHA-256 |
|---|---|
| arm64-v8a | ba18952b7fd89ff59416334a9cb69c4f7fc410f5c3e64b762880201ace6a8496 |
| armeabi-v7a | 88bf7a76ba2d1b66b7a53167a8bf68e393c5ed2b2185da1b0eac31b94cff32cb |
| Universal | ad7ef637fef2267b2d94b28d861bd85480365a8eea169f6eb82291ec5cae681d |
| x86 | 2e013cc4e859ebbef1580da512975d2c87b881a444e45f9a27ca6acf184a27cd |
| x86_64 | fbfa9b6db17682bbfb6ea5b2e65f64894680aa2b86555baedbac1183576657be |
mpvRex v4.4.1
mpvRex v4.4.1
Maintenance release: HyperOS subtitle fix, Simplified Chinese support, expanded Arabic translations.
🔥 Highlight: HyperOS Subtitle Fix
Fixed subtitles rendering without spaces (HelloWorld → Hello World) on Xiaomi HyperOS (Android 15 & 16).
✨ New
- Simplified Chinese (
zh-rCN) support added (#224) — thanks @wcxu21! - Arabic translations expanded for Shorts actions, ambient mode, and zoom controls (#225, #231, #232) — thanks @AhmedRX20!
🐛 Fixes
- Item-count plurals fixed in delete confirmation dialogs (#232)
- Hardcoded UI strings extracted into resources for full localization (#231, #232) — thanks @AhmedRX20!
Checksums
| Variant | SHA-256 |
|---|---|
| arm64-v8a | 85c7eba88ab8d23b2d4d941e420a798370cb48a72dd15dfe663c81f620cdcc28 |
| armeabi-v7a | 665d5dd6d076da47be7cd98d63f8f3712dbcc5f4b634bfb2da4e5c20f0084d88 |
| Universal | a0a0edba11185c3bbb2f1d74d56f940164c65cfd016c127e55098a319c9d0361 |
| x86 | e6d28afa5fba237b50c035475431c0d74d50339bba624e313ecc5dc792e8ad7e |
| x86_64 | bbd4c978f9e4333504a757e81e059f3ff82d4d9826de743e0165a834826a85c8 |
mpvRex v4.4.0
mpvRex v4.4.0 is here! This release introduces a beautiful new Glass Theme player UI, customizable circular seek animations, embedded cover art thumbnails, advanced zoom controls, a redesigned MoreSheet, significant playback performance improvements, and dozens of stability and localization fixes.
🔥 Glass Theme Player UI
The entire player interface has been reimagined with a sleek glass-morphism design language:
- Glass Controls & Seekbar: Player controls, buttons, title bar, sliders, OSD, and slide-to-unlock all render with translucent glass backgrounds.
- Glass Seekbar Container: Seekbar and timestamps are wrapped in a unified glass container row with refined capsule paddings.
- Glass Speed Indicator: A compact glass-themed speed indicator with animated speed button transitions.
- Glass Shorts Controls: Shorts player controls now use the glass style with a toggleable back button and outlined tab icons.
- White Progress Bar: Added a toggle for a clean white video progress bar on the player screen.
✨ New Features
- Mark As New: Introducing a new "Mark As New" media state — manually mark any video as New and it renders a forced NEW badge, even on older files. Watched state is cleared on last played, with active batch-based global last played highlighting for media and folders and per-folder watched/active highlight resolution.
- Circular Double-Tap Seek: Implemented a fully customizable circular double-tap seek overlay with configurable summary, default-on for new users, and smooth transition animations.
- Embedded Cover Art Thumbnails: Support for extracting embedded cover art and sibling external artwork as local video thumbnails (closes #158, closes #190).
- Advanced Zoom Controls: Independent video scaling and black bar removal controls. (Thanks @jhaiian!)
- MoreSheet Tabs: Added Aesthetics, Gestures, and Controls tabs to the MoreSheet bottom sheet with preference-style orientation selector.
- Bottom Controls Layout: Added bottom controls below seekbar and "Show controls on play start" toggle to ControlsTab.
- Add to Playlist in Library: Enabled "Add to Playlist" action in Media Library view mode.
- Playlist Grid Columns: Playlist grid now respects folder column settings with center-aligned folder titles.
- Updated mpv-lib: Bumped mpv-lib to v0.0.7 and replaced local AAR with remote dependency from GitHub Pages.
- Spanish Translation: Updated Spanish translation and fixed typos in GPU error messages (#214). (Thanks @FFSA47!)
- Arabic Translation: Continued Arabic localization with new strings, pluralization fixes, and hardcoded string extraction (#196, #201, #219). (Thanks @AhmedRX20!)
- i18n Hardcoded Strings: Extracted hardcoded strings in player controls, Advanced settings, PlaylistSheet, About, ConfigEditor, Appearance, and Gesture screens (#192, #202, #204, #208, #211). (Thanks @AhmedRX20!)
⚡ Performance & Optimizations
- Per-Instance MPV Observers: Observe all UI-consumed properties (time-pos, duration, tracks) per-instance to survive background resume and prevent frozen UI.
- Gesture JNI Elimination: Eliminated per-event JNI reads during pan and zoom gestures for smoother interaction.
- Reactive StateFlow: Replaced volatile polling loop with reactive StateFlow in MainScreen and consolidated playback state observers into debounced flows.
- Coroutine Sub-Seek: Replaced handler delay with coroutines for mpv sub-seek position diff calculation.
- Theme Palette Update: Updated default theme palette to match app logo color #3B82F6.
- Grid/List Styling: Left-aligned grid view card elements, aligned font weight with list view, and made scrollbars conditional and fixed size.
- Default Preferences: Pan/zoom disabled by default for new installs; seekbar style defaults to Standard; showSeekBarWhenSeeking disabled by default.
🐛 Stability & Bug Fixes
- Native Teardown Crash: Synchronized libmpv native teardown and surface detachment to prevent crashes (Fixes #216).
- ANR Prevention: Added bounded timeout to
runBlockinginonDestroyto prevent UI thread ANRs. - Frame Flash Fix: Suppressed first frame flash during video switching and on video resume using paused load.
- Subtitle Deletion Bug: Prevented local subtitle file deletion on track remove and wrapped download response in
useblock. - Playback State Lookups: Prioritized file path matching over display name in playback state lookups.
- Slot-Table Corruption: Hoisted conditional
rememberandLaunchedEffectcalls to prevent slot-table corruption in file browser and Shorts player. - Browser Selection: Persisted selection manager across reloads, fixed hard refresh on resume, and aligned card/list selection outlines.
- Seek Layout Clipping: Eliminated circular seek layout bounds clipping during transitions and fixed chevron glitch.
- Navigation Bar Padding: Conditionally applied bottom navigation bar padding to player controls.
- Subtitle Source Fix: Selecting "All" subtitle sources now correctly checks all sources (#198). (Thanks @sharifmdathar!)
- Pluralization Fix: Fixed Arabic/Spanish plural handling for horizontal video duration string (#217). (Thanks @AhmedRX20!)
Checksums
| Variant | SHA-256 |
|---|---|
| arm64-v8a | c46f0c6d8f0992e42687bde91522deb6de5fa8cf53ac8c754af793f369874320 |
| armeabi-v7a | 11fe03908ecef30c03f75c98e26b343e16f32a3e241632b5dc5f8c28b86b83c7 |
| Universal | 3c84411ebdad1031691d844178345e4e50ad19b6977c608c6c2d801e5ffe418c |
| x86 | cb3b3e7ff119d69e6603462305e8712ea1d16598f8dd0a636fbcac0dee5ca5e0 |
| x86_64 | 01cea482110978fa1c79035611685933aff97c159b5cb950605406b2dae79434 |
mpvRex v4.3.0
mpvRex v4.3.0 introduces a major overhaul of the Shorts player with advanced filters and UI controls, M3U playlist loading, interactive playlist drag-and-drop reordering, theme transition animations, and extensive localization enhancements.
🔥Overhauled Shorts Player
We have completely redesigned the Shorts player experience to be faster, highly configurable, and visually seamless:
- Session Free Mode & Speedups: Lock the overlay sheet, trigger side double-tap speedups, and run in session-wide Free Mode.
- Clean UI Mode: Relocated the back button and added a Clean UI Mode that hides all overlays during active playback.
- Directory Source Filters: Select exactly which folders are scanned and watched for Shorts content (#127).
- Reactive MPV Observers: Replaced CPU-heavy JNI polling loops with reactive MPV property observers, reducing battery drain and improving responsiveness.
✨ New Features
- M3U Playlist Support: Support for loading M3U playlists and custom stream titles.
- Drag-and-Drop Reordering: Drag-and-drop playlist reordering and multi-selection deletion (selected items highlighted in red).
- Recent Links: Added a "Recent Links" section in the Network Streaming screen for quick access.
- Controls Preference: Added a preference option to show controls on play start.
- Video Zoom Restored: Restored the dedicated VIDEO_ZOOM button and VideoZoomSheet controller (#157).
- Shorts Source Filters: Added directory selection source filters for Shorts to scan only chosen folders (#127).
- Delete Shorts Option: Added a delete short option with safety release handle.
- Theme Transition Animation: Added a premium circular reveal transition animation when toggling between light and dark themes.
- Arabic Translation: Completed full Arabic localization (#159, #172, #178). (Thanks @AhmedRX20!)
- Bengali Translation: Added full Bengali (BD) language translation and Droidlate metadata.
- Droidlate Workflow: Introduced the Droidlate translation workflow and detailed contributing guidelines (#179).
⚡ Performance & Optimizations
- Shorts Scanning: Optimized scanner performance and resolved zero dimensions metadata bug.
- Theme Toggle Performance: Optimized theme circular reveal transition performance and correctness.
- Explorer Spacing: Reduced in-between spacing of explorer list/grid items for a more compact and elegant layout.
- Playlist Layout: Removed customMaxWidth from the playlist sheet to match standard sheet width.
- Resource Cleanup: Pruned untranslatable strings from localized resources.
🐛 Stability & Bug Fixes
- Tree View Progress Bars: Fixed progress bars not displaying in the Tree (file manager) view (#177). (Thanks @dmitriy-bty!)
- Chapters Auto-scroll: Fixed repeated auto-scroll triggering when navigating chapters.
- Playlist Referrer: Fixed playlist navigation and referrer leaking on stream changes.
- Shorts Race Conditions: Resolved stale video loading race condition on entry to Shorts.
- Externalized Strings: Extracted dozens of hardcoded strings in dialogs, sheets, and activities to
strings.xml(#160, #169, #174, #184, #187, #189). (Thanks @AhmedRX20 and @mattvanhorn!)
Checksums
| Variant | SHA-256 |
|---|---|
| arm64-v8a | 434b3469ce33b3858ff6e0984fb4939331d1eca25b0547dc2d2e6e9d9e58ce07 |
| armeabi-v7a | 23438bf564886cd94b72f4536d39ef4b00e2595036505718fc9470760d4875f8 |
| Universal | d0c3ee6b8635859e8e579148b78fc769271ee8ae0846cf2b75e5dc4f4ebadc02 |
| x86 | 60c39fab87ee263bc8ed26e8d998c815dcc986875069e7026ce680fd32083da7 |
| x86_64 | 11588b79ebbc50858cf2953b08d042d4bfcb1bc6ff3768e36e1a44b204e8ac66 |
mpvRex v4.2.1
mpvRex v4.2.1 introduces manual video zoom and pan controls, unified view option toggles across sort dialogs, deconflicted panning gestures, and essential stability and navigation fixes.
✨ New Features
- Manual Zoom & Pan Sliders: Added interactive sliders for Zoom and Horizontal Pan adjustments inside the Aspect Ratio Sheet. Toggling the "Custom..." chip dynamically reveals custom aspect ratio inputs.
🛠️ Fixed & Improved
Preferences & UI Refinements
- Unified View Option Toggles: Standardized the availability and order of the 12 visibility preference toggles (such as Path, Duration, Resolution, Date, Progress Bar, and Subtitle Indicator) across Folder, Video, and FileSystem sort dialogs.
Gestures & Controls
- Panning Deconfliction: Resolved an issue where single-finger panning when zoomed conflicted with vertical swipe gestures for volume, brightness, or seeking.
Browser & Navigation
- View Mode Navigation: Automated popping to the root backstack when changing view modes, and enabled view option toggles inside Tree subdirectories.
- Auto-scroll Persistence: Fixed a bug where auto-scrolling to the last played video reset the scroll state on back navigation.
- Tree Mode Playlist Sorting: Fixed playlist playback order in Tree mode by correctly sorting sibling files using tree sorting preferences.
Documentation
- Weblate Translations: Added a dedicated translations contribution section to the project README.
- Feature Overview: Refined, modernized, and organized the feature presentation inside the main README file.
Checksums
| Variant | SHA-256 |
|---|---|
| arm64-v8a | ee90190744a7cd2a7e9f1507c8d4e6eed1d347040eae48f3d8d52caadf238c6d |
| armeabi-v7a | 139b83a1a541a196bc5ad8ebad087dd3eb1a375f8ea8025599f4e1081c7f4fbd |
| Universal | 58ec8886556cf67faca106b1994380068019c84a3e3cb083f3d7c1f7f5a2570e |
| x86 | 8fe0c48c57f90eb916c8728c9c9f57b480bad729b083c378a9fc525a4cae2f9e |
| x86_64 | 5bcd27e8f6c5ab14ce60ef24f9dbdddff61ce315f782e12cd459e0a7d9394734 |
mpvRex v4.2.0
mpvRex v4.2.0 introduces major battery and performance optimizations, seek cancellation support, a keyboard-free Sleep Timer bottom sheet, and interactive gesture tutorials.
🔥 Highlighting: Battery Optimization
Significant reduction in CPU overhead and playback battery consumption.
- Battery Optimization: Major reduction in CPU overhead and playback battery consumption.
✨ New Features
- Seek Cancellation: Implemented intuitive seek cancellation gesture with dynamic pointer scale animations (#139).
- Keyboard-Free Sleep Timer: Refactored the Sleep Timer dialog into a touch-friendly, keyboard-free bottom sheet.
- Seek Capsule OSD: Re-engineered double-tap seeking feedback into a clean, modern capsule-style overlay positioned at the top of the player.
- Gesture Tutorials: Added interactive onboarding tutorials (
PlayerTutorialManager) to help users learn the speed lock and subtitle drag-to-reposition gestures. - Custom Audio File Picker: Added a custom audio file picker dialog to easily select and load external audio tracks.
- Dynamic A-B Loop & Floating Frame Navigation: Added vertical bias adjustments for the A-B loop interface and refactored Frame Navigation controls into a non-colliding floating overlay.
- Refactored Pan & Zoom Toggle: Moved the Pan & Zoom toggle directly into Player Settings, removed the dedicated zoom button/sheet, and automated zoom resetting when switching video aspect ratios.
🛠️ Fixed & Improved
Performance Optimizations
- Battery Optimization: Substantially reduced CPU overhead during video position tracking, significantly improving playback battery life.
- UI Responsiveness: Polished rendering and layout calculations for player controls and the seekbar to ensure smooth, stutter-free playback navigation.
- Wavy Seekbar Animation: Offloaded seekbar flattening animations to prevent any blocking of the main UI thread during seeking.
- Foreground Service Optimization: Only starts the playback service in the foreground when the app is backgrounded, reducing active system resource footprint.
- Verbose Logging Cleanup: Restricted detailed background logs to debug builds only, reducing execution overhead in production.
Preferences & UI Refinements
- Layout Updates: Refined default player preferences and polished the control bar layout for better usability.
- Flicker Reduction: Prevented folder list flickering in the tree view by delaying the initial load until the storage root path is fully resolved.
- Branding & Links: Updated the permission request dialog branding from mpvEx to mpvRex and updated the GitHub repository URL.
- Localization: Updated the Spanish translation strings for various player preferences (#142).
Stability & System
- ViewModel Crash Fix: Resolved a startup crash caused by the initialization order of properties inside the browser viewmodels.
Checksums
| Variant | SHA-256 |
|---|---|
| arm64-v8a | b3a085dfb343f3c2a9e7099a733bb311e1bf593a0c5e06a5a32d20a107d93cdd |
| armeabi-v7a | e4093fc7e42dd4d0fae48663722728a034c2830797978d7e8d7771d3e0246e0e |
| Universal | b075de76d16b2796021a87e9d7a1b53aee5dd0c1ca70079ddbd1609a2e48c7ff |
| x86 | 97e727faceaaaf47b96cefa7e8deaff9718c013d7f8a7b2d286603f30419a4cb |
| x86_64 | 5d6962bf168c96d0753fa24535e0a061f70adc2c72d0c51da28af79c4033a5e8 |
mpvRex v4.1.0
mpvRex v4.1.0 brings HDR-to-SDR tone-mapping (hdr-toys) shader support, a complete package namespace refactor, refined player gesture controls with edge-swipe protection, and critical stability fixes.
✨ New Features
- HDR-to-SDR Shaders Integration: Added complete
hdr-toysGLSL shader support for tone-mapping and gamut-mapping, configurable via Decoder Preferences. - Hide Player OSD Text Preference: Added a setting to hide the default mpv OSD text during seeking or gesture seeking, which also dynamically suppresses the custom double-tap and gesture seek text overlays for a distraction-free screen.
🛠️ Fixed & Improved
Player & UI Refinements
- Edge Swipe Protection: Excluded screen edges (24dp) from triggering volume and brightness gestures to prevent conflicts with Android's system back and home gestures.
- Enhanced Gesture Controls: Improved volume/brightness sensitivity, resolved conflicts with zoom panning gestures, and tuned panning speed (#87).
Browser & Discovery
- Auto-Scroll Alignment: Aligned folder auto-scroll matching index logic with highlight checking rules to correctly scroll to the recently played folder in list views.
Stability & System
- Fixed Large Number Sorting Crash: Resolved an
IllegalArgumentExceptionin comparison utility functions when sorting files with extremely large numbers in their names. - Fixed ViewModel NPE: Resolved a
NullPointerExceptioninitialization crash inBaseBrowserViewModel.
Project & Build
- Package Namespace Refactoring: Migrated the application namespace to
xyz.mpv.rexand relocated all source files undermain/kotlinfor a cleaner Kotlin-first project structure.
Checksums
| Variant | SHA-256 |
|---|---|
| arm64-v8a | 94a5c166eba11d47e1ebb709fa57878a1d0a7d45578e70aa9e6c58eedda6d7a2 |
| armeabi-v7a | b2fb26c5cd25943e5bb682008b3b2fd42e84437d2b5a3351453e92277e6ff99d |
| Universal | 09f4ce64fecee41504ad7d9aaf4b3b741e52abe717b8b6c72643971b644b0c37 |
| x86 | 8a946521607890b32ba7e20f765e19e84771de9ede7343d5abd1f731d95f7c26 |
| x86_64 | 5b179d14bd48fd04d61f99dbb24fac7c1e5058a6a3aaf166419d4b2b9fb86f5e |
mpvRex v4.0.0
mpvRex v4.0.0 introduces a fully unified strategy-driven explorer browser, interactive subtitle repositioning, a complete UI redesign of the Sort & View dialogs with improved contrast hierarchy, a new Community Hub, a brand new animated splash screen, massive SMB performance improvements, and critical stability fixes.
🔥 Highlighting: Unified Browser Explorer
We have completely rewritten and unified all file, folder, tree, and playlist browsers into a single strategy-driven UI component.
- Consistent Experience: Unifies layout structure, list/grid styles, search behaviors, and gesture controllers across all browsing interfaces.
- Grid View in Tree View: Thanks to the unified explorer architecture, Tree View now fully supports grid layout mode alongside the classic list mode.
- Layout Flexibility: Adds independent list/grid section layout settings for Tree View, and restores proper scroll-to-top behaviors.
- Intuitive Discovery: Restores watched/unplayed folder dimming, last-played media highlighting, and unplayed badges.
🔥 Highlighting: Reimagined Folder Cards & Icon Aesthetics
We have redesigned the core folder browsing visual rhythm to feel cleaner, more responsive, and modern:
- Minimalist Card Layout: Removed the heavy background container boxes from folder card icons to establish a more open, lightweight, and modern browsing layout.
- Softer Folder Accent: Softened the folder icon color by reducing its alpha opacity to
0.5f, ensuring it blends harmonized with dynamic system colors instead of drawing excessive attention. - Tactile Touch Ripples: Restructured touch ripple propagation to prevent cut-off feedback, ensuring smooth and satisfying visual responses across the entire card surface.
🔥 Highlighting: Modern Redesigned Sort & View Dialogs
The Sort & View Dialogs have received a major aesthetic and structural overhaul to maximize screen space and reduce visual load.
- Surface Contrast Hierarchy: Redesigned brightness levels (Dialog background -> Section cards -> Active controls) to enhance UI depth, improve readability, and prevent eye strain.
- Unified Chip Filtering: Cleaned up the fields filter section by introducing unified, elegant chips that align perfectly with the modern M3 guidelines.
- Duration Sorting: Added duration-based sorting (Shortest/Longest) for folders and videos in the browser views.
✨ New Features
- Interactive Subtitle Drag & Position: Drag subtitles up or down directly on the screen for custom positioning during playback (#114). (Thanks @s-shahriar!)
- Community Hub Dialog: Toggle a dedicated Community Hub shortcut and view community links and icons directly in the Tree and Media View headers.
- Quick Copy Options: Copy folder paths, video paths, or file paths directly from the selection mode top bar (#116).
- Default Disabled Subtitles: Added a preference setting to disable subtitles by default (#129). (Thanks @s-shahriar!)
- Range Multi-Selection: Select multiple items instantly in the browser using long-press selection gestures.
- New Splash Screen & Brand Styling: Modern animated splash screen supporting light/dark themes, updated brand vectors, and fresh launcher icons.
- Path Breadcrumbs: Added a preference to toggle folder path breadcrumbs in Tree View.
- Spanish Translation: Added full Spanish language localization (#109). (Thanks @FFSA47!)
⚡ Performance & Optimizations
- SMB Speedup & Network Proxy Thumbnails: Overhauled thumbnail extraction, uncapped SMB network bandwidth, and routed network thumbnails through a local proxy (#48). (Thanks @farhan112k!)
- Expressive M3 Toggles & Refresh: Modernized pull-to-refresh gesture animations and preference toggles to animated, tactile Material 3 styling (#104). (Thanks @farhan112k!)
- Asynchronous Folder Loading: Pre-loads direct child folders and retrieves media metadata asynchronously, preventing UI stuttering on large libraries.
- Battery Saver Seekbar: Optimized seekbar rendering and segment end rounding to lower CPU usage and reduce battery drain.
🐛 Stability & Bug Fixes
- Seekbar Thumb Dragging: Fixed progress bar thumb getting stuck during long seeks.
- Chapters Sheet Lockup: Prevented screen lock crash when opening the chapters list with null current chapter.
- Auto-Scroll to Last Played: Fixed auto-scrolling issues on launch in tree and folder views.
- Grid Scroll-to-Top: Resolved scroll-to-top not firing in grid layouts.
- MediaInfo Integration: Corrected app name identification and disabled external MediaInfo intent redirection by default.
- Playlist Reordering: Fixed playlist drag handles and card size resetting on screen exit.
Checksums
| Variant | SHA-256 |
|---|---|
| arm64-v8a | b9a751144f0207c010b4a6293f339b6c8e90b7718a86af990d5ee6a68ad8c08c |
| armeabi-v7a | 38fdd63f98f82e7b5824ad27964c9a001bc582d2303c7471cbbb3352905bb4a1 |
| Universal | 7045bd377f192bfc93904a234a851e074bb6ba6353cb0f4b01358f214c985584 |
| x86 | 399232f2b7b68ee1418d16f1b33475fa093153a83fa6cc05c3e11b0b5d5f0a08 |
| x86_64 | 1dfa48c88dfb2c8613b60508d8da8785d47f7fb5ee035b809dc70af9ba364780 |
