From dae40cc73c97ab2ff1aaf5060f4a7405e0a7c97a Mon Sep 17 00:00:00 2001 From: CaoWangrenbo Date: Sat, 18 Jul 2026 15:50:15 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=90=8C=E6=AD=A5=20AGENTS.md=20?= =?UTF-8?q?=E2=80=94=20RTSP=20=E8=87=AA=E5=8A=A8=E9=87=8D=E8=BF=9E=20+=20?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E8=AF=B7=E6=B1=82=E7=A7=BB=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修正 video 包路径文件名为 RtspVideoPlayer.kt - 新增 RTSP 自动重连(指数退避)条目 - 新增订阅请求移除条目 Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe --- .idea/markdown.xml | 8 ++++++++ AGENTS.md | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .idea/markdown.xml diff --git a/.idea/markdown.xml b/.idea/markdown.xml new file mode 100644 index 0000000..c61ea33 --- /dev/null +++ b/.idea/markdown.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md index 5d4bf6e..50fe5ea 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -37,7 +37,7 @@ com.example.m20_gamepad/ │ ├── RobotConnection.kt # 连接状态机管理(连接/订阅/心跳/断线判定) │ └── JoystickController.kt # 摇杆输入 → 协议指令映射 ├── video/ -│ └── RtspSurfaceView.kt # RTSP 视频流播放(SurfaceView 层) +│ └── RtspVideoPlayer.kt # RTSP 视频流播放(ExoPlayer + Composable 包装) ├── data/ │ ├── SettingsRepository.kt # 设置项读写(DataStore 封装) │ └── AppSettings.kt # 配置数据类定义 + 默认值 @@ -217,6 +217,8 @@ gradlew installDebug - [x] 状态上报闪烁修复:`_latestStatus` 改用合并策略(`prev.copy`),保留上次报告的非 null 字段,避免 4 个独立订阅交替覆盖导致状态栏/步态按钮闪烁 - [x] 电量显示稳定性优化:`StatusBar` 电量改用独立 `batteryStatus` StateFlow,不依赖 `status?.batteryStatus` - [x] 休眠按钮状态约束:仅非站立状态(空闲/趴下/阻尼等)可切换休眠,站立/RL 控制时禁用 +- [x] RTSP 自动重连:`RtspVideoPlayer` 播放失败后自动重试,指数退避(初始 1s,最大 30s,倍率 2),URL/解码器变化时重置退避状态;覆盖层显示重试次数和倒计时 +- [x] 订阅请求移除:`ProtocolClient` 注释掉 `sendSubscriptionRequests()` 调用,不再在连接时主动订阅状态上报 ### 待办