#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum AudioError {
#[error("unsupported audio configuration: {0}")]
Unsupported(String),
#[error("input buffer length {got} bytes does not match expected {expected}")]
Misaligned { got: usize, expected: usize },
#[error("resample construction: {0}")]
ResamplerConstruction(#[from] rubato::ResamplerConstructionError),
#[error("resample: {0}")]
Resample(#[from] rubato::ResampleError),
#[error(transparent)]
Hang(#[from] hang::Error),
#[error(transparent)]
Mux(#[from] moq_mux::Error),
#[error(transparent)]
Moq(#[from] moq_net::Error),
#[error(transparent)]
TimeOverflow(#[from] moq_net::TimeOverflow),
}