X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-commonfmt%2Fsrc%2Fdemuxers%2Fwav.rs;fp=nihav-commonfmt%2Fsrc%2Fdemuxers%2Fwav.rs;h=193623eea2f3c72359fd236ddf215fac329dcbcc;hp=90196177322731c8ae9986d8e5f3987c3ac61b09;hb=f80d9ab996334eca46048c2ee25c51e52d7fef7f;hpb=34219db3e2b43a690418e3d157b59a9f052ad343 diff --git a/nihav-commonfmt/src/demuxers/wav.rs b/nihav-commonfmt/src/demuxers/wav.rs index 9019617..193623e 100644 --- a/nihav-commonfmt/src/demuxers/wav.rs +++ b/nihav-commonfmt/src/demuxers/wav.rs @@ -103,8 +103,14 @@ impl<'a> DemuxCore<'a> for WAVDemuxer<'a> { bsize }; let mut buf = vec![0; bsize]; - let size = self.src.read_buf_some(buf.as_mut_slice())?; - buf.truncate(size); + let mut tot_size = 0; + while let Ok(psize) = self.src.read_buf_some(&mut buf[tot_size..]) { + tot_size += psize; + if tot_size == buf.len() { + break; + } + } + buf.truncate(tot_size); Ok(NAPacket::new(stream, ts, true, buf)) } else { self.src.read_packet(stream, ts, true, self.block_size)