X-Git-Url: https://git.nihav.org/?p=nihav-tool.git;a=blobdiff_plain;f=src%2Fwavwriter.rs;fp=src%2Fwavwriter.rs;h=e32a4ec69a23fb5e7a84aa72e5dd7c2d9d53d549;hp=ab26f6c9ee0727cc9bcfc2d0aa3d063728fc6f2a;hb=b338b484198691ee7d117a79326af52ae3e1c181;hpb=081797c71bd8cd4342d58a2124cbd7f72d02b7d2 diff --git a/src/wavwriter.rs b/src/wavwriter.rs index ab26f6c..e32a4ec 100644 --- a/src/wavwriter.rs +++ b/src/wavwriter.rs @@ -77,14 +77,14 @@ impl<'a> WavWriter<'a> { self.io.write_u32le(16)?; self.io.write_u16le(0x0001)?; // PCM self.io.write_u16le(ainfo.get_channels() as u16)?; - self.io.write_u32le(ainfo.get_sample_rate() as u32)?; + self.io.write_u32le(ainfo.get_sample_rate())?; if bits <= 8 { - self.io.write_u32le((ainfo.get_channels() as u32) * (ainfo.get_sample_rate() as u32))?; + self.io.write_u32le((ainfo.get_channels() as u32) * ainfo.get_sample_rate())?; self.io.write_u16le(ainfo.get_channels() as u16)?; // block align self.io.write_u16le(8)?; } else { - self.io.write_u32le(2 * (ainfo.get_channels() as u32) * (ainfo.get_sample_rate() as u32))?; + self.io.write_u32le(2 * (ainfo.get_channels() as u32) * ainfo.get_sample_rate())?; self.io.write_u16le((2 * ainfo.get_channels()) as u16)?; // block align self.io.write_u16le(16)?; } @@ -122,7 +122,7 @@ impl<'a> WavWriter<'a> { }, 12 if !self.be => { let mut src = data.chunks_exact(3); - while let Some(chunk) = src.next() { + for chunk in src.by_ref() { self.io.write_byte(chunk[0] << 4)?; self.io.write_byte((chunk[1] << 4) | (chunk[0] >> 4))?; self.io.write_byte(chunk[1] & 0xF0)?; @@ -172,7 +172,7 @@ impl<'a> Drop for WavWriter<'a> { let res = self.io.seek(SeekFrom::Start(4)); let res = self.io.write_u32le((size - 8) as u32); let res = self.io.seek(SeekFrom::Start(self.data_pos - 4)); - let res = self.io.write_u32le(((size as u64) - self.data_pos) as u32); + let res = self.io.write_u32le((size - self.data_pos) as u32); let res = self.io.flush(); } }