0
Fork 0
mirror of https://github.com/Silent1566/webhtv.git synced 2026-11-14 02:00:15 +00:00
Commit graph

65 commits

Author SHA1 Message Date
Silent1566
172a001445 merge: sync dev2 with beta and fongmi-sync
Verification: git diff --cached --check; :app:compileMobileArm64_v8aDebugJavaWithJavac BUILD SUCCESSFUL; :app:assembleMobileArm64_v8aDebug BUILD SUCCESSFUL; no unmerged paths; source fish2018/fongmi-sync@4489ca9ecc

Task-Guard: dev2-beta-fongmi-sync-20260830
2026-08-30 19:44:52 +08:00
www.xueximeng.com
9b7cf9cfbb build(mpv): align FFmpeg with 9.0.1
Verification: FFmpeg 177f090e0503b7e013922ca903bde14b1c375f18 prepare-only; dual-ABI native build/install; verify_mpv_native_assets --require-elf; Mobile arm64 debug APK assemble and asset identity; V2453A MPV subtitle/AAC/E-AC3/TrueHD/DTS-HD/LPCM/DTS playback, seek, PiP lifecycle, stop/shutdown, empty crash buffer

Task-Guard: C0-M-MPV-FFMPEG-9.0.1
2026-08-29 12:29:47 +08:00
www.xueximeng.com
cafd4f69e6 docs: standardize JDK 21 requirements
Verification: scoped documentation rg search found no JDK 17 or Android Studio/JBR references; git diff --check passed

Task-Guard: C-DOC-JDK21-CONSISTENCY
2026-08-26 20:37:10 +08:00
Silent1566
c72d09092a 合并上游 fish2018/webhtv fongmi-sync 最新代码
上游 25 个提交,主要内容:
- Exo Dolby Vision DV7 → P8.1 CSD 适配与 HDR10 回退(首帧超时、运行时失败、重建后保持)
- Exo 首帧渲染后再显示画面,首帧到达即停止启动超时
- Matroska 远端流延迟解析 Cues(仅 HTTP/HTTPS),随附 media3-extractor 构件与补丁
- nextlib FFmpeg 升级至 9.0.1
- MPV DV7 HDR10 回退保持直通输出
- 新增上游集成治理文档与 .codex 任务守卫脚本

冲突解决(3 处):
- .gitignore:保留双方新增条目
- PlayerManager:本地已将 onPlaybackTimeout 移至文件后部,删除上游重插入的
  副本,仅把上游新增的 retryExoDv7FirstFrameTimeout() 回退分支并入本地版本
- PlaybackActivity:保留本地 onPlayerRebuilt() 与上游新增 onExoFirstFrame()

验证:mobile/leanback arm64 debug Java 编译通过;上游改动的
DolbyVisionP81ExtractorsFactoryTest、MpvAutoOutputPolicyTest、
PlaybackDiskBufferStoreTest 单测全部通过。
2026-08-24 18:49:48 +08:00
www.xueximeng.com
8ecaea79c1 docs: decouple build instructions from Android Studio
Verification: git diff --check; exact active-doc scan confirms no Android Studio/JBR build dependency wording; scripts use JAVA_HOME/PATH and ANDROID_HOME/ANDROID_SDK_ROOT/local.properties
Task-Guard: remove-android-studio-build-dependency
2026-08-23 13:07:32 +08:00
www.xueximeng.com
0b09fc0944 build(exo): upgrade nextlib FFmpeg to 9.0.1
Update the Exo nextlib lock, AV3A build patch, local Maven artifacts, and documentation to FFmpeg 9.0.1 while preserving the existing soft-load and AV3A integration.

Upstream-Source: FongMi/FFmpeg@177f090e05
Nextlib-Source: anilbeesetti/nextlib@6ff6cf9d08
Assessment: docs/upstream-player-dependency-merge-assessment-2026-08-20.md
C2: dovi_rpu convert=p81 intentionally not enabled in the Exo AAR

