#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum DecoderState {
WaitingForHeader,
WaitingForToc,
Ready,
Finished,
Error,
}
#[derive(Debug, Clone)]
pub struct StreamingAudioInfo {
pub sample_rate: u32,
pub channels: u8,
pub bit_depth: u8,
pub total_samples: u64,
pub is_lossy: bool,
}
impl StreamingAudioInfo {
pub fn duration_secs(&self) -> f64 {
self.total_samples as f64 / self.sample_rate as f64
}
pub fn total_samples_per_channel(&self) -> u64 {
self.total_samples
}
}