edde746
9bd5732f2b
chore: clean up redundant comments
2026-05-01 05:02:26 +02:00
edde746
c5867861eb
fix(playback): coalesce concurrent player init to fix MPV hang
2026-04-28 04:16:02 +02:00
edde746
5937e5c721
refactor: extract shared mixins and helpers to dedupe
2026-04-20 21:25:50 +02:00
edde746
1fd415ae31
feat(android): display switch delay
...
close #894
2026-04-20 17:34:54 +02:00
edde746
3da51f9d64
chore: pre-commit ci hook, dart format
2026-04-18 12:40:35 +02:00
edde746
1e62c6c756
feat: bandwidth limit modal on stream 500
2026-04-17 13:12:07 +02:00
edde746
ad8faab9ea
fix: android video surface lifecycle management
...
close #771
2026-03-29 18:07:50 +02:00
edde746
2d37d37596
refactor: extract TrackManager, fix subtitle bugs
...
- Extract track lifecycle logic from VideoPlayerScreen (3248→2928 lines) into TrackManager
- Parse isDefault/isForced for subtitle tracks in parseTrackList
- Emit forced flag from ExoPlayer's emitTrackList
- Fix detectSubtitleMimeType failing on URLs with query params
- Add missing external_ ID prefix in ExoPlayer addSubtitleTrack
- Replace polling loop with stream in selectAndApplyTracks
- Handle play() failure in resumeAfterSubtitleLoad
- Handle addExternalSubtitles failure in onBackendSwitched
2026-03-20 03:32:32 +01:00
edde746
0100b2a2ea
fix: preserve start position and subtitles in ExoPlayer→MPV fallback
2026-03-15 11:32:25 +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
551bd83ffe
fix: player disposed race condition
2026-03-04 14:37:51 +01:00
edde746
13b5d7bae8
feat: secondary subtitle tracks
...
close #625
2026-03-04 09:35:36 +01:00
edde746
1c31f0effa
fix: request audio focus before player init guard
2026-03-02 23:12:00 +01:00
edde746
b193a23524
fix: video stuck on still frame after long pause
...
close #536
2026-02-25 08:17:14 +01:00
edde746
0159c18497
feat: discontinuous buffer ranges on timeline
2026-02-21 04:50:10 +01:00
edde746
2bc2c0a0ec
feat: use FlTextureGL for Linux mpv video rendering
2026-02-17 08:55:29 +01:00
edde746
c98add8065
fix: resolve UI freezes during video playback on Steam Deck
...
- Default MPV native log level to "warn" instead of "v" (Linux/Windows),
add setLogLevel method channel to raise it when debug logging is enabled
- Coalesce MPV render requests via atomic compare_exchange on needs_redraw_
- Clear redraw flag before render so new redraws queue during current frame
2026-02-17 03:11:52 +01:00
edde746
29f5dc00c4
feat: populate audio output device menu and group by backend
2026-02-16 21:56:22 +01:00
edde746
a61fca0588
perf: compact [propId, value] wire format for property events
2026-02-16 15:40:52 +01:00
edde746
04438c8e45
refactor: code quality & format
2026-02-15 04:07:09 +01:00
edde746
b3ff48feca
fix(tv): live playback and timeline keepalive
...
Disable MKV Cues seeking for live streams, fix timeline params.
2026-02-14 03:33:58 +01:00
edde746
b332e8e57a
fix: play videos from sd card
...
close #323
2026-02-01 02:41:38 +01:00
edde746
54e8e0c621
refactor: abstract player & deduplicate
2026-01-24 04:06:58 +01:00
edde746
3a2f2c9c69
fix: performance overlay for exoplayer
2026-01-23 19:11:46 +01:00
edde746
943f7dab08
feat: exoplayer
2026-01-23 18:29:35 +01:00
edde746
09d79417fb
fix: Android audio focus handling
...
close #243
2026-01-15 00:11:45 +01:00
edde746
d2eaadb07d
Merge branch 'fix/external-subs-blackscreen'
2026-01-11 16:06:34 +01:00
edde746
cffef8671e
fix: black screen with external subtitles
2026-01-11 12:59:25 +01:00
edde746
8e5b9de471
feat: match content frame rate
2026-01-09 14:16:09 +01:00
edde746
562b54d1cb
fix(linux): GL threading, state management, and animation fixes
2026-01-05 19:40:04 +01:00
edde746
1191d8a438
refactor: format
2026-01-01 22:06:36 +01:00
edde746
8b89529ac8
fix(player): preserve subtitles off across episodes
2025-12-30 20:11:16 +01:00
edde746
8b3b8ad596
fix(player): harden playback initialization against crashes
2025-12-29 20:47:35 +01:00
edde746
95436529c6
fix: observe speed property
...
close #193
2025-12-26 06:23:44 +01:00
edde746
47cb3f2614
fix: pass headers to mpv
2025-12-23 19:54:05 +01:00
edde746
e252532988
feat: better pre-video loading indicator
2025-12-22 20:12:26 +01:00
edde746
14f0e95a3d
fix: mpv logs to app logger
2025-12-20 05:02:20 +01:00
edde746
e11ebca370
fix: missing subtitle characters
...
close #178
2025-12-19 13:19:57 +01:00
edde746
3c89d0eba8
refactor: update formatting
2025-12-15 02:29:03 +01:00
edde746
fb17600bb0
refactor: consolidate
2025-12-15 01:16:22 +01:00
edde746
ac3f7a0b1d
fix: missing tracks on Windows
2025-12-09 16:19:44 +01:00
edde746
4d65607e59
refactor: deduplicate UI helpers & track handling
2025-12-07 15:54:24 +01:00
edde746
1d50763d9b
fix: android subtitle font
2025-12-04 16:39:07 +01:00
edde746
252da585e3
fix: android track list parsing
2025-12-04 16:02:15 +01:00
edde746
8f817815e6
refactor: simplify file structure
2025-12-04 08:36:07 +01:00