Verification: nextlib dual-ABI FFmpeg 9.0.1 build_media_deps.sh: BUILD SUCCESSFUL in 14m 25s; AAR/POM/module hashes recorded; AV3A markers passed; app MobileArm64_v8aDebug: BUILD SUCCESSFUL in 1m 28s; git diff --check passed
Task-Guard: exo-e1-ffmpeg-9.0.1
2026-08-22 09:35:04 +08:00
Silent1566
ec63fdf464 merge: 同步 fish2018/fongmi-sync 最新代码 2026-08-18 11:00:50 +08:00
www.xueximeng.com
a481136329 docs: sync dependency and native build documentation 2026-08-17 18:30:40 +08:00
Silent1566
13d9e881b7 Merge remote-tracking branch 'upstream/fongmi-sync' into dev 2026-08-13 01:45:35 +08:00
www.xueximeng.com
2939bfa86e feat: add Exo AV3A software decoding 2026-08-11 17:48:08 +08:00
Silent1566
5bbe912a33 Merge remote-tracking branch 'upstream/fongmi-sync' into dev
# Conflicts:
#	README.md
#	app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
#	app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
#	app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
#	app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingPlayerActivity.java
#	app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
#	app/src/main/java/androidx/media3/mpvplayer/MpvHlsProxy.java
#	app/src/main/java/androidx/media3/mpvplayer/MpvPlayer.java
#	app/src/main/java/com/fongmi/android/tv/Startup.java
#	app/src/main/java/com/fongmi/android/tv/ui/activity/PlaybackActivity.java
#	app/src/main/java/com/fongmi/android/tv/ui/custom/CustomSeekView.java
#	app/src/main/java/com/fongmi/android/tv/ui/dialog/ChoiceDialog.java
#	app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
#	app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
#	app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.java
#	app/src/mobile/res/layout/view_control_vod_action.xml
#	third_party/patches/media3-danmaku-performance.patch
#	webhome-devkit/docs/应用完整开发文档.md
2026-08-10 17:39:21 +08:00
www.xueximeng.com
076adf9a1e feat: finalize FongMi 5.6.0 sync 2026-08-10 11:23:53 +08:00
Silent1566
729ea742c6 fix(player): 修复合并后播放边界与原生构建锁 2026-08-08 13:34:14 +08:00
Silent1566
ed12c91eb7 merge: 合并 fish2018/beta 最新代码 2026-08-08 11:23:25 +08:00
www.xueximeng.com
af8f04f3dc fix: stabilize mpv and ijk buffering
Keep paused preload and buffered-position reporting active across MPV and IJK, rebuild both IJK ARM ABIs with the locked NDK 28 toolchain, and document reproducible clone-to-APK setup.
2026-08-06 19:20:51 +08:00
Silent1566
cf2b231f80 merge: 合并远程 dev 最新改动 2026-08-03 20:55:21 +08:00
Silent1566
f08a576cfa fix(webhome): 修复切源与遥控确认交互 2026-08-03 14:30:35 +08:00
Silent1566
4ec4a44ffb Merge remote-tracking branch 'fish2018/beta' into beta
# Conflicts:
#	app/schemas/com.fongmi.android.tv.db.AppDatabase/37.json
#	app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
#	app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingPlayerActivity.java
#	app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
#	app/src/main/java/androidx/media3/mpvplayer/MpvPlayer.java
#	app/src/main/java/com/fongmi/android/tv/App.java
#	app/src/main/java/com/fongmi/android/tv/Updater.java
#	app/src/main/java/com/fongmi/android/tv/bean/Backup.java
#	app/src/main/java/com/fongmi/android/tv/bean/History.java
#	app/src/main/java/com/fongmi/android/tv/db/AppDatabase.java
#	app/src/main/java/com/fongmi/android/tv/db/Migrations.java
#	app/src/main/java/com/fongmi/android/tv/db/dao/HistoryDao.java
#	app/src/main/java/com/fongmi/android/tv/playback/PlaybackProgressWriter.java
#	app/src/main/java/com/fongmi/android/tv/playback/PlaybackRecord.java
#	app/src/main/java/com/fongmi/android/tv/player/PlayerManager.java
#	app/src/main/java/com/fongmi/android/tv/player/engine/ExoPlayerEngine.java
#	app/src/main/java/com/fongmi/android/tv/player/engine/IjkPlayerEngine.java
#	app/src/main/java/com/fongmi/android/tv/player/engine/IjkSimplePlayer.java
#	app/src/main/java/com/fongmi/android/tv/player/engine/MpvPlayerEngine.java
#	app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java
#	app/src/main/java/com/fongmi/android/tv/player/exo/PreCache.java
#	app/src/main/java/com/fongmi/android/tv/remote/RemoteAgent.java
#	app/src/main/java/com/fongmi/android/tv/setting/KernelPerformanceSetting.java
#	app/src/main/java/com/fongmi/android/tv/ui/activity/PlaybackActivity.java
#	app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java
#	app/src/main/java/com/fongmi/android/tv/ui/dialog/PlaybackPerformanceDialog.java
#	app/src/main/java/com/fongmi/android/tv/ui/dialog/PlaybackWebhookDialog.java
#	app/src/mobile/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java
#	app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
#	app/src/mobile/java/com/fongmi/android/tv/ui/adapter/HistoryAdapter.java
#	app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java
#	app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingPlayerFragment.java
#	app/src/mobile/java/com/fongmi/android/tv/utils/PiP.java
#	app/src/mobile/res/layout/fragment_setting.xml
2026-08-02 19:26:42 +08:00
Silent1566
d67ff654ff docs: 记录观影记录删除同步设计与服务端边界
说明当前本机删除 API 与多端删除同步的差异。
记录删除墓碑协议、全局历史适配、前后端改造范围和验证清单。
2026-07-31 00:29:29 +08:00
www.xueximeng.com
82a069f746 feat: add persistent playback sync servers 2026-07-23 14:25:42 +08:00
www.xueximeng.com
f5d63d16ed fix: sync playback history deletions 2026-07-23 12:00:09 +08:00
Silent1566
bca76700aa merge: 合并远程 dev 最新改动
# Conflicts:
#	app/src/main/java/com/fongmi/android/tv/player/PlayerManager.java
2026-07-20 15:26:23 +08:00
Silent1566
0ce85f9242 feat: 支持个人默认倍速与单剧倍速覆盖
新增 TV 与 Mobile 个人默认倍速设置,并将手动调速保存为单剧覆盖。

