edde746
34252b9ba7
fix: persist aspect ratio and shader settings
...
Closes #602 , closes #603
2026-03-02 18:19:46 +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
5f1c51ff6c
fix: skip specials in playback order
...
close #601
2026-03-02 07:32:20 +01:00
edde746
229d6b24e1
feat: crash log reporting
2026-03-02 07:29:21 +01:00
edde746
36277076bd
fix(android): cap demuxer buffers + sync mpv dispose
2026-03-02 02:30:48 +01:00
edde746
138c8f9fd8
feat: auto picture-in-picture
...
close #527
2026-03-01 10:52:31 +01:00
edde746
d0f2122944
feat: add tunneled playback setting + frame watchdog for HDR black screen
...
Adds a user-facing toggle for MediaCodec tunneling (Android/ExoPlayer)
and a rendered-frame watchdog that auto-falls back to MPV when ExoPlayer
produces 0 video frames after 8 seconds of audio playback.
2026-03-01 04:02:36 +01:00
edde746
bbfe7cf783
fix: use explicit mediacodec hwdec chain on android
2026-03-01 02:46:50 +01:00
edde746
0e84ce9166
fix: desktop context menu overflow
2026-02-28 15:00:59 +01:00
edde746
15e1f0b9e2
fix: use mediacodec on android
...
close #593
2026-02-28 12:35:43 +01:00
edde746
389a9622c3
fix: prevent OOM crash from infinite focus reclaim loop
...
Add re-entrancy guard to VideoPlayerScreen._onScreenFocusChanged()
and replace busy-wait spin loop with Completer in MediaDetailScreen.
2026-02-27 21:23:31 +01:00
edde746
3103cb5ee1
fix: harden offline playback and exoplayer fallback
2026-02-27 21:02:30 +01:00
edde746
7a0a911cd9
fix: prevent ASS subtitle stretching
...
close #579
2026-02-27 20:33:48 +01:00
edde746
03d62d2e2b
fix: handle corrupted download paths missing leading slash
2026-02-27 19:05:05 +01:00
edde746
1cdf1890cf
fix: download playback issues (doubled path, audio language, spinner)
2026-02-27 15:26:49 +01:00
edde746
4588457319
refactor: consolidate files
2026-02-26 13:41:51 +01:00
edde746
88d7e2d319
feat: add audio passthrough toggle for desktop
2026-02-25 16:38:58 +01:00
edde746
b193a23524
fix: video stuck on still frame after long pause
...
close #536
2026-02-25 08:17:14 +01:00
edde746
45e792e3ab
fix: ESC exits fullscreen without closing video player
...
close #533
2026-02-25 07:17:24 +01:00
edde746
2f488bd395
fix: disable ambient lighting in picture-in-picture mode
...
closes #528
2026-02-24 17:05:41 +01:00
edde746
4083837c3b
feat: still watching prompt on sleep timer expiry
2026-02-24 10:08:50 +01:00
edde746
e23f472d78
refactor: centralize globalKey construction via buildGlobalKey()
2026-02-23 17:53:20 +01:00
edde746
8f50da4a75
fix: resolve all dart analyze warnings
...
- Migrate RadioListTile to RadioGroup API (Flutter 3.32+)
- Guard BuildContext usage across async gaps
- Use const BorderRadius.all / EdgeInsets.all constructors
- Extract nested ternaries into helpers
- Prefer .first over [0], ??= over if-null assignment
- Prefix unused FocusNode params with _
- Add library directive for dangling doc comments
2026-02-23 13:50:56 +01:00
edde746
4095cc27e1
perf: reduce redundant metadata API requests
2026-02-23 11:43:42 +01:00
edde746
1eb88e23f5
perf: cache-first metadata fetching for playback
2026-02-23 10:51:25 +01:00
edde746
26ff55e005
fix(android): auto buffer size to prevent OOM
2026-02-23 05:42:04 +01:00
edde746
7f8d4c7946
fix: dpad focus for dialogs and buttons
2026-02-22 14:50:59 +01:00
edde746
0159c18497
feat: discontinuous buffer ranges on timeline
2026-02-21 04:50:10 +01:00
edde746
3bfc24bf9b
feat: persist ambient lighting and make it mutually exclusive with shaders
...
close #499
2026-02-20 22:33:00 +01:00
edde746
63d711ae43
refactor: overlay-based bottom sheets for video player
2026-02-18 23:06:44 +01:00
edde746
756eb8d6f0
feat: add ambient lighting effect
...
close #477
2026-02-18 06:51:20 +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
9d04833b3e
fix: only consume nav keys in video player
2026-02-16 18:34:12 +01:00
edde746
04438c8e45
refactor: code quality & format
2026-02-15 04:07:09 +01:00
edde746
9184bb8d40
Merge branch 'live-tv'
...
# Conflicts:
# lib/i18n/strings.g.dart
# lib/i18n/strings_de.g.dart
# lib/i18n/strings_en.g.dart
# lib/i18n/strings_es.g.dart
# lib/i18n/strings_fr.g.dart
# lib/i18n/strings_it.g.dart
# lib/i18n/strings_ko.g.dart
# lib/i18n/strings_nl.g.dart
# lib/i18n/strings_sv.g.dart
# lib/i18n/strings_zh.g.dart
# lib/screens/main_screen.dart
# lib/services/plex_client.dart
# lib/widgets/video_controls/desktop_video_controls.dart
2026-02-14 22:29:16 +01:00
edde746
2278af8d83
fix: exit video player when sleep timer completes
...
close #456
2026-02-14 11:58:16 +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
fd53acbb92
fix(tv): use channel key for tuning and EPG matching
2026-02-13 17:23:02 +01:00
edde746
f4d940af10
fix(tv): add diagnostic logging for multi-DVR issues
...
Also remove suspicious Uri.decodeComponent on lineup parameter.
2026-02-13 16:29:33 +01:00
edde746
426f6ab6ba
fix(tv): misc improvements
2026-02-13 00:01:54 +01:00
edde746
ca90600764
refactor(tv): tune live channel inside player screen
2026-02-12 17:47:51 +01:00
edde746
2ae6385913
fix(tv): playback stopping
2026-02-12 11:21:00 +01:00
edde746
a1d78562d6
fix(tv): playback
2026-02-12 03:52:51 +01:00
edde746
403b1f6776
feat: live tv
2026-02-11 16:27:49 +01:00
edde746
ad06ef2bef
fix warning
2026-02-11 15:00:58 +01:00
edde746
45e72e0ad9
fix: unmaximize window before entering fullscreen on Windows
2026-02-11 09:29:15 +01:00
edde746
f33f58339d
fix: watch together bugs, TV focus issues, system locale default
...
- Fix guest controls locked on join (use reactive context.select)
- Fix Google TV back button when controls hidden (focus recovery + global fallback)
- Fix profile switch screen focus lost on TV (explicit focus request)
- Add 15s host reconnect grace period with reconnecting overlay
- Add participant join/leave notification toasts
- Default to system language on first launch via findDeviceLocale()
2026-02-11 00:04:09 +01:00
edde746
6e9b78e5b5
fix: missing translations, simplify translations
2026-02-10 21:37:27 +01:00
edde746
e80d1f7132
Merge branch 'companion-remote'
...
# Conflicts:
# lib/i18n/strings.g.dart
2026-02-10 12:47:41 +01:00