use std::collections::HashMap;
#[derive(Debug, Clone, PartialEq)]
pub struct SampleSpec {
pub rate: u32,
pub channels: u8,
pub format: SampleFormat,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum SampleFormat {
U8,
ALaw,
ULaw,
S16LE,
S16BE,
S24LE,
S24BE,
S24_32LE,
S24_32BE,
S32LE,
S32BE,
F32LE,
F32BE,
Unknown,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ChannelMap {
pub channels: u8,
pub positions: Vec<ChannelPosition>,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ChannelPosition {
Mono,
FrontLeft,
FrontRight,
FrontCenter,
RearLeft,
RearRight,
RearCenter,
LFE,
SideLeft,
SideRight,
FrontLeftOfCenter,
FrontRightOfCenter,
TopCenter,
TopFrontLeft,
TopFrontRight,
TopFrontCenter,
TopRearLeft,
TopRearRight,
TopRearCenter,
Unknown,
}
#[derive(Debug, Clone, PartialEq)]
pub struct AudioFormat {
pub encoding: String,
pub properties: HashMap<String, String>,
}