Files
One-KVM/src/platform/windows.rs
2026-05-18 22:44:59 +08:00

34 lines
1.5 KiB
Rust

//! Windows platform capabilities.
use super::{FeatureCapability, PlatformCapabilities, PlatformMode};
pub fn capabilities() -> PlatformCapabilities {
let linux_only = "unsupported on Windows";
PlatformCapabilities {
mode: PlatformMode::Windows,
mode_label: PlatformMode::Windows.label(),
video_capture: FeatureCapability::available(["directshow_uvc", "mjpeg"])
.with_selected_backend(Some("directshow_uvc".to_string())),
encoder: FeatureCapability::available([
"ffmpeg_h264",
"ffmpeg_h265",
"ffmpeg_vp8",
"ffmpeg_vp9",
"software",
"mjpeg",
]),
hid: FeatureCapability::available(["ch9329", "none"])
.with_selected_backend(Some("ch9329".to_string())),
atx: FeatureCapability::available(["serial", "wol", "none"]),
msd: FeatureCapability::unsupported(linux_only),
otg: FeatureCapability::unsupported(linux_only),
audio: FeatureCapability::available(["wasapi", "opus"])
.with_selected_backend(Some("wasapi".to_string())),
rustdesk: FeatureCapability::available(["builtin", "tcp_direct", "relay"])
.with_selected_backend(Some("builtin".to_string())),
diagnostics: FeatureCapability::available(["windows"]),
extensions: FeatureCapability::available(["windows_safe"]),
service_installation: FeatureCapability::available(["windows_service"]),
}
}