0
Fork 0
mirror of https://github.com/fish2018/webhtv.git synced 2026-11-14 07:31:00 +00:00
Commit graph

1,415 commits

Author SHA1 Message Date
www.xueximeng.com
fc62397591 fix(drive): prioritize 115 expired share status over metadata recovery/DRIVE-115-EXPIRED-20260912/20260912013415-fc6239759170
Verification: JDK21 DriveCheckServiceTest passed, covering expired 115 responses with nonempty metadata, forbid/password states, valid legacy responses and 115-only cache versioning; Mobile and Leanback arm64 Java compilation passed. Log: /private/tmp/webhtv-115-check.Q0xzG4/verification.log

Task-Guard: DRIVE-115-EXPIRED-20260912
2026-09-12 01:34:15 +08:00
www.xueximeng.com
d546c11ca8 fix(exo): enable DV5 GPU mapping by default recovery/E9-3-DV5-DEFAULT/20260912005748-d546c11ca875
Verification: JDK21 targeted ExoDv5GpuRendererTest, ExoDv5GpuMappingPolicyTest and PlaybackExperimentPolicyTest passed; Mobile and Leanback arm64 Java compilation passed; no native changes

Task-Guard: E9-3-DV5-DEFAULT
2026-09-12 00:57:48 +08:00
www.xueximeng.com
9692614791 fix(player): wire source switch button into mobile video controls recovery/PLAYER-CHANGE-BUTTON/20260911193054-969261479167
Verification: Mobile arm64 debug assemble passed in 1m21s; layout view binding and change2 click listener compiled; CHANGE registered with existing visibility/order policy; device preference confirmed change enabled; debug installed via installer assist with changed package fingerprint; app running without observed AndroidRuntime fatal error; device currently in animated audio lyrics stage, video-bottom-bar click acceptance not claimed. Evidence: /private/tmp/webhtv-change-button.Wxn6ms

Task-Guard: PLAYER-CHANGE-BUTTON
2026-09-11 19:30:54 +08:00
www.xueximeng.com
f27805e302 feat(mpv): add independent script enable switch and list status recovery/MPV-SCRIPT-ENABLE/20260911190127-f27805e30212
Verification: MpvConfigStoreTest 15/15 passed with zero skips/errors, including real Lua execution and disabled-script filtering; mobile arm64 debug assembled and leanback arm64 Java compiled in one successful Gradle run (1m44s); mobile debug installed via installer assist; user explicitly confirmed testing passed and requested tag

Task-Guard: MPV-SCRIPT-ENABLE
2026-09-11 19:01:27 +08:00
www.xueximeng.com
1ce8df9607 fix(mpv): align script button visibility with execution timing recovery/MPV-SCRIPT-TRIGGERS/20260911180116-1ce8df96075f
Verification: MpvConfigStoreTest 12/12 passed, zero skipped, including real Lua 5.2.4 startup/click/long/hidden/legacy/error-isolation execution; mobile arm64 debug assembled and leanback arm64 Java compiled in one successful Gradle run (4m1s); phone secure-locked, no install/UI acceptance claimed; device scripts unchanged

Task-Guard: MPV-SCRIPT-TRIGGERS
2026-09-11 18:01:16 +08:00
www.xueximeng.com
aa676a941e fix(mpv): route child-menu touch misses through observed parent menus
Verification: User confirmed 我测试可以了,打个tag; routing ASan/UBSan, legacy menu fixtures, history bounds/lifecycle hooks passed; dual-ABI libbluray/MPV builds and ELF verification passed; 18 other native assets unchanged; Mobile arm64 and Leanback armv7 Debug builds and packaged libmpv byte identity passed; evidence /tmp/p9-parent-menu-20260911.q9clO3/

Task-Guard: P9-MPV-PARENT-MENU-HIT
2026-09-11 17:03:05 +08:00
www.xueximeng.com
48dfa4d67a fix(history): swap watched time and filename labels
Verification: Inspected user screenshot: circled filename is remark, bottom movie title is name. Mobile/Leanback XML checks PASS: child order now historyProgress then remark, original 2dp row gap retained; normalizing only that swap and margin side yields entire XML tree identical to baseline. Bottom name and all other elements/styles untouched. No APK build/install. Evidence: /tmp/history-cover-swap-remark-20260910-check.log.

