From 4cb61050731a8f3ea99bca1abf90cf25fa11dffa Mon Sep 17 00:00:00 2001 From: Jamie Hardt Date: Fri, 11 Dec 2020 01:58:01 -0800 Subject: [PATCH] Got rid of old code, will rewrite this --- src/wavewriter.rs | 77 ----------------------------------------------- 1 file changed, 77 deletions(-) diff --git a/src/wavewriter.rs b/src/wavewriter.rs index 7805cbe..80d5513 100644 --- a/src/wavewriter.rs +++ b/src/wavewriter.rs @@ -15,80 +15,3 @@ use byteorder::WriteBytesExt; pub struct WaveWriter where W: Write + Seek { inner : W } - -impl WaveWriter { - pub fn create(path : &str, format:WaveFmt, broadcast_extension: Option) -> Result { - let inner = File::create(path)?; - Self::make(inner, format, broadcast_extension) - } -} - -impl WaveWriter { - - pub fn make(inner : W, format: WaveFmt, broadcast_extension: Option) -> Result { - let mut retval = Self { inner }; - retval.prepare_created(format, broadcast_extension)?; - Ok(retval) - } - - fn prepare_created(&mut self, format : WaveFmt, broadcast_extension: Option) -> Result<(),Error> { - self.inner.write_fourcc(RIFF_SIG)?; - self.inner.write_u32::(4)?; - self.inner.write_fourcc(WAVE_SIG)?; - let mut written : u64 = 4; - - let ds64_reservation = [0u8; 92]; - - written += self.primitive_append_chunk(JUNK_SIG, &ds64_reservation)?; - - let fmt_data : Vec = { - let mut c = Cursor::new(vec![]); - c.write_wave_fmt(&format)?; - c.into_inner() - }; - - written += self.primitive_append_chunk(FMT__SIG, &fmt_data)?; - - if let Some(bext) = broadcast_extension { - let mut b = Cursor::new(vec![]); - b.write_bext(&bext)?; - let data = b.into_inner(); - written += self.primitive_append_chunk(BEXT_SIG, &data)?; - } - - // show our work - let desired_data_alignment = 0x4000; - let data_fourcc_start = desired_data_alignment - 8; - let current_position_from_start = written + 8; - let data_pad_length = data_fourcc_start - current_position_from_start; - - let data_padding = vec![0u8; data_pad_length as usize]; - - written += self.primitive_append_chunk(JUNK_SIG, &data_padding)?; - - self.inner.write_fourcc(DATA_SIG)?; - self.inner.write_u32::(0)?; - - written += 8; - self.inner.seek(SeekFrom::Start(4))?; - self.inner.write_u32::(written as u32)?; - - Ok(()) - } - - fn primitive_append_chunk(&mut self, signature: FourCC, data: &[u8]) -> Result { - assert!((data.len() as u32) < u32::MAX, - "primitive_append_chunk called with a long data buffer"); - - self.inner.write_fourcc(signature)?; - self.inner.write_u32::(data.len() as u32)?; - self.inner.write_all(&data)?; - let padding : u64 = data.len() as u64 % 2; - if padding == 1 { - self.inner.write_u8(0)?; - } - - Ok(8 + data.len() as u64 + padding) - } -} -