mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-03-29 22:56:45 +08:00
feat(video): 事务化切换与前端统一编排,增强视频输入格式支持
- 后端:切换事务+transition_id,/stream/mode 返回 switching/transition_id 与实际 codec - 事件:新增 mode_switching/mode_ready,config/webrtc_ready/mode_changed 关联事务 - 编码/格式:扩展 NV21/NV16/NV24/RGB/BGR 输入与转换链路,RKMPP direct input 优化 - 前端:useVideoSession 统一切换,失败回退真实切回 MJPEG,菜单格式同步修复 - 清理:useVideoStream 降级为 MJPEG-only
This commit is contained in:
@@ -234,10 +234,7 @@ impl VideoSessionManager {
|
||||
let mut sessions = self.sessions.write().await;
|
||||
sessions.insert(session_id.clone(), session);
|
||||
|
||||
info!(
|
||||
"Video session created: {} (codec: {})",
|
||||
session_id, codec
|
||||
);
|
||||
info!("Video session created: {} (codec: {})", session_id, codec);
|
||||
|
||||
Ok(session_id)
|
||||
}
|
||||
@@ -428,8 +425,7 @@ impl VideoSessionManager {
|
||||
sessions
|
||||
.iter()
|
||||
.filter(|(_, s)| {
|
||||
(s.state == VideoSessionState::Paused
|
||||
|| s.state == VideoSessionState::Created)
|
||||
(s.state == VideoSessionState::Paused || s.state == VideoSessionState::Created)
|
||||
&& now.duration_since(s.last_activity) > timeout
|
||||
})
|
||||
.map(|(id, _)| id.clone())
|
||||
|
||||
Reference in New Issue
Block a user