Commit Graph
55499 Commits
Author SHA1 Message Date
BoatingCloud 8cae735e3c docs: record tmdb detail completeness 2026-08-30 14:05:35 +08:00
BoatingCloud 82325ddfa9 docs: record search pagination 2026-08-30 13:57:28 +08:00
BoatingCloud 9c8e679c94 docs: record tmdb edge fixes 2026-08-30 13:53:10 +08:00
BoatingCloud fe1935c3b3 docs: record tmdb data integration 2026-08-30 13:40:56 +08:00
BoatingCloud 8f58fad5cd docs: record scene continuity redesign 2026-08-30 08:51:00 +08:00
BoatingCloud 3bcdcfd2a8 docs: clarify navigation ambient tint 2026-08-30 08:35:40 +08:00
BoatingCloud e2f4fbd831 docs: record navigation contrast adjustment 2026-08-30 08:32:37 +08:00
BoatingCloud 29cd001796 docs: record immersive home redesign 2026-08-30 08:05:41 +08:00
BoatingCloud e34a718c48 docs: record fixed home actions 2026-08-30 07:53:36 +08:00
BoatingCloud f1f0484eb4 docs: record vui1 completion 2026-08-30 07:31:18 +08:00
BoatingCloud 32422c4e06 docs: record phase8 ui foundation status 2026-08-29 21:31:02 +08:00
BoatingCloud 7f3d2e0747 docs: record phase7 sdk integration status 2026-08-29 19:55:47 +08:00
BoatingCloud 14149854b8 feat: package core sdk and integrate velix player app 2026-08-29 19:52:38 +08:00
BoatingCloud e594f66c35 perf: complete phase6 playback benchmark baseline 2026-08-29 18:56:22 +08:00
BoatingCloud c6f267d6dd feat: complete phase5 playback network contract 2026-08-29 16:49:38 +08:00
BoatingCloud 49b078737b docs: record phase5 remote push 2026-08-29 15:42:58 +08:00
BoatingCloud f9d1481fb8 feat: unify phase5 playback lab with stable core api 2026-08-29 15:42:26 +08:00
BoatingCloud 0db086a1e9 docs: refresh phase5 artifact record 2026-08-29 14:57:48 +08:00
BoatingCloud d7cf273432 fix: close phase5 playback contract gaps 2026-08-29 14:55:57 +08:00
BoatingCloud 8a30e06621 feat: add phase5 playback and network capability 2026-08-29 14:34:50 +08:00
BoatingCloud e4bc586d77 docs: pin final FFmpeg-Harmony branch 2026-08-29 13:43:44 +08:00
BoatingCloud 5a50baf26a docs: pin final FFmpeg-Harmony tip 2026-08-29 13:41:36 +08:00
BoatingCloud d84fd47f9b docs: pin current FFmpeg-Harmony tip 2026-08-29 13:40:31 +08:00
BoatingCloud 09de481b03 build: isolate FFmpeg-Harmony MPV output prefix 2026-08-29 13:38:17 +08:00
BoatingCloud 329728ce56 docs: record Phase 4.5 fork status 2026-08-29 13:35:35 +08:00
BoatingCloud 46582ed8bd build: add FFmpeg-Harmony prefix switch 2026-08-29 13:32:57 +08:00
BoatingCloud e5f6c0ced2 docs: normalize Phase 4 status 2026-08-29 12:43:49 +08:00
BoatingCloud e1bc8cc52f docs: add Phase 4 OHCodec status 2026-08-29 12:43:14 +08:00
BoatingCloud c239b1c186 docs: record Phase 4 OHCodec validation 2026-08-29 12:41:34 +08:00
BoatingCloud 1f1a6e5962 docs: record OHCodec interop boundaries 2026-08-29 12:36:33 +08:00
BoatingCloud 37df87fc56 feat: surface OHCodec diagnostics in Playback Lab 2026-08-29 12:36:20 +08:00
BoatingCloud 3f6132637b feat: add Harmony OHCodec hwdec adapter 2026-08-29 12:36:14 +08:00
BoatingCloud 9fdf08073e docs(harmony-audio): record implementation and validation 2026-08-29 10:07:29 +08:00
BoatingCloud dfda10b6d8 harmony: playback-lab: expose audio diagnostics 2026-08-29 10:07:25 +08:00
BoatingCloud 9941ad1da9 harmony: meson: enable OHAudio backend on OHOS 2026-08-29 10:07:19 +08:00
BoatingCloud 7021f883cb harmony: audio: add OHAudio output backend 2026-08-29 10:07:13 +08:00
BoatingCloud c650a4214d docs(playback-lab): record emulator verification 2026-08-29 09:06:04 +08:00
BoatingCloud d4c84601fa feat(playback-lab): add EGL and libmpv playback bridge 2026-08-29 09:05:47 +08:00
BoatingCloud 2356e2f67b feat(playback-lab): add isolated HarmonyOS app shell 2026-08-29 09:05:42 +08:00
BoatingCloud 75ed9dd2f4 build: complete HarmonyOS arm64 libmpv phase 1 2026-08-28 19:08:53 +08:00
BoatingCloud f178d38ce6 docs: record Velix remote repository 2026-08-28 18:36:36 +08:00
BoatingCloud 2c469d4299 docs: complete HarmonyOS phase 0 research 2026-08-28 15:47:20 +08:00
Kacper Michajłow 182fa6ca49 player/discnav: allow window dragging on menu
lint / commit-msg (push) Has been cancelled
lint / swift (push) Has been cancelled
lint / lua (push) Has been cancelled
lint / ruff (push) Has been cancelled
lint / mypy (push) Has been cancelled
lint / editorconfig (push) Has been cancelled
lint / pre-commit (push) Has been cancelled
build / mingw (i686, wine32) (push) Has been cancelled
build / mingw (x86_64, wine64) (push) Has been cancelled
build / win32 (arm64, windows-11-arm, aarch64-pc-windows-msvc) (push) Has been cancelled
build / win32 (x64, windows-2025-vs2026, x86_64-pc-windows-msvc) (push) Has been cancelled
build / macos (arm, macos-14, Xcode_15.0) (push) Has been cancelled
build / macos (arm, macos-15) (push) Has been cancelled
build / macos (arm, macos-26) (push) Has been cancelled
build / macos (macos-15-intel) (push) Has been cancelled
build / macos (test, macos-26, -target arm64-apple-macosx10.15, 10.15) (push) Has been cancelled
build / linux (map[args:-Db_lto=true -Db_lto_mode=thin cc:clang cxx:clang++ ld:lld]) (push) Has been cancelled
build / linux (map[args:-Db_ndebug=true cc:gcc cxx:g++]) (push) Has been cancelled
build / linux-fuzz (push) Has been cancelled
build / linux-ffmpeg-6-1 (push) Has been cancelled
build / openbsd (push) Has been cancelled
build / freebsd (push) Has been cancelled
build / msys2 (pattern, windows-2025-vs2026, clang64) (push) Has been cancelled
build / msys2 (true, windows-2025-vs2026, clang64) (push) Has been cancelled
build / msys2 (uninitialized, windows-2025-vs2026, clang64) (push) Has been cancelled
build / msys2 (windows-11-arm, clangarm64) (push) Has been cancelled
build / msys2 (windows-2025-vs2026, mingw64) (push) Has been cancelled
build / msys2 (windows-2025-vs2026, ucrt64) (push) Has been cancelled
build / msys2 (zero, windows-2025-vs2026, clang64) (push) Has been cancelled
build / Publish git release (push) Has been cancelled
2026-08-26 18:04:17 +02:00
Kacper Michajłow c318236b88 player: drop the enhancement-layer pairing when the media has no EL 2026-08-26 01:47:41 +02:00
Kacper Michajłow e1cf77c0e9 stream_dvdnav: clamp number of buttons to array size
libdvdread doesn't sanitize this value, so we do for corrupted discs.
2026-08-26 01:47:41 +02:00
Kacper Michajłow 93451ef64f demux_disc: mark streams the current program does not carry
The outer streams live for as long as the disc does, but each program
brings its own set. Playing a BD playlist without the Dolby Vision
enhancement layer left the outer EL stream selected with no slave
stream mapped to it.

