mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-06-14 03:32:00 +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:
@@ -126,11 +126,10 @@ impl ConfigStore {
|
||||
|
||||
/// Load configuration from database
|
||||
async fn load_config(pool: &Pool<Sqlite>) -> Result<AppConfig> {
|
||||
let row: Option<(String,)> = sqlx::query_as(
|
||||
"SELECT value FROM config WHERE key = 'app_config'"
|
||||
)
|
||||
.fetch_optional(pool)
|
||||
.await?;
|
||||
let row: Option<(String,)> =
|
||||
sqlx::query_as("SELECT value FROM config WHERE key = 'app_config'")
|
||||
.fetch_optional(pool)
|
||||
.await?;
|
||||
|
||||
match row {
|
||||
Some((json,)) => {
|
||||
@@ -245,10 +244,13 @@ mod tests {
|
||||
assert!(!config.initialized);
|
||||
|
||||
// Update config
|
||||
store.update(|c| {
|
||||
c.initialized = true;
|
||||
c.web.http_port = 9000;
|
||||
}).await.unwrap();
|
||||
store
|
||||
.update(|c| {
|
||||
c.initialized = true;
|
||||
c.web.http_port = 9000;
|
||||
})
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
// Verify update
|
||||
let config = store.get();
|
||||
|
||||
Reference in New Issue
Block a user