diff --git a/src/xact3/adpcm.rs b/src/xact3/adpcm.rs index 32ac580..5931c53 100644 --- a/src/xact3/adpcm.rs +++ b/src/xact3/adpcm.rs @@ -1,7 +1,7 @@ use std::convert::TryInto; use std::io::{Cursor, Write}; -use byteorder::{LittleEndian, WriteBytesExt}; +use byteorder::{WriteBytesExt, LE}; use log::{debug, trace}; use thiserror::Error; @@ -45,23 +45,20 @@ impl WaveChunk for WaveFormat { fn to_chunk(&self) -> Vec { let mut buf = Cursor::new(Vec::new()); write!(buf, "fmt ").unwrap(); - buf.write_u32::(2 + 2 + 4 + 4 + 2 + 2 + 2 + 2 + 2 + 4 * COEFFS.len() as u32) + buf.write_u32::(2 + 2 + 4 + 4 + 2 + 2 + 2 + 2 + 2 + 4 * COEFFS.len() as u32) .unwrap(); - buf.write_u16::(2).unwrap(); // WAVE_FORMAT_ADPCM - buf.write_u16::(self.n_channels).unwrap(); - buf.write_u32::(self.n_samples_per_sec) - .unwrap(); - buf.write_u32::(self.n_avg_bytes_per_sec) - .unwrap(); - buf.write_u16::(self.n_block_align).unwrap(); - buf.write_u16::(4).unwrap(); // wBitsPerSample - buf.write_u16::(32).unwrap(); // cbSize - buf.write_u16::(self.n_samples_per_block) - .unwrap(); - buf.write_u16::(7).unwrap(); // wNumCoeff + buf.write_u16::(2).unwrap(); // WAVE_FORMAT_ADPCM + buf.write_u16::(self.n_channels).unwrap(); + buf.write_u32::(self.n_samples_per_sec).unwrap(); + buf.write_u32::(self.n_avg_bytes_per_sec).unwrap(); + buf.write_u16::(self.n_block_align).unwrap(); + buf.write_u16::(4).unwrap(); // wBitsPerSample + buf.write_u16::(32).unwrap(); // cbSize + buf.write_u16::(self.n_samples_per_block).unwrap(); + buf.write_u16::(7).unwrap(); // wNumCoeff for coef_set in COEFFS { - buf.write_i16::(coef_set.0).unwrap(); - buf.write_i16::(coef_set.1).unwrap(); + buf.write_i16::(coef_set.0).unwrap(); + buf.write_i16::(coef_set.1).unwrap(); } buf.into_inner() } @@ -75,8 +72,8 @@ impl WaveChunk for WaveFact { fn to_chunk(&self) -> Vec { let mut buf = Cursor::new(Vec::new()); write!(buf, "fact").unwrap(); - buf.write_u32::(4).unwrap(); - buf.write_u32::(self.length_samples).unwrap(); + buf.write_u32::(4).unwrap(); + buf.write_u32::(self.length_samples).unwrap(); buf.into_inner() } } @@ -89,7 +86,7 @@ impl WaveChunk for RIFFHeader { fn to_chunk(&self) -> Vec { let mut buf = Cursor::new(Vec::new()); write!(buf, "RIFF").unwrap(); - buf.write_u32::(self.file_size).unwrap(); + buf.write_u32::(self.file_size).unwrap(); write!(buf, "WAVE").unwrap(); buf.into_inner() } @@ -123,7 +120,7 @@ pub fn build_wav(format: WaveFormat, data: &[u8]) -> Result, Error> { buf.write_all(&fact.to_chunk()).unwrap(); write!(buf, "data").unwrap(); - buf.write_u32::(length).unwrap(); + buf.write_u32::(length).unwrap(); buf.write_all(data).unwrap(); Ok(buf.into_inner())