X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fwavwriter.rs;h=c0b324dc19215288151e3d500c4234ae99f9b5dd;hb=04b90f8a5e344a5eb40a03b9262ec52657054e90;hp=a22887650f8e1ca01f254e523bffc0e504e2befc;hpb=2e4688a6a9f5a830754ce9dde1c54b5385048de4;p=nihav-tool.git diff --git a/src/wavwriter.rs b/src/wavwriter.rs index a228876..c0b324d 100644 --- a/src/wavwriter.rs +++ b/src/wavwriter.rs @@ -61,6 +61,7 @@ macro_rules! write_data { impl<'a> WavWriter<'a> { pub fn new(name: &str) -> Self { let file = File::create(name).unwrap(); + let file = std::io::BufWriter::new(file); let fw = Box::new(FileWriter::new_write(file)); let io = ByteWriter::new(Box::leak(fw)); WavWriter { io: Box::new(io), data_pos: 0, be: false, bits: 0 } @@ -156,6 +157,7 @@ impl<'a> Drop for WavWriter<'a> { 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.flush(); } } }