Task-Guard: HISTORY-COVER-SWAP-REMARK
2026-09-10 18:02:06 +08:00
www.xueximeng.com
c4b042bc54 fix(history): place watched time directly above filename
Verification: Both Mobile and Leanback adapter_vod.xml exactly match previously compiled commit 881c8bca2e (git diff --exit-code PASS). Correct order is episode, watched time, filename; erroneous top-of-card positioning removed. Only two layouts and task record changed; no style/Java/playback changes. No APK rebuild/install. Evidence: /tmp/history-cover-progress-above-name-20260910.log.

Task-Guard: HISTORY-COVER-PROGRESS-ABOVE-NAME
2026-09-10 17:51:22 +08:00
www.xueximeng.com
55612b3571 fix(history): move watched time to the top of cover cards
Verification: Mobile and Leanback XML parse and structural checks PASS; historyProgress moved to cover top with site-aware fallback. Baseline comparison proves every original time-label styling/visibility attribute unchanged and all remaining layout elements identical after removing the moved label. No Java/resources text/native changes; no APK build/install or device verification. Evidence: /tmp/history-cover-progress-top-20260910-layout-check.log and docs/HISTORY-COVER-PROGRESS.md.

Task-Guard: HISTORY-COVER-PROGRESS-TOP
2026-09-10 17:39:49 +08:00
www.xueximeng.com
881c8bca2e feat(history): show last watched time on cover cards
Verification: HistoryProgressFormatterTest 7/7 PASS and HistoryTest 7/7 PASS (0 skipped/failures/errors); Mobile arm64 unit tests/Java/resources and Leanback armv7 Java/resources compilation PASS, BUILD SUCCESSFUL in 2m 3s with repository JDK21; source review preserves hidden defaults, episode labels, delete state and stored playback position. Device disconnected: no APK build/install or visual device verification in this UI-only task. Evidence: docs/HISTORY-COVER-PROGRESS.md and /tmp/history-cover-progress-20260910.CMrH7W/tests-and-compile-jdk21.log.

Task-Guard: HISTORY-COVER-PROGRESS
2026-09-10 17:09:07 +08:00
www.xueximeng.com
d4657ae879 fix(mpv): keep disc menus responsive and stabilize TV output fallback
Verification: User explicitly requested commit/tag of this candidate; disc navigation liveness/input tests PASS; 480 MediaCodec release/flush/close races PASS; 19 MpvAutoOutputPolicy tests PASS; Mobile arm64 and Leanback armv7 Debug builds PASS; both-ABI native build and ELF/assets/package hash checks PASS; task scope reconciled and guard check PASS. Device disconnected: candidate NOT installed and real-device playback acceptance remains pending; this is a local recovery candidate, not a device-validated release.

Task-Guard: P9-MPV-MENU-LIVENESS-TV
2026-09-10 16:29:21 +08:00
www.xueximeng.com
1ec5696581 mpv: stream ISO cache pages progressively for disc navigation
Verification: 34 focused ISO tests passed (ProgressiveIsoPageCacheTest 13, IsoPageCacheTest 13, HttpRangeIsoSourceTest 8); Mobile arm64 debug and Leanback arm64 Java compilation passed; OEM install and launch succeeded; user confirmed perceived speed improvement and explicitly requested tag on 2026-09-10; no quantified A/B claim. Evidence: /tmp/p9-iso-progressive-20260909.2zBuZ5/build-tests-approved.log and install.log

Task-Guard: P9-MPV-ISO-PROGRESSIVE
2026-09-10 00:13:32 +08:00
www.xueximeng.com
310f8feef5 fix(mpv): route merged Blu-ray menu backgrounds through authored returns
Verification: User confirmed phone behavior: 可以了,打个tag; real-source menu routing tests PASS; House ISO host chapter-to-audio, same-icon close, chapter-to-subtitles and Back PASS; both ABI builds and ELF verification PASS; Mobile debug APK build and installer PASS; git diff --check and patch reverse-apply check PASS; evidence /tmp/p9-menu-device-20260907.Vq7vyl/house-background-final-*

