mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-06-14 03:32:00 +08:00
19 lines
796 B
Rust
19 lines
796 B
Rust
//! `EncoderType` → `EncoderBackend` (breaks config ↔ video import cycles).
|
|
|
|
use crate::config::EncoderType;
|
|
use crate::video::encoder::EncoderBackend;
|
|
|
|
/// `None` means “auto” in WebRTC / pipeline (same as `EncoderType::Auto`).
|
|
pub fn encoder_type_to_backend(encoder: EncoderType) -> Option<EncoderBackend> {
|
|
match encoder {
|
|
EncoderType::Auto => None,
|
|
EncoderType::Software => Some(EncoderBackend::Software),
|
|
EncoderType::Vaapi => Some(EncoderBackend::Vaapi),
|
|
EncoderType::Nvenc => Some(EncoderBackend::Nvenc),
|
|
EncoderType::Qsv => Some(EncoderBackend::Qsv),
|
|
EncoderType::Amf => Some(EncoderBackend::Amf),
|
|
EncoderType::Rkmpp => Some(EncoderBackend::Rkmpp),
|
|
EncoderType::V4l2m2m => Some(EncoderBackend::V4l2m2m),
|
|
}
|
|
}
|