扩展播放进度同步和 Webhook 协议,加入 Room 38 迁移、协议文档及回归测试。
2026-07-20 15:11:13 +08:00
Silent1566
86659a00e9 merge: 合并上游 fish2018/webhtv main 最新代码
# Conflicts:
#	.github/workflows/android-release.yml
#	app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingEnhanceActivity.java
#	app/src/main/java/com/fongmi/android/tv/player/PlayerManager.java
#	app/src/main/java/com/fongmi/android/tv/ui/activity/PlaybackActivity.java
#	app/src/main/java/com/fongmi/android/tv/utils/Github.java
#	app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingEnhanceFragment.java
#	app/src/mobile/res/values-zh-rCN/strings.xml
#	app/src/mobile/res/values-zh-rTW/strings.xml
#	app/src/mobile/res/values/strings.xml
2026-07-20 15:09:17 +08:00
www.xueximeng.com
320647b3ea docs: finalize websocket danmaku build workflow 2026-07-19 19:07:15 +08:00
Silent1566
274a60dc34 merge: 合并上游 main 最新代码
合并 upstream/main(8272567cd8),解决 Backup.java 冲突:保留当前分支的缓存偏好过滤和 HLS 规则失效逻辑,并接入上游 WebHome 扩展备份恢复更新。
2026-07-19 14:05:30 +08:00
www.xueximeng.com
c83f149731 feat: enable MPV MediaCodec Vulkan zero-copy 2026-07-19 08:46:49 +08:00
Silent1566
8a5fef8848 merge: 合并上游 fish2018/main (MPV native + 音频控件修复)
上游 14 提交,主要内容:
- MPV native 栈更新:curl+http2 支持(arm64/armv7)、ISO 轨道映射修复
- 音频控件:沉浸式音频显隐改为经 Listener.isControlAudioContent() 回调宿主

冲突解决(3文件):
- leanback/mobile VideoActivity: 保留我方大量重构,仅吸收上游新增 isControlAudioContent()
- mobile ControlDialog: 保留我方字段封装(controls.decode),吸收 setImmersiveAudioVisible() 调用与匿名 Listener 的 isControlAudioContent() 实现

