Commit Graph

285 Commits

Author SHA1 Message Date
mofeng-git
48fd64319e merge: 合并 RustDesk 直连与会话优化 2026-08-30 20:50:03 +08:00
mofeng-git
ccf821ab22 refactor(rustdesk): 移除密钥对状态展示 2026-08-30 20:48:55 +08:00
mofeng-git
b074aa5779 fix(rustdesk): 降低视频直连延迟 2026-08-30 08:50:38 +08:00
mofeng-git
95a1fdf42d feat(rustdesk): 强化会话管理并优化流媒体传输 2026-08-30 08:21:37 +08:00
mofeng-git
e678ec394d feat(rustdesk): 新增独占式 IP 直连模式 2026-08-30 08:21:27 +08:00
mofeng-git
5cab585115 Merge remote-tracking branch 'origin/main' into dev 2026-08-26 16:39:31 +08:00
Carbon
dcfa3eadaf fix: 为 RKCIF/RK628 选择受支持的视频格式 (#292)
RK628 通过 RKCIF 接入时,如果 One-KVM 启动时 HDMI 信号尚未锁定,
SourceFollowing 路径可能回退到默认 MJPEG。由于 RKCIF 不支持 MJPEG,
后续 S_FMT 无法建立有效的采集链路。

解决方案:
在解析 SourceFollowing 配置后,根据设备的 VIDIOC_ENUM_FMT 枚举结果
校验最终格式。如果该格式不受支持且格式列表非空,则选择按优先级排序
的首个可用格式,对于 RKCIF/RK628 通常为 NV12。

该方法只替换 FourCC,保留 HDMI DV timings 提供的分辨率和帧率。
同时覆盖无信号启动和当前格式已失效两种场景。
2026-08-26 16:37:57 +08:00
Carbon
1647e70243 fix: RK3588 原生 HDMIRX 被错误地关联到了 RK628 subdev (#293)
* fix: RK3588 原生 HDMIRX 被错误地关联到了 RK628 subdev

当 RK628 和 RK3588 原生 HDMI IN 同时存在时,页面配置为 rk_hdmirx,
会无法使用,提示无信号。

是因为原来的 subdev 发现逻辑会全局扫描 v4l-subdev,并返回首个匹配节点。
原生 HDMI IN 可能错误使用 RK628 subdev 的信号状态,最终被判断为无信号。

解决方案:
根据 video 节点的设备号找到对应 media device,读取 Media Controller
中的 entity 和已启用链路,只返回与当前 video 节点实际连通的 HDMI
bridge subdev。

* fix: 精确匹配视频设备的 Media 拓扑

---------

Co-authored-by: mofeng-git <mofeng654321@hotmail.com>
2026-08-26 16:32:03 +08:00
BigfootACA
9c6d8a614c fix(webrtc): preserve H.26x headers for new sessions
Detect random-access frames from Annex-B data and cache codec headers.
Prepend missing headers to later H.264 IDR and H.265 IRAP frames.
Forward standalone headers while WebRTC waits for a decodable frame.

Signed-off-by: BigfootACA <bigfoot@radxa.com>
2026-08-26 15:51:55 +08:00
BigfootACA
db7a845d3b fix(hwcodec): release V4L2M2M packets before delivery
Copy compressed V4L2M2M output before asynchronous delivery.
This releases driver capture buffers and prevents encoder stalls.

Signed-off-by: BigfootACA <bigfoot@radxa.com>
2026-08-26 15:51:55 +08:00
a15355447898
1d48d45592 feat: 支持高通 iris v4l2m2m 硬件编码器
- 新增高通平台检测,避免 Amlogic v4l2m2m 检测误判
- 对高通 Iris 编码器调整 GOP 和 capture buffers
- 强制关键帧仅在高通 Iris 之外启用
2026-08-26 15:51:55 +08:00
TXIuTnVsbA
d613739b06 fix(hid): 兼容 CH9329/CH9329F 串口响应 (#300)
支持 CH9329/CH9329F 扩展参数响应、粘包与乱序处理,保留严格校验和及有界接收缓冲。
2026-08-26 15:19:41 +08:00
mofeng-git
6e1194fe4c refactor: 移除 AMLENC 私有编码后端 2026-08-26 12:06:10 +08:00
mofeng-git
f101ddb918 refactor: 降低 hwcodec 探测日志噪音 2026-08-26 12:04:52 +08:00
mofeng-git
0054100414 refactor: 精简运行时重复初始化
统一服务与 CLI 的数据库初始化入口,由视频流管理器负责 WebRTC 采集源同步,并将 MSD 目录创建收敛到控制器内部。
2026-08-26 11:37:39 +08:00
mofeng-git
486f3887c2 refactor: 简化日志级别配置并移除 verbose 参数 2026-08-26 11:04:40 +08:00
mofeng-git
37af369b43 refactor: 简化运行时与服务协调
提取运行时生命周期管理,集中远程访问与 USB 协调,并缩小 Web 路由状态依赖。
2026-08-26 10:53:08 +08:00
mofeng-git
827d24fde4 feat: 增加 Amlogic 硬件编码的并行解码支持 2026-08-25 14:58:09 +08:00
mofeng-git
b8ea38b5f3 feat: 增加 s905 晶晨 H.264 硬件编码支持 2026-08-15 21:26:34 +08:00
mofeng-git
4530d8663d fix: 将电源管理选项自动隐藏修改为手动控制,避免 WOL 功能无法显示 #289 2026-08-07 15:49:58 +08:00
SilentWind
a4073d64cb Merge pull request #287 from mofeng-git/dev
Dev
v260802
2026-08-02 16:38:35 +08:00
mofeng-git
16400df182 chore: bump version to v0.2.6 2026-08-02 16:37:47 +08:00
mofeng-git
47af17bebc feat: 新增 Amlogic AMLENC 硬件编码支持
- 新增动态加载及 ABI 校验的 AMLENC H.264/H.265 编码器
- 注册 Amlogic 后端并扩展编码器自检
- 并行执行 MJPEG 解码与 AMLENC 编码
- 复用 NV12 缓冲区并移除冗余帧初始化
- 优化低延迟帧分发及 RTCP 关键帧恢复
- 动态调整 AMLENC 码率尚未完成,效果不佳
2026-08-02 16:24:10 +08:00
mofeng-git
814f23a27c ci: 优化 Cargo 构建缓存
- 共享 deb 与 Docker 的 Linux cross 编译缓存
- 为 Windows MSVC 构建添加独立缓存
- 固定 cross 版本以保证缓存一致性
2026-07-31 09:55:14 +08:00
mofeng-git
6bbe137f09 fix: 修复 Windows 音频设备函数可见性 2026-07-31 09:46:32 +08:00
mofeng-git
6fdcf5c7c9 fix: 修复无信号状态同步与采集管线阻塞
- 使用非阻塞 V4L2 句柄并类型化采集错误
- 完善视频管线生命周期,避免复用停止中的管线
- 区分音视频事件并支持 REST/WebSocket 状态快照
- 修复信号丢失后保留最后一帧及刷新后黑屏问题
- 优化无信号提示、状态展示优先级及相关界面细节
- 降低重复 OTG 错误日志级别
2026-07-30 22:43:59 +08:00
mofeng-git
ce1712ff2e feat: 为 EasyTier 添加完整 TOML 配置支持
- 新增快速配置与完整配置模式,兼容旧版配置
 - 统一扩展配置校验及受保护临时文件生命周期
- 支持通过 easytier-core -c 加载 TOML 配置
- 复用前端配置模式编辑组件并更新中英文文案与类型
- 补充配置校验、启动参数、文件权限及清理测试
2026-07-30 21:26:00 +08:00
mofeng-git
8b09824e04 fix: 修正 RustDesk UDP 注册状态判定
- 移除无法证明服务器可达的 connected 状态
- 引入注册跟踪器统一管理响应、超时与退避
- 连续注册超时后正确降级为未连接
 - 分离本地服务状态与 HBBS 注册状态
- 补充注册状态机单元测试
2026-07-30 19:43:28 +08:00
mofeng-git
9fb23476ac fix: 完善 RK3588 HDMI RX 信号检测与自动恢复
- 统一使用 QUERY_DV_TIMINGS 判断 HDMI RX 输入状态
  - 增加 source-following 设备状态 API 与前端只读展示
  - 支持长时间无信号后的 MJPEG/WebRTC 自动恢复
  - 修复模式切换时采集设备尚未释放导致的 EBUSY
  - 取消陈旧 WebRTC 重连并统一采集恢复策略
  - 移除视频输入状态区域的冗余标题
2026-07-30 19:41:44 +08:00
mofeng-git
971c263bf8 feat: 虚拟媒体显示镜像上传进度百分比 2026-07-29 23:25:12 +08:00
mofeng-git
cb3fd3e646 feat: 添加视频窗口等比例缩放按钮 2026-07-29 19:32:46 +08:00
mofeng-git
d414557d74 fix: 修复设置页页眉回弹和状态色辨识度 #281
- 在侧栏布局滚动容器统一阻止纵向 overscroll
  - 拆分状态指示色与成功文本色,提升在线状态辨识度
  - 统一连接、运行及键盘 LED 等状态点样式
2026-07-29 18:50:20 +08:00
mofeng-git
fbcd95b617 fix: 升级目录改为使用 /tmp 目录,避免遗留升级文件 #280 2026-07-29 17:59:28 +08:00
mofeng-git
887f29096f feat: 增加 OTG HID 远程唤醒和 OTG MSD 设备名称配置
- 在补丁内核上启用 HID 写入唤醒及 USB 远程唤醒描述符
  - 支持全局配置 Flash 和 CD-ROM INQUIRY 字符串
  - 兼容普通内核的通用 INQUIRY 属性
  - 调整 OTG 功能布局并更新大容量 DVD 镜像提示
2026-07-29 13:56:52 +08:00
mofeng-git
e0bddc2faa fix: 修复设备识别问题 #286 2026-07-27 15:12:54 +08:00
mofeng-git
4f770a1eea fix: 完善 MSD 错误提示;解决 MSD 文件名称过长问题;优化粘贴文本样式;优化所有下拉框样式;删除“画面静止时会自动降帧”提示 2026-07-26 23:13:47 +08:00
mofeng-git
376dc97134 fix: 修复 MSD ISO/FLASH 挂载识别错误;完善错误提示 2026-07-26 22:59:27 +08:00
mofeng-git
27c8da9a75 fix: 完善 RK3588 HDMI RX 兼容性 2026-07-26 22:27:47 +08:00
mofeng-git
5963dfa01a feat: 完善 OTG UAC 音频支持 2026-07-26 11:59:58 +08:00
mofeng-git
f86cba6ce5 Merge branch 'main' into dev
# Conflicts:
#	src/web/handlers/setup.rs
#	web/src/i18n/en-US.ts
#	web/src/i18n/zh-CN.ts
2026-07-24 11:09:36 +08:00
mofeng-git
e1b82519b9 test: 更新报告格式 2026-07-24 11:03:22 +08:00
mofeng-git
32d8a62fec fix: 初始化时完整应用 USB 运行时配置,避免遗漏 MSD 功能 2026-07-24 11:02:14 +08:00
mofeng-git
4cd622ff07 fix: OTG 网卡桥接改由 NetworkManager 生成桥接配置 UUID;docker 补全 NetworkManager 依赖 2026-07-24 11:01:54 +08:00
SilentWind
6ec4361f43 Merge pull request #282 from arounyf/fix/hid-reload-on-gadget-rebuild
fix: 修复OTG gadget重建后HID后端未重载导致键鼠失效
2026-07-23 15:25:37 +08:00
arounyf
e9bed3688f feat: UAC USB microphone passthrough
- Add UAC1 gadget function (ConfigFS) with optimized endpoint config
- Browser mic capture with Opus encoding via WebCodecs AudioEncoder
- WebSocket audio transport (Opus 64kbps, 100x bandwidth reduction vs raw PCM)
- aplay subprocess for reliable PCM playback to USB gadget
- Settings toggle + ActionBar mic button (hidden when UAC disabled)
- Dynamic PCM device resolution (/proc/asound)
- c_chmask=0 + req_number=4 fixes DWC3 composite isochronous endpoint issue
2026-07-23 06:56:53 +00:00
mofeng-git
8d5366444b fix: 完善测试套件 2026-07-22 22:53:21 +08:00
arounyf
4e32b05124 fix: 修复OTG gadget重建后HID后端未重载导致键鼠失效
当MSD或OTG网络配置变更导致gadget被重建时,新的/dev/hidg*设备
被创建但HID后端因'配置未变'跳过了reload,导致仍持有已删除设备
的旧文件描述符,键鼠操作无效。

修复: 在apply_usb_config中检测gadget是否因MSD/网络变更被重建,
若是且HID后端为OTG,强制reload HID以打开新的/dev/hidg*设备。

同时为MsdConfig添加PartialEq derive以支持变更检测。
2026-07-22 04:54:18 +00:00
mofeng-git
e0055bf491 fix: 删除 nmcli 命令缺失弹窗提示 2026-07-20 21:24:27 +08:00
SilentWind
d60ddb21dc Merge pull request #279 from mofeng-git/dev
Dev
v260720
2026-07-20 08:04:01 +08:00
mofeng-git
219d1ccd08 fix: 前端 UI 下拉框修改为全宽 2026-07-20 08:01:23 +08:00