use serde::Deserialize;
use serde::Serialize;
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct AudioFormat {
#[serde(rename = "type")]
pub kind: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rate: Option<u32>,
}
impl AudioFormat {
#[must_use]
pub fn new(kind: impl Into<String>) -> Self {
Self {
kind: kind.into(),
rate: None,
}
}
#[must_use]
pub fn with_rate(kind: impl Into<String>, rate: u32) -> Self {
Self {
kind: kind.into(),
rate: Some(rate),
}
}
}