use cyberex::EnumRenames;
use derive_builder::Builder;
use derive_more::From;
use serde::Serialize;
#[derive(EnumRenames, Serialize, Debug, Clone, From)]
pub enum CodecConfig {
#[serde(rename = "decoder-es")]
DecoderEsConfig(DecoderEsConfig),
#[serde(rename = "encoder-aac")]
EncoderAACConfig(EncoderAACConfig),
}
#[derive(Default, Serialize, Debug, Clone)]
#[serde(rename_all = "lowercase")]
pub enum CodecHwDevice {
#[default]
Cpu,
Cuda,
Ascend,
}
#[derive(Default, Serialize, Builder, Clone, Debug)]
pub struct DecoderEsConfig {
#[serde(default)]
#[builder(default)]
hwdevice: CodecHwDevice,
}
#[derive(Default, Serialize, Clone, Debug)]
pub struct EncoderAACConfig {}