edde746
024af35bf5
chore: add native formatting checks
2026-05-01 05:56:49 +02:00
edde746
9f19082d47
fix(android): hole-punch video and libass surfaces on API 36+
2026-04-30 16:04:16 +02:00
edde746
c5867861eb
fix(playback): coalesce concurrent player init to fix MPV hang
2026-04-28 04:16:02 +02:00
edde746
3a69e49ab8
perf: parallelize playback startup
2026-04-24 23:20:31 +02:00
edde746
39bcd9b943
feat(android): flutter surfaceview rendering
2026-04-23 10:10:34 +02:00
edde746
e6c1923b0e
refactor(exoplayer): drop duplicated mpv box-fit translation
2026-04-21 18:23:46 +02:00
edde746
839465b7f2
feat(exoplayer): box-fit modes (letterbox/cover/stretch)
2026-04-21 18:17:25 +02:00
edde746
48ba923f47
chore: bump mpvkit and libmpv-android
2026-04-21 10:39:24 +02:00
edde746
1fd415ae31
feat(android): display switch delay
...
close #894
2026-04-20 17:34:54 +02:00
edde746
65e19706f8
fix(exoplayer): external sub attach, non-ass render
...
close #895
2026-04-20 13:14:32 +02:00
edde746
f96342bd81
chore: bump libass to fp-3
...
close #893
2026-04-20 11:55:21 +02:00
edde746
81bac6ee9b
fix(exoplayer): libass performance
2026-04-19 23:01:40 +02:00
edde746
8b34307975
fix: re-select audio on renderer capabilities change
...
close #889
2026-04-18 18:36:44 +02:00
edde746
91057c12a4
feat: bold/italic subtitle toggles
...
close #883
2026-04-17 15:03:23 +02:00
edde746
1e62c6c756
feat: bandwidth limit modal on stream 500
2026-04-17 13:12:07 +02:00
edde746
dec2e1c9fc
fix: add media3 hls dependency
...
close #881
2026-04-17 04:42:46 +02:00
edde746
a60e1e7f42
feat: ExoPlayer audio-delay and sub-delay support
...
close #869
2026-04-16 06:44:46 +02:00
edde746
59346f4b67
fix: restore playWhenReady after renderer recreation
2026-04-16 03:42:46 +02:00
edde746
caa70dd460
fix: remove camera permission and hasCamera check
2026-04-15 12:01:55 +02:00
edde746
a55650bc40
fix: skip QR scanner on devices without cameras
2026-04-14 06:53:51 +02:00
edde746
4322ffc6e5
fix: disable android tv pip lifecycle regressions
2026-04-09 06:39:17 +02:00
edde746
603b5b5105
fix: pip aspect ratio clamp values outside android limits
2026-04-07 07:35:03 +02:00
edde746
5880451401
fix: try DV conversion before MPV fallback on decoder hang
2026-04-04 00:19:10 +02:00
edde746
51a49cfca3
fix: disable Impeller on Huawei/HONOR devices
2026-03-31 14:16:01 +02:00
edde746
2c12a07257
fix: reuse AudioTrack across seeks, reduce PCM buffer
2026-03-31 12:39:10 +02:00
edde746
8eb716505d
fix: mpv dispose ANR on main thread
2026-03-30 21:42:11 +02:00
edde746
ad8faab9ea
fix: android video surface lifecycle management
...
close #771
2026-03-29 18:07:50 +02:00
edde746
3306a28892
fix: isolate libdovi from JVM heap, reuse DV buffers
2026-03-28 17:38:11 +01:00
edde746
8ad1cb988f
fix: detach mpv surface before view removal in dispose
2026-03-25 07:25:32 +01:00
edde746
23043c61f4
fix: Tensor SoC detection for internal model IDs
2026-03-25 04:15:34 +01:00
edde746
9bd2774820
fix: race conditions in mpv dispose and track manager, add debug fallback trigger
2026-03-23 03:48:48 +01:00
edde746
e759dafa87
fix: disable impeller on Tensor/NVIDIA GPUs
2026-03-22 14:35:42 +01:00
edde746
48e57fd375
fix: match content frame rate
...
close #736
2026-03-22 08:12:16 +01:00
edde746
4b05ed79ea
fix: bump libmpv-android to v1.0.6
2026-03-22 04:59:31 +01:00
edde746
4365e70a78
fix(android): libmpv failed init reinit
2026-03-21 16:51:25 +01:00
edde746
1980ce92d5
fix: pip aspect ratio after exoplayer→mpv fallback
2026-03-21 09:19:21 +01:00
edde746
d355e07e10
refactor: switch to libmpv-android fork, fix ANR and track selection
2026-03-21 08:53:08 +01:00
edde746
82f0d46acc
fix: update libass
2026-03-20 09:07:17 +01: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
fbf6fc988b
chore: update libass-android
2026-03-19 19:52:05 +01:00
edde746
e096a4ccb8
fix: use direct TrackGroup refs for track selection, clear stale overrides
2026-03-19 18:58:07 +01:00
edde746
13604cca01
fix: defer nativeSurfaceChanged out of layout pass
2026-03-18 21:13:57 +01:00
edde746
fb4f17a898
feat: support MKV ContentCompAlgo 0 (zlib) in ExoPlayer
2026-03-18 08:52:14 +01:00
edde746
ad0623334c
feat: approximate seeking for MKV files without Cues
2026-03-18 08:52:14 +01:00
edde746
3ea3455772
fix: prevent SurfaceControl use-after-free
...
Synchronously null surface fields in dispose() before deferred view
removal, add session generation counter to cancel stale MPV fallbacks,
and use postAtFrontOfQueue for defense-in-depth message ordering.
2026-03-16 06:15:12 +01:00
edde746
ff5cf06e60
chore: remove HttpTimingTransferListener debug logging
2026-03-15 22:47:51 +01:00
edde746
9798486724
chore: bump cronet
2026-03-15 22:38:06 +01:00
edde746
af0de5c0a9
fix: switch from OkHttp to Cronet
2026-03-15 22:00:51 +01:00
edde746
bf464b257d
fix: log full exception chain on ExoPlayer errors
2026-03-15 11:38:07 +01:00
edde746
0100b2a2ea
fix: preserve start position and subtitles in ExoPlayer→MPV fallback
2026-03-15 11:32:25 +01:00