diff --git a/src/fmt.rs b/src/fmt.rs index 9dc6d76..e18326c 100644 --- a/src/fmt.rs +++ b/src/fmt.rs @@ -379,49 +379,4 @@ impl WaveFmt { x => panic!("Channel count ({}) was illegal!", x), } } -} - -trait ReadWavAudioData { - fn read_i32_frames(&mut self, format: WaveFmt, into: &mut [i32]) -> Result; - fn read_f32_frames(&mut self, format: WaveFmt, into: &mut [f32]) -> Result; -} - -impl ReadWavAudioData for T where T: std::io::Read { - - fn read_i32_frames(&mut self, format: WaveFmt, into: &mut [i32]) -> Result { - assert!(into.len() % format.channel_count as usize == 0); - - for n in 0..(into.len()) { - into[n] = match (format.valid_bits_per_sample(), format.bits_per_sample) { - (0..=8,8) => self.read_u8().unwrap() as i32 - 0x80_i32, // EBU 3285 §A2.2 - (9..=16,16) => self.read_i16::().unwrap() as i32, - (10..=24,24) => self.read_i24::().unwrap(), - (25..=32,32) => self.read_i32::().unwrap(), - (b,_)=> panic!("Unrecognized integer format, bits per sample {}, channels {}, block_alignment {}", - b, format.channel_count, format.block_alignment) - } - } - - todo!() - } - fn read_f32_frames(&mut self, format: WaveFmt, into: &mut [f32]) -> Result { - assert!(into.len() % format.channel_count as usize == 0); - todo!() - } - -} - -trait WriteWavAudioData { - fn write_i32_frames(&mut self, format: WaveFmt, from: &[i32]) -> Result; - fn write_f32_frames(&mut self, format: WaveFmt, from: &[f32]) -> Result; -} - -impl WriteWavAudioData for T where T: std::io::Write { - - fn write_i32_frames(&mut self, format: WaveFmt, _: &[i32]) -> Result { - todo!() - } - fn write_f32_frames(&mut self, format: WaveFmt, _: &[f32]) -> Result { - todo!() - } } \ No newline at end of file