Task-Guard: P9-MPV-HOUSE-MENU-RETURN
2026-09-09 19:34:13 +08:00
www.xueximeng.com
4ded105fa7 chore(git): allow normal tracking of task documentation
Verification: Removed only /docs/ ignore rule; git check-ignore --no-index confirms task document is not ignored; ordinary git add --dry-run -A on the tracked task document succeeds; git diff --check passes. Existing app/.cxx protected; no documentation bulk staging.

Task-Guard: DOCS-NORMAL-TRACKING-20260909
2026-09-09 16:49:03 +08:00
www.xueximeng.com
5b774430f1 fix(mpv): follow authored HDMV menu return routes
Verification: User verified 倩女幽魂 playback/menu normal and explicitly requested tag; authored ISO host chapter/settings/toggle/back/trailer-root scenarios PASS; test_bluray_menu_routing.sh and test_disc_navigation_input.sh PASS; both ARM ABI libbluray+mpv incremental builds PASS; verify_mpv_native_assets.sh --require-elf PASS; assembleMobileArm64_v8aDebug PASS (51s); OEM-assisted phone installation PASS. Known unresolved: House M.D. submenu close/switch still fails; this is a user-approved partial recovery checkpoint, not full P9 acceptance. Guard invocation adapts tracked ignored docs staging to git add -u; all scope/protected-path/atomic-commit/tag gates unchanged.

Task-Guard: P9-MPV-BLURAY-MENU-INPUT
2026-09-09 16:44:38 +08:00
www.xueximeng.com
f4e4f9e16f fix(mpv): preserve disc visits and track ISO starvation
Verification: 37 focused Java tests passed (disc policy 14, disc rebuffer 7, ISO cache 13, HTTP Range 3); Mobile debug APK and Leanback Java compiled; installer-assist confirmed changed package fingerprint and launched app, exit 0. User explicitly requests checkpoint tag. Candidate device behavior and preview-menu exit remain unverified/unresolved; this is a tested recovery snapshot, not full P9 acceptance. APK SHA256 a40ea5f45bcd4ed9c975cd412002c6fbd70e6f85ff0b4776db98c5873fa28aa3.

Task-Guard: P9-MPV-BLURAY-MENU-FOLLOWUP
2026-09-08 18:10:13 +08:00
www.xueximeng.com
55a6365a9f fix(mpv): stabilize Blu-ray navigation buffering and audio underruns
Verification: ISO cache 14 focused tests and actual ao_thread 7 host cases passed; old ao_thread fails zero-write assertion; both ARM libmpv builds and ELF/assets checks passed; Mobile debug built and installer-assist succeeded; Leanback Java passed; user confirms substantial smoothness improvement and explicitly requests checkpoint tag. Residual frame drops/audio CPU/history and prior broader P9 cases remain unaccepted; tested recovery snapshot, not full P9 acceptance.

Task-Guard: P9-MPV-BLURAY-MENU-FIX
2026-09-08 15:22:34 +08:00
www.xueximeng.com
831b70433e build(mpv): package HDMV menu native assets
Verification: Built app/build/outputs/apk/mobileArm64_v8a/debug/app-mobile-arm64_v8a-debug.apk successfully; APK contains arm64 libmpv.so with disc-menu-active, discnav, and WebHTV stream_cb marker; target device 10CF6H1D2L0009S was offline/not listed by adb, so install and playback remain pending

Task-Guard: P9-MPV-BLURAY-MENU-ASSET
2026-09-07 13:29:14 +08:00
www.xueximeng.com
0c16bd37c0 fix(mpv): make Blu-ray menu patch apply cleanly
Verification: Fixed MPV discnav patch; clean application chain passes on cca559b41ceb0bb7731cf6ef2e1f33276cd30c42 after mpv-stream-cb-disc-controls.patch; arm64 native compile/link previously succeeded and generated assets are preserved separately

