edde746
9bd2774820
fix: race conditions in mpv dispose and track manager, add debug fallback trigger
2026-03-23 03:48:48 +01:00
edde746
3ae2488adf
feat: screen lock
...
close #286
2026-03-22 11:48:34 +01:00
edde746
472ac90fea
feat: rewind on resume setting
...
close #735
2026-03-22 09:24:22 +01:00
edde746
0539c1d869
fix: overlay sheet position, scroll-to-selected in bottom sheets
2026-03-21 11:49:08 +01:00
edde746
8bdf2b53d3
fix: reduce bottom sheet spacing
2026-03-18 09:46:48 +01:00
edde746
4f893cb826
fix: incorrect queue sheet item sizing
2026-03-17 10:45:04 +01:00
edde746
4147bd0d86
feat: overlay timestamp inside timeline thumbnail preview
2026-03-16 08:03:28 +01:00
edde746
ac397f32a3
feat: redesign TV player controls
...
- BACK key dismisses layers (content strip → controls → exit) with
early BackKeyCoordinator marking to prevent PopScope race condition
- Hide volume control and PiP button on TV
- Fix focus chain with mounted-node-aware navigation for live/non-live
- Fix focus reclaim on controls hide (hasPrimaryFocus vs hasFocus)
to prevent screen-level self-heal from stealing timeline focus
- LEFT/RIGHT shows controls with timeline focused for seeking
Close #701
2026-03-15 03:10:51 +01:00
edde746
6d7cdc4ef4
fix: preserve chapters/markers in cache during watch state sync
2026-03-15 01:04:13 +01:00
edde746
4f736c555b
fix: make PlexMetadata type/key/title nullable for folder items
...
Plex API returns Directory entries without type field, causing
TypeError crash in fromJson. Made fields nullable and migrated
callers to use mediaType enum and displayTitle getter instead
of raw string access.
2026-03-14 05:40:14 +01:00
edde746
3d30ea1342
fix(macos): reduce idle CPU when video player is paused
...
- Remove vulkan-swap-mode mailbox (continuous GPU rendering even when paused)
- End playback activity assertion on pause, restore on play
- Fix PerformanceStatsService persistent frame callback leak
2026-03-12 23:22:58 +01:00
Micah Morrison
cb0ed15c0c
Fix issue with always on top getting stuck
2026-03-11 15:00:17 -04:00
edde746
78052dc07f
fix: player stuck on skip credits with no next episode
...
close #678
2026-03-11 18:02:33 +01:00
edde746
d1bb99635a
feat: configurable intro/credits marker regex patterns
...
Add settings to customize regex patterns for matching intro and credits
markers in chapter titles, with the current hardcoded values as defaults.
Also reclassifies real markers with non-standard type strings against the
configured patterns.
2026-03-11 15:00:24 +01:00
edde746
82b0de9223
feat: display movie edition titles across all views
2026-03-09 16:16:37 +01:00
edde746
61e4bda616
fix: content strip text colors in light mode
...
close #659
2026-03-09 12:53:16 +01:00
edde746
0fc64cdf81
fix: catch seek PlatformException at source, remove coordinator
...
Catch COMMAND_FAILED/NOT_INITIALIZED in PlayerNative.seek() and
PlayerAndroid.seek() directly, preventing unhandled PlatformException
crashes on macOS app resume. Remove the ~200-line
_PendingSeekCoordinator system and revert all callsites to direct
player.seek(clampSeekPosition(...)). Keep seekable property/stream
and media controls gating. Add ExoPlayer seekable emission.
2026-03-09 07:21:36 +01:00
edde746
5be7b43cb8
fix: improve content strip text visibility
...
close #656
2026-03-09 01:04:14 +01:00
edde746
7a1f677c75
fix: content strip lint warnings
2026-03-07 22:10:45 +01:00
edde746
0b1f64ef8a
refactor: simplify mobile player controls
...
close #641
2026-03-07 20:48:17 +01:00
edde746
c56e73eefe
feat: add content strip for dpad navigation
2026-03-07 20:17:28 +01:00
edde746
7cfa18e1e9
fix: remove redundant thumbnail popup during dpad timeline seeking
2026-03-07 18:29:52 +01:00
edde746
06034bb8e7
feat: scale queue items for tablet screens
...
close #644
2026-03-07 17:06:13 +01:00
edde746
1318c54c0c
feat: improve performance overlay layout and add decoder details
2026-03-06 19:25:41 +01:00
edde746
c9a1bc97c4
fix: remove dead state paths and restore track hotkeys
2026-03-06 11:50:45 +01:00
edde746
c1e2bc36ea
refactor: share Apple MPV core and media helpers
2026-03-06 10:16:33 +01:00
edde746
c785ce1f88
fix: queue sheet image loading priority with itemExtent
2026-03-05 16:11:14 +01:00
edde746
317d5dbdd9
feat: DV Profile 7→8.1 RPU conversion via libdovi
...
Convert Dolby Vision Profile 7 RPU NALUs to Profile 8.1 using libdovi
native bridge, preserving dynamic tone mapping on devices with DV8
decoders. Falls back to HEVC stripping when no DV8 decoder is present.
- Add JNI bridge (dovi_bridge.cpp) wrapping libdovi's RPU converter
- Download prebuilt libdovi from edde746/libdovi-builds releases
- DoviConvertingTrackOutput: DV81 mode converts RPUs, HEVC_STRIP strips
- Retry logic: if native DV7 decoding fails, auto-retry with conversion
- Performance overlay shows active DV conversion mode
2026-03-05 11:11:57 +01:00
edde746
13b5d7bae8
feat: secondary subtitle tracks
...
close #625
2026-03-04 09:35:36 +01:00
edde746
3a76754af9
feat: custom GLSL shader import
...
close #624
2026-03-04 08:47:40 +01:00
edde746
cd2ab9d9cd
refactor: deduplicate shared patterns, replace hardcoded colors
2026-03-03 22:43:00 +01:00
edde746
ebf2d1e516
fix: shorten nav labels
...
close #612
2026-03-03 12:13:43 +01:00
edde746
4bce668df6
fix: asymmetric divider in track sheet on landscape
2026-03-03 12:04:03 +01:00
edde746
1629801074
feat: add swipe-up content strip for mobile video controls
2026-03-03 11:03:31 +01:00
edde746
7001032e51
feat: combine audio & subtitle track sheets into one
2026-03-03 07:16:45 +01:00
edde746
8baa84c06f
fix: use player.state.track for selected subtitle check
2026-03-02 19:25:13 +01:00
edde746
94395feaba
feat: implement sub-visibility toggle
...
Closes #597
2026-03-02 19:07:56 +01:00
edde746
5ab6af1b02
feat: respect system 24h time format setting
...
Closes #605
2026-03-02 18:19:52 +01:00
edde746
8d3f448fdf
feat(macos): add picture-in-picture support
2026-03-02 18:19:36 +01:00
edde746
a008f86ee2
feat(ios): add picture-in-picture support
...
close #44
2026-03-02 14:06:11 +01:00
edde746
8a5f1ddea9
feat: add audio normalization toggle (MPV loudnorm filter)
2026-03-01 02:49:48 +01:00
edde746
b78bc3e869
fix: only show timeline thumbnail on direct timeline interaction
2026-02-28 19:48:46 +01:00
edde746
9f81671603
fix: suppress repeated android log spam from MPV surface and stats polling
...
- Deduplicate android-surface-size updates with lastSurfaceSize cache
- Short-circuit ensureFlutterOverlayOnTop after initial application
- Remove deprecated cache-used property query
- Skip unavailable MPV properties on Android (display-fps, HDR metadata)
- Gate video-dependent stats queries behind hasVideo check
2026-02-28 15:00:29 +01:00
edde746
18614022c0
feat: auto-dismiss skip segment buttons
...
closes #584
2026-02-27 22:13:03 +01:00
edde746
00667fe8b8
fix: add const constructors and remove unused imports
2026-02-27 15:43:34 +01:00
edde746
edb285a279
feat: cache BIF file for instant preview thumbnails
...
close #565
2026-02-27 15:30:29 +01:00
edde746
4588457319
refactor: consolidate files
2026-02-26 13:41:51 +01:00
edde746
98776b40f5
fix: show sync controls as compact top bar
...
close #548
2026-02-26 03:41:19 +01:00
edde746
bf3f5282f2
fix: skip intro button staying on screen
...
close #550
2026-02-25 23:03:07 +01:00
edde746
88d7e2d319
feat: add audio passthrough toggle for desktop
2026-02-25 16:38:58 +01:00