edde746
40833e65ec
fix(ci): align toolchains and isolate platform tests
2026-07-24 10:06:50 +02:00
edde746
0c6dab01b3
build(deps): upgrade Flutter package dependencies
2026-07-24 03:56:40 +02:00
edde746
9f2e050797
fix(native): bound cross-platform lifecycle ownership
2026-07-24 03:56:40 +02:00
edde746
e0bf66eea8
fix(runtime): harden application service boundaries
2026-07-24 03:46:46 +02:00
edde746
658da37b48
build: make toolchain inputs reproducible
2026-07-24 03:40:06 +02:00
edde746
0a3e9d9e89
build(apple): bump MPVKit to 1.0.13
2026-07-13 23:37:30 +02:00
edde746
e6e7d8cdfd
test: remove redundant coverage and shorten timers
2026-07-13 02:15:03 +02:00
edde746
4a81246986
build(libass): bump fork to 0.18.3
2026-07-12 00:44:08 +02:00
edde746
71d644c4ae
fix(macos): stop CPU spin when display sleeps with video paused
...
When the display/system sleeps with a video paused, the window server
stops completing CAMetalLayer presents and mpv's MoltenVK swapchain wedges,
pinning one core at 100% until the app exits. occlusionState does not
reliably change on display sleep, so observe NSWorkspace screensDidSleep/
Wake to hide the metal layer (and drop the playback activity) while dark,
restoring on wake with a forced redraw when paused to avoid a stale frame.
Pairs with MPVKit v1.0.10, which gates libmpv presentation on the layer's
hidden state (check_visible) so presents actually stop while hidden.
2026-07-09 11:56:13 +02:00
edde746
422db75b5b
feat(music): mpv audio playback engine with gapless queue service
...
Audio-only mpv core on every platform (dedicated
com.plezy/mpv_audio_player channels): parameterized android/windows/
linux mpv plugins and a new apple MpvAudioPlayerCore, all skipping
video/window paths (vid=no, audio-display=no, gapless-audio=weak).
MusicPlaybackService drives an in-memory queue with shuffle/repeat,
file-loaded-event gapless arming (property edges coalesce and the
android bridge drops them), per-track progress reporting, OS media
controls, audio focus, sleep timer, and error auto-skip.
PlaybackCoordinator enforces one live native player: starting video
disposes the audio core first.
2026-07-05 19:26:28 +02:00
edde746
87eaafe3c4
chore(deps): update MPVKit to v1.0.9
...
close #1420 , close #1457 , close #1484
2026-07-05 08:15:00 +02:00
edde746
8fa91fe444
chore(apple): pin MPVKit 1.0.8
...
AV1 perf: NEON dav1d (upstream prebuilt shipped C-only) + fused
software-frame upload in the avfoundation VO (patch 0009).
2026-07-03 08:51:19 +02:00
edde746
d5df426ab6
build(libass): bump to 0.18.2
2026-07-02 11:41:24 +02:00
edde746
d333ac2382
fix(apple): pin MPVKit 1.0.6
2026-06-27 06:03:07 +02:00
edde746
9ff3099a9d
fix(player): update MPVKit and stream buffering
2026-06-13 20:51:14 +02:00
edde746
3c43874342
fix(tvos): update mpvkit audio passthrough
2026-06-13 10:24:15 +02:00
edde746
1292d7ac34
fix(dovi): bump MPVKit to v1.0.2 for profile 8 DV hardware decode
...
close #1262
2026-06-10 20:26:11 +02:00
edde746
cd9498abb8
refactor(player): centralize playback opening
...
close #1280
2026-06-10 02:26:26 +02:00
edde746
3cca29512d
fix: bump MPVKit to v1.0.1 for profile 8 Dolby Vision decode
...
Routes all single-layer DV profile 8 (incl. compat 0) through the Apple
DV decode path, so VideoToolbox decodes it in hardware as true Dolby
Vision instead of failing over to software HDR10. Refs #1262 .
2026-06-06 16:06:31 +02:00
edde746
6b3e49d410
fix(ios): recover frozen video after Control Center
...
close #1232
2026-06-06 00:49:19 +02:00
edde746
e6ca5f254d
fix(ios): correct anamorphic video aspect ratio
...
close #1244
2026-06-05 10:15:03 +02:00
edde746
eba553413c
fix(macos): allow LuaJIT under hardened runtime
...
close #1214
2026-06-01 02:46:37 +02:00
edde746
869b4fe230
chore: bump MPVKit
2026-05-28 00:14:06 +02:00
edde746
7b4e399013
chore: bump MPVKit
2026-05-27 06:52:03 +02:00
edde746
e98d7febdd
chore: upgrade Flutter to 3.44
2026-05-18 22:52:51 +02:00
edde746
db2a2c34d2
fix(apple): update MPVKit release
2026-05-15 18:14:13 +02:00
edde746
9b248a7a5b
fix(macos): restore video layer on focus
2026-05-11 10:13:05 +02:00
edde746
bfb6aa01b9
fix(apple): use platform-specific mpv rendering
2026-05-10 13:33:02 +02:00
edde746
6f273b0aa8
fix(apple): align local network permissions
2026-05-10 09:39:43 +02:00
edde746
3a612df3d3
chore: remove in-app review
2026-05-09 11:47:37 +02:00
edde746
afda61119e
fix(macos): sync restored fullscreen chrome
2026-05-09 11:35:36 +02:00
edde746
d38f7cf78f
perf(player): reduce playback UI churn
2026-05-09 09:38:25 +02:00
edde746
633ce11c88
chore(deps): update MPVKit
2026-05-09 09:17:03 +02:00
edde746
1e6bd01987
fix(player): harden Apple PiP handling
2026-05-08 07:40:41 +02:00
edde746
e2a7a7ab4b
chore(apple): bump MPVKit pin
2026-05-08 03:09:05 +02:00
edde746
cedd448ef2
feat(apple): use AVFoundation mpv output
2026-05-08 02:39:42 +02:00
edde746
c4b9da0950
refactor(images): replace flutter cache manager
2026-05-03 20:09:23 +02:00
edde746
060926b749
fix(macos): avoid double disposing mpv core
2026-05-03 10:59:30 +02:00
edde746
5010833da9
fix(mpv): avoid blocking runtime calls
2026-05-03 08:23:44 +02:00
edde746
dc74300ef5
fix: avoid macOS fullscreen playback stalls
...
close #934
2026-05-01 07:04:37 +02:00
edde746
024af35bf5
chore: add native formatting checks
2026-05-01 05:56:49 +02:00
edde746
48ba923f47
chore: bump mpvkit and libmpv-android
2026-04-21 10:39:24 +02:00
edde746
79f7de1b4c
chore: regenerate podfile locks
2026-04-15 17:53:46 +02:00
edde746
15b22f75a8
refactor: replace dio with package:http
2026-04-08 00:43:08 +02:00
edde746
56697303f9
fix: async mpv dispose on macOS
2026-03-28 17:55:34 +01:00
edde746
09ff47e19f
fix: reduce CPU when paused and backgrounded on macOS
2026-03-21 08:36:25 +01:00
edde746
e95b768350
chore: update appcast.xml url
2026-03-21 00:04:10 +01:00
edde746
1f8dfd3587
fix: regenerate macos Podfile.lock
2026-03-19 21:48:01 +01:00
edde746
5123a5ec48
chore: bump dependencies
2026-03-19 20:53:35 +01:00
edde746
17da465e4e
chore: bump mobile_scanner to 7.2.0
2026-03-19 19:49:57 +01:00