Normally when there is no EL there is no track either, but since it was
exposed in PMT we still have the track, while VM may decide to unmap it.
This is bit of workaround, but harmless one.
2026-08-26 01:47:41 +02:00
Kacper Michajłow 795cd15438 demux: let a demuxer mark a stream as absent
Media can stop providing a stream mid-playback, for example a disc
program that does not carry the Dolby Vision enhancement layer the
previous one had. Since mpv always try to keep at least 1 packet
buffered in all tracks, it can keep reading it till EOF.
2026-08-26 01:47:41 +02:00
Kacper Michajłow 96b9d84b60 f_output_chain: restore the chain ends manual connections on relink
mp_pin_connect() clears manual_connection on the pins it links, so a
filter that stops being the first or the last one leaves the chain
unable to drive its own ends. Nothing has changed the ends at runtime
so far, so this went unnoticed.
2026-08-26 01:47:41 +02:00
Kacper Michajłow 79186bd167 discnav: poll the disc VM while playback idles
The BD-J VM progresses only on reads. With playback at EOF or on a
held still nothing reads anymore, applet playlist switches never
surface and menus freeze, libbluray documents this polling requirement
for idle states. Drive one nav read per tick and keep the core awake.
The slave demuxer latches its EOF and stops touching the stream, so
the read path peeks the stream itself to run its event loop. Poll the
same way while paused in a menu, highlight redraws would otherwise
wait for the next core wakeup. dvdnav stills release on user input,
not reads, and the pump bypasses the cache limits, so no pumping
outside these states.
2026-08-26 01:47:41 +02:00
Kacper Michajłow 6f6bedec72 demux_disc: reset the slave demuxer in place on BD time seeks
A seek repositions the disc under the live slave demuxer, and mpegts
spliced its buffered PES state together with data of the new position
into broken packets, an AU worth of decode errors per seek. mpegts
already flushes all per-PID packet state when it sees the avio
position jump, so restart the byte position counters on the seek and
resync the avio position to the stream in drop_buffers.
2026-08-26 01:47:41 +02:00