Task-Guard: P9-MPV-BLURAY-MENU
2026-09-07 13:11:58 +08:00
www.xueximeng.com
2b36396c0d mpv: add HDMV Blu-ray menu navigation
Verification: MPV patch chain including third_party/patches/mpv-discnav.patch applied cleanly on pinned baseline; production patch cmp with /tmp/p9-final-source.patch; temporary-tree git diff --check; app Gradle compileLeanbackArm64_v8aDebugJavaWithJavac --offline BUILD SUCCESSFUL; bash -n scripts/build_mpv_native.sh scripts/verify_mpv_native_assets.sh; task_guard check and verify_upstream_checkpoint passed; native Meson probe blocked by missing libplacebo and Android NDK/clang, so dual-ABI ELF/assets and device playback remain unverified

Task-Guard: P9-MPV-BLURAY-MENU
2026-09-07 07:49:28 +08:00
www.xueximeng.com
966b3b6747 docs: assess Blu-ray HDMV and BD-J menu support
Verification: git diff --check; libbluray BD-J source/build inspection; VLC/Kodi/mpv integration inspection; current WebHTV build configuration; document-only scope check

Task-Guard: bdj-menu-assessment-20260906
2026-09-06 22:20:16 +08:00
www.xueximeng.com
784b90420d chore: remove local docs from remote recovery/remove-root-docs/20260906164523-784b90420d64 v5.6.0-202609061650
Verification: git diff --cached --check; only tracked root docs removed; original workspace docs preserved

Task-Guard: remove-root-docs
2026-09-06 16:45:23 +08:00
www.xueximeng.com
686522fa8f fix(mpv): prevent automatic script execution and remove button cap
Verification: Mobile/Leanback Java compilation passed; mobile APK assemble passed; git diff --check passed; ADB install attempted but device disconnected before install

Task-Guard: P7-MPV-SCRIPT-BUTTONS-FIX
2026-09-06 16:17:59 +08:00
www.xueximeng.com
54b0b6a875 fix(tv): intercept search result focus entry v5.6.0-202609061209
Verification: bash ./gradlew :app:compileLeanbackArm64_v8aDebugJavaWithJavac --no-daemon (passed); git diff --check (passed)

Task-Guard: fix-tv-search-focus-entry
2026-09-06 11:49:09 +08:00
www.xueximeng.com
e1a873b37a fix(tv): reset search result focus on CSP switch
Verification: bash ./gradlew :app:compileLeanbackArm64_v8aDebugJavaWithJavac --no-daemon (passed); git diff --check (passed)

Task-Guard: fix-tv-search-focus-offset
2026-09-06 11:09:49 +08:00
www.xueximeng.com
77df324e28 fix: omit generated script suffix from button title recovery/P7-MPV-SCRIPT-BUTTON-DISPLAY-NAME/20260906093303-77df324e28c5
Verification: compileMobileArm64_v8aDebugJavaWithJavac and compileLeanbackArm64_v8aDebugJavaWithJavac passed; git diff --check passed; default unbound script button name now omits only generated .lua/.js suffix while preserving actual file name and existing custom titles

Task-Guard: P7-MPV-SCRIPT-BUTTON-DISPLAY-NAME
2026-09-06 09:33:03 +08:00
www.xueximeng.com
219ea082bd fix: toggle custom script button feedback
Verification: compileMobileArm64_v8aDebugJavaWithJavac and compileLeanbackArm64_v8aDebugJavaWithJavac passed; assembleMobileArm64_v8aDebug and device install passed; custom button state toggle code verified in current APK; git diff --check passed

Task-Guard: P7-MPV-SCRIPT-BUTTON-TOGGLE
2026-09-06 09:28:34 +08:00
www.xueximeng.com
b70f96ec0f fix: show custom script button click feedback
Verification: compileMobileArm64_v8aDebugJavaWithJavac and compileLeanbackArm64_v8aDebugJavaWithJavac passed; assembleMobileArm64_v8aDebug and device install passed; local MPV video launched without crash; git diff --check passed

