#![no_std]
pub enum AudioFormat {
PCM,
IEEEFloat,
EightBitALaw,
EightBitMuLaw
}
impl AudioFormat {
pub fn code(&self) -> u8 {
match *self {
AudioFormat::PCM => 1,
AudioFormat::IEEEFloat => 3,
AudioFormat::EightBitALaw => 6,
AudioFormat::EightBitMuLaw => 7
}
}
}
pub struct FileInfo {
file_size: u32, data_size: u32, data_offset: u32, format: AudioFormat, num_channels: u8, sample_rate: u32, bits_per_sample: u8 }
impl Default for FileInfo {
fn default () -> FileInfo {
FileInfo {
file_size: 0,
data_size: 0,
data_offset: 0,
format: AudioFormat::PCM,
num_channels: 0,
sample_rate: 0,
bits_per_sample: 0
}
}
}
pub fn process_header(header_bytes: &[u8]) -> Result<FileInfo, i32> {
let mut file_info = FileInfo::default();
Ok(file_info)
}