额外修复 libs.versions.toml junit 自动合并重复定义。
两 flavor 编译通过,相关单测通过。
2026-07-17 22:44:01 +08:00
www.xueximeng.com
111fd063d5 build: verify bundled mpv native assets 2026-07-17 18:21:04 +08:00
www.xueximeng.com
6d8465ff5f build: verify bundled mpv native assets 2026-07-17 18:20:08 +08:00
www.xueximeng.com
60160c4194 docs: document mpv curl http2 native stack 2026-07-17 12:38:31 +08:00
www.xueximeng.com
e69ff5cc57 docs: record stable latest mpv combination 2026-07-17 10:14:45 +08:00
www.xueximeng.com
8c18816158 docs: document mpv native hotfix compatibility 2026-07-17 07:27:23 +08:00
Silent1566
e7b5e17064 合并 fish2018/main 上游最新代码
整合 MPV 配置管理、Blu-ray ISO 播放、搜索并发和直播方向等更新,并保留自定义站点名称、分组筛选及固定源排序能力。
2026-07-15 22:01:45 +08:00
www.xueximeng.com
a8c1b5d0b8 docs: update MPV native build guidance 2026-07-15 13:22:57 +08:00
Silent1566
0fcdce7329 Merge remote-tracking branch 'fish2018/main' into dev 2026-07-13 14:36:47 +08:00
www.xueximeng.com
ef2891def1 docs: add reproducible IJK native build guide 2026-07-13 11:21:52 +08:00
Silent1566
4faac65729 merge: 合并上游 fish2018/main 最新代码
并入上游 7 个提交:
- fix(mobile): 横屏布局适配窗口边界
- fix: MPV 软解杜比视界改用 gpu-next 渲染
- fix: 对齐全屏手势区域判断
- build: 新增可复现的 MPV 原生工具链
- docs: 记录 MPV 原生依赖基线
- build: fast release 版本号加时间戳
- fix: 恢复支持 Vulkan 的 MPV LUT 滑块

冲突解决:CustomKeyDown.java 全屏手势区域判断(isEdge/isSide/checkSide),
双方均从 activity 改用 App.get()+getRawX(),语义等价,保留 dev 侧带注释实现。
2026-07-12 10:05:19 +08:00
www.xueximeng.com
2b68092e22 build: add reproducible MPV native toolchain 2026-07-12 01:36:48 +08:00
www.xueximeng.com
de803aa8e0 docs: record MPV native dependency baseline 2026-07-12 00:06:33 +08:00
Silent1566
27a071c1c1 Merge remote-tracking branch 'fish2018/main' into dev
# Conflicts:
#	.github/workflows/android-release.yml
2026-07-10 18:28:02 +08:00
Silent1566
a53bbaa500 合并上游 fish2018/main 最新代码
同步上游 MPV 播放器、播放链路、界面与远程中继更新。

保留本地 System 播放器及现有定制,并补充四播放器切换测试。
2026-07-10 13:29:58 +08:00
www.xueximeng.com
6c8fdd3c1d fix: install Android SDK platform 37.0 in CI 2026-07-10 12:06:03 +08:00
www.xueximeng.com
3b972ba250 docs: update Android build documentation 2026-07-08 23:34:51 +08:00
Silent1566
e7fe0f35e9 合并 fish2018 上游最新代码
合并 fish2018/main 到 dev,保留本地播放器与弹幕定制,并接入上游 Media3、播放性能和解码能力检测更新。
2026-07-07 11:04:07 +08:00
www.xueximeng.com
8e694cc06a Document Media3 build requirements 2026-07-06 17:46:43 +08:00
Silent1566
3ce1d63e2f feat(cache): 引入AppCache替代SharedPreferences存储
- 创建AppCache工具类,将缓存数据存储到应用缓存目录而非SharedPreferences
- 修改Setting、MediaTitleLearningStore等类使用AppCache替代Prefers
- 更新HomeWebBridge和Cache处理类使用新的缓存API
- 添加缓存清理时同时清除遗留偏好设置的功能
- 在备份配置中排除缓存相关设置项
- 更新文档说明缓存机制变更
2026-07-05 13:44:40 +08:00
www.xueximeng.com
3eb824ab44 feat: refine nostr homepage artwork and focus 2026-06-20 12:05:00 +08:00
www.xueximeng.com
7b43233241 feat: refine nostr homepage artwork and focus 2026-06-20 12:05:00 +08:00
www.xueximeng.com
cb3f84dbf9 docs: document push artwork history restore 2026-06-20 11:26:48 +08:00