Task-Guard: P7-MPV-SCRIPT-BUTTON-FEEDBACK
2026-09-06 09:12:34 +08:00
www.xueximeng.com
37a3685621 fix: unify mpv scripts settings flow
Verification: git diff --check; bash ./gradlew :app:compileMobileArm64_v8aDebugJavaWithJavac :app:compileLeanbackArm64_v8aDebugJavaWithJavac --no-daemon (BUILD SUCCESSFUL)

Task-Guard: P7-MPV-SCRIPT-EDITOR-PANEL
2026-09-06 08:41:04 +08:00
www.xueximeng.com
41f02fd3c1 fix: open script text editor and refresh list
Verification: git diff --check; bash ./gradlew :app:compileMobileArm64_v8aDebugJavaWithJavac :app:compileLeanbackArm64_v8aDebugJavaWithJavac --no-daemon (BUILD SUCCESSFUL)

Task-Guard: P7-MPV-SCRIPT-BUTTONS
2026-09-06 08:12:23 +08:00
www.xueximeng.com
3b346c85d0 docs: close MPV configuration sync record
Verification: implementation commits/tags recorded in task and assessment documents

Task-Guard: P8-MPV-CONFIG-SYNC
2026-09-06 07:47:46 +08:00
www.xueximeng.com
123db7e755 sync: clear stale MPV profile preferences on restore
Verification: git diff --check; BackupPreferenceFilterTest; Mobile Arm64 Java compilation

Task-Guard: P8-MPV-CONFIG-SYNC
2026-09-06 07:46:46 +08:00
www.xueximeng.com
61b352f808 sync: add optional MPV configuration transfer
Verification: git diff --check; BackupPreferenceFilterTest and SyncFilesOptionsTest; Mobile/Leanback Arm64 Java compilation

Task-Guard: P8-MPV-CONFIG-SYNC
2026-09-06 07:42:57 +08:00
www.xueximeng.com
7ad7e1406e fix(mpv): align right script buttons
Verification: 移动端 Java 编译通过;git diff --check 通过;右侧横屏按钮行填充视口并末端对齐

Task-Guard: P7-MPV-SCRIPT-BUTTONS-RIGHT-ALIGN
2026-09-05 23:53:24 +08:00
www.xueximeng.com
bafdf34b76 fix(mpv): reposition custom script buttons
Verification: 移动端与电视端 Java 编译通过;git diff --check 通过;按钮布局改为移动端竖屏 seekbar 上方、横屏左右半区、电视端控制面板顶部独立滚动行

Task-Guard: P7-MPV-SCRIPT-BUTTONS-POSITION
2026-09-05 23:48:30 +08:00
www.xueximeng.com
8baec44153 fix(mpv): keep script creation in one dialog
Verification: mobile/leanback Java compile passed; mobileArm64_v8a debug APK assemble passed; git diff --check passed; final device UI install blocked because ADB device disconnected

Task-Guard: P7-MPV-SCRIPT-BUTTONS-OVERLAY
2026-09-05 21:07:07 +08:00
www.xueximeng.com
c0968836fb feat(mpv): add script custom button management UI
Verification: Java compile passed for mobile/leanback; current Chinese scripts creation flow and custom-button manager smoke tested without crash; git diff --check

Task-Guard: P7-MPV-SCRIPT-BUTTONS-UI
2026-09-05 20:07:45 +08:00
www.xueximeng.com
5b9a641678 fix(mpv): use scripts new button for custom controls
Verification: compileMobileArm64_v8aDebugJavaWithJavac+compileLeanbackArm64_v8aDebugJavaWithJavac; mobile V2453A scripts tab has no standalone custom-button profile; existing 新建 opens Chinese custom-button manager/editor; no FATAL EXCEPTION; git diff --check

Task-Guard: P7-MPV-SCRIPT-BUTTONS-FIX
2026-09-05 18:57:03 +08:00
www.xueximeng.com
72200c16fe feat: add MPV script custom buttons
Verification: bash ./gradlew compileMobileArm64_v8aDebugJavaWithJavac compileLeanbackArm64_v8aDebugJavaWithJavac --no-daemon (BUILD SUCCESSFUL); git diff --check; custom button JSON/Lua/UI/MPV bridge implemented; device validation pending

