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

125 commits

Author SHA1 Message Date
www.xueximeng.com
d546c11ca8 fix(exo): enable DV5 GPU mapping by default
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
f27805e302 feat(mpv): add independent script enable switch and list status
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
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
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
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
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
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
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
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
www.xueximeng.com
04904ff99a fix(exo): route ALAC away from stalled vendor decoder
Verification: :app:testMobileArm64_v8aDebugUnitTest --tests com.fongmi.android.tv.player.exo.ExoAudioCodecSelectorTest --tests io.github.anilbeesetti.nextlib.media3ext.ffdecoder.CompatFfmpegAudioRendererTest passed; device log /private/tmp/exo-alac20-initdiag2.log reproduced missing initializationData

Task-Guard: E12
2026-09-04 13:04:55 +08:00
www.xueximeng.com
56b802ef58 docs: add audio and multichannel strategy assessment
Verification: git diff --check passed; target Markdown exists and contains 139 lines after trailing-whitespace fix

Task-Guard: audio-policy-assessment-doc
2026-09-04 10:26:06 +08:00
www.xueximeng.com
c826ee327b fix(exo): support AV3A 5.1 mixed-content channel downmix
Verification: Vivo V2453A real-device ADB playback confirmed for Exo AV3A 5.1 CMAF, DASH, and TS; user reports no issue

Task-Guard: E12
2026-09-04 10:13:57 +08:00
www.xueximeng.com
639a046125 fix(exo): parse AVS3A DASH channel configuration
Verification: clean Media3 patch apply check; DASH parser Java compile and AAR publication passed; App ARM64 Java compile and APK assemble passed; Robolectric test blocked by host DefaultSdkProvider; ADB device unavailable for playback

Task-Guard: E12
2026-09-04 02:07:50 +08:00
www.xueximeng.com
2f2f99fb7d fix(mpv): downmix unknown AV3A channels to stereo
Verification: Dual-ABI native build and ELF asset verification passed; Mobile arm64 APK 799ec48f0681db69c97863b1bc8a2d974aded4b4959011a3804ccdcf7ad45865 installed on vivo V2453A serial 10CF6H1D2L0009S; user confirmed AV3A 5.1 playback is audible; conservative equal-gain downmix volume note recorded

Task-Guard: P3-7
2026-09-03 22:04:14 +08:00
www.xueximeng.com
69191f78a3 fix(mpv): recover AAC playback through PCM fallback
Verification: 用户已确认 MPV AAC 三个样本在 vivo V2453A 上播放正常(AAC_LC_2.0_48kHz.mp4、AAC_HE_V1_2.0_44.1kHz.aac、AAC_HE_V2_2.0_44.1kHz.aac);压缩输出失败后的 PCM 回退及切换场景已接受

Task-Guard: P3-5
2026-09-03 18:12:39 +08:00
www.xueximeng.com
8419003c2f Fix MPV compressed audio output fallback
Verification: MPV native dual-ABI build passed; verify_mpv_native_assets.sh --require-elf passed for arm64-v8a and armeabi-v7a; assembleMobileArm64_v8aDebug passed; device ADB endpoint unavailable so runtime AAC/ALAC/AV3A/MP3 playback and installation remain pending

Task-Guard: P3-5
2026-09-03 02:31:34 +08:00
www.xueximeng.com
c7d43205f9 fix Exo compressed audio PCM channel fallback
Verification: CompatFfmpegAudioRendererTest passed; Mobile ARM64 Java compile passed; PCM channel-mask probe selects decoder-side stereo fallback for unsupported multichannel routes

Task-Guard: E12-3
2026-09-02 23:01:10 +08:00
www.xueximeng.com
12ebbf8d15 fix Exo audio output configuration recovery
Verification: ExoCompressedAudioDirectPolicyTest passed; Mobile ARM64 Java compile passed; runtime AudioTrack configuration failures now map to Media3 audio init errors

Task-Guard: E12-2
2026-09-02 22:55:49 +08:00
www.xueximeng.com
53eab9c2d6 mpv: expose AV3A audio tracks with canonical MIME
Verification: AV3A/MP3 MIME mapper unit tests and mobile ARM64 Java compile passed; fixture metadata confirmed; no native lock changes

Task-Guard: P3-6-MPV-AUDIO-CODEC-COMPAT
2026-09-02 22:06:08 +08:00
www.xueximeng.com
5c104a199f exo: route MP4 AV3A tracks to compatible decoder
Verification: Media3 AV3A patch check; retained common/container/extractor AAR/source SHA-256 lock updates; focused mobile ARM64 unit tests and Java compile passed

Task-Guard: E12-1-EXO-AUDIO-CODEC-COMPAT
2026-09-02 21:53:36 +08:00
www.xueximeng.com
347801b81f docs: record Exo audio codec compatibility investigation
Verification: E12 research record added; test-library metadata, locked AAR symbols, nextlib 323340522 channel-layout fix, and missing Media3 MP4 AV3A branch documented

Task-Guard: E12-EXO-AUDIO-CODEC-COMPAT
2026-09-02 20:42:23 +08:00
www.xueximeng.com
d00aa57379 mpv: repair compressed AudioTrack fallback patch hunks
Verification: mpv compressed AudioTrack patch apply-check --recount passed for all files; arm64-v8a prepare-only completed successfully; git diff --check passed

Task-Guard: P3-5-aac-compressed-fallback
2026-09-02 20:16:21 +08:00