Added
- Universal Audio Extraction & Transcoding: Added FFmpeg native audio transcoding engine (
libswresample) converting multi-channel cinema audio tracks (E-AC-3, AC-3, DTS, TrueHD) into universal stereo M4A (AAC) playable on 100% of Android devices, car stereos, and third-party music players. - Audio Extraction Format Selector: Added format toggle in Audio Track Bottom Sheet allowing users to choose between Universal M4A (default) and untouched Original Stream copies.
- Decoder Error Recovery: Added automatic decoder failure recovery in the media player and twin window player prompting users to convert unsupported cinema audio formats (E-AC-3, DTS) to Universal M4A with one tap and immediately resume playback.
- SVGZ Vector Image Support: Added native decompression and rendering support for gzipped SVG (.svgz) vector graphics across the image viewer, file icons, and archive tools.
- Universal "Open As..." Chooser: Added a modal picker featuring 9 file modalities (Text Document, Hex Dump, Presentation, Spreadsheet, Image, Audio, Video, Archive, External App Chooser) with a direct "Zero Dead-Ends" fallback whenever an unsupported or ambiguous file format is tapped.
- Native Presentation Viewer: Added an integrated presentation viewer (
PresentationViewerActivity) supporting both.pptxand legacy.pptslides with slide reordering, slide thumbnails, speaker notes drawer, TV D-Pad navigation, and full-screen slideshow presentation mode on Mobile and Android TV. - Subtitle Syntax Highlighting & Viewing: Built native subtitle highlighting and editing into
TextViewerActivityviaLanguageRegistry.Subtitle, supporting.srt,.vtt,.ass,.ssa,.sub,.lrc,.smi,.sami,.ttml,.sbv, and.dfxp. - FFmpeg Stream Details & Multi-Track Extraction: Added native FFmpeg media stream inspection in file properties (
FilePropertiesBottomSheet) displaying container format, bitrates, video resolution/FPS/codecs, audio channels/sample rates, and subtitle languages. Added one-tap lossless audio extraction and subtitle track demuxing directly from the selection Tools FAB and Floating Quick Action Bar. - Multi-Track Audio Stream Extraction & Selection: Inspect multi-audio video files with a dedicated track selection dialog showing localized languages, channel layouts (Stereo, 5.1/7.1 Surround), codec badges, and batch "Extract All Audio Tracks" option across Mobile and Android TV.
- Multi-Track Subtitle Stream Extraction & Selection: Track selection modal for extracting individual subtitle tracks or batch extracting all tracks with language suffixes.
- Media Operation Progress Dialog: Translucent UFMStandard progress dialog providing visual feedback during video conversion, subtitle extraction, and audio extraction.
- Toolbar & Quick Action Bar Synchronization: Synchronized
open_with,open_as,extract_subtitles, andextract_audioacross all browser environments (FileBrowserActivity,FileBrowserFragment,NetworkBrowserActivity,NetworkBrowserFragment, andRecentFilesActivity) with full user customizability inToolbarIconsActivity. - Raw AC-3/E-AC-3 Seekable Playback: Added
SeekableAc3Extractorenabling seekbar scrubbing and duration display for raw.ac3,.eac3, and.ec3audio files by parsing syncframe headers, publishing aConstantBitrateSeekMap, and adjusting sample timestamps viaForwardingTrackOutputafter seek operations.
Changed
- Comprehensive MIME & Extension Registry: Expanded
MimeTypeHelpercanonical mapping dictionary to cover over 500+ file extensions across modern, legacy, retro, geospatial, and industrial formats. - Hex Inspector Modality: Added
EXTRA_FORCE_HEXsupport inTextViewerActivityto allow raw hexadecimal inspection and editing of any file type or binary asset directly from "Open As...".
Fixed
- Cinema Audio Routing & Recognition: Fixed
.eac3,.ec3,.ac3,.dts,.dtshd,.truehd, and.mkanot being recognized as native audio files in the file viewer router, icon provider, and sort filters. - MKV Audio Extraction Failure: Fixed remuxing failure on MKV files with AC3, E-AC3, and DTS audio streams by adding native codec container mapping, Matroska Audio (.mka) container fallback, and C-level packet timestamp normalization.
- Subtitles & PPTX Format Routing: Fixed subtitle files failing with "No app found to open this file type" and PowerPoint files opening erroneously as raw XML text in the text viewer.
- E-AC-3 Playback & Duration Detection: Fixed raw E-AC-3 (
.eac3,.ec3) files showing0:00duration and failing to play by enabling constant-bitrate seeking inUfmExtractorsFactory, adding FFmpeg-based duration fallback inUFMPlaybackService, and implementing proactive/reactive codec failure recovery with automatic decoder fallback prompts. - AC-3/E-AC-3 Seeking Failure: Fixed seeking not working in raw AC-3 and E-AC-3 files caused by the syncframe header buffer missing the
0x0B77syncword required byAc3Util.parseAc3SyncframeInfo(), an undersized 16-byte header buffer insufficient for E-AC-3 parsing, and an incorrectC.TIME_UNSETlength comparison preventing theConstantBitrateSeekMapfrom being published.