Task-Guard: P7-MPV-SCRIPT-BUTTONS
2026-09-05 18:05:53 +08:00
www.xueximeng.com
5a5a6ef383 docs: record MPV script button design
Verification: git diff --check; bash .codex/skills/upstream-integration-governor/scripts/verify_upstream_checkpoint.sh docs/upstream-player-dependency-merge-assessment-2026-08-20.md

Task-Guard: P7-MPV-SCRIPT-BUTTONS
2026-09-05 16:14:47 +08:00
www.xueximeng.com
ea9587dcb7 fix(mpv): gate compressed audio by passthrough route recovery/P3-5/20260905144721-ea9587dcb7fe
Verification: TV confirmed playback OK after route gating; focused MpvAudioCapabilitiesTest and Mobile Arm64 Java compile passed; route=false no longer advertises AAC/MP3 compressed direct

Task-Guard: P3-5
2026-09-05 14:47:21 +08:00
www.xueximeng.com
8dd15ff24a MPV: disable automatic software video fallback
Verification: MpvHardwareDecodePolicyTest passed; Mobile Arm64 Java compilation passed; git diff --check and task_guard check passed; no native/ABI changes

Task-Guard: P3-8
2026-09-05 14:19:06 +08:00
www.xueximeng.com
bf22a22fd6 Fix audio diagnostics Android API compatibility
Verification: Android 14 screenshot reproduced NoSuchMethodError at AudioPlaybackDiagnostics.join; replaced StringBuilder.isEmpty() with length check; :app:testMobileArm64_v8aDebugUnitTest --tests com.fongmi.android.tv.player.AudioPlaybackDiagnosticsTest passed

Task-Guard: P6-2-audio-diagnostics-api-compat
2026-09-05 13:38:00 +08:00
www.xueximeng.com
aed962426d Fix MPV P8.1 HDR10 hardware fallback
Verification: 用户确认手机实测 P8.1 HDR10 回退播放正常;双 ABI native assets ELF 校验通过;Mobile Arm64 Debug APK 构建成功

Task-Guard: P6-1-mpv-p81-hdr10-fallback
2026-09-05 13:34:37 +08:00
www.xueximeng.com
e5dd86b344 fix(exo): support APE demux and FFmpeg playback
Verification: nextlib r3 dual-ABI build with ape decoder/demuxer; ApeExtractorTest 3/3 passed; app compile and arm64 debug APK build passed; Vivo V2453A install/launch and APE playback confirmed

Task-Guard: E13-EXO-APE
2026-09-04 23:55:02 +08:00
www.xueximeng.com
047ad74f76 docs: close C4 implementation record 2026-09-04 16:01:21 +08:00
www.xueximeng.com
0a31951e3c common: unify audio diagnostics contract
Verification: AudioPlaybackDiagnosticsTest ExoPlaybackDiagnosticsTest MpvDirectAudioPolicyTest passed; compileMobileArm64_v8aDebugJavaWithJavac passed; git diff --check passed; upstream checkpoint verification passed

Task-Guard: C4
2026-09-04 15:55:51 +08:00
www.xueximeng.com
43fba18a8d docs: close C4 audio policy assessment record
Verification: git diff --check; task_guard check; C4 commit/tag closure record present

Task-Guard: C4
2026-09-04 14:51:56 +08:00
www.xueximeng.com
ebb5285238 docs: define common audio policy contract
Verification: git diff --check; task_guard check; documentation references and C4 scope validated

Task-Guard: C4
2026-09-04 14:48:59 +08:00
www.xueximeng.com
80e3138308 fix(exo): extract ALAC cookie from QuickTime wave atoms
Verification: Media3 extractor patch apply-check passed; lib-extractor publication succeeded; APK app-mobile-arm64_v8a-debug built with refreshed extractor (SHA-256 f07d53392be6b0aa373a240d2cdec91b358e512a57bbfd3af32595e80cadd4d9); device accepted installation and user confirmed ALAC playback appears working

Task-Guard: E12
2026-09-04 14:05:55 +08:00