diff options
Diffstat (limited to 'remuxer/src/trim_writer.rs')
-rw-r--r-- | remuxer/src/trim_writer.rs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/remuxer/src/trim_writer.rs b/remuxer/src/trim_writer.rs index 65d3589..bed90e7 100644 --- a/remuxer/src/trim_writer.rs +++ b/remuxer/src/trim_writer.rs @@ -4,7 +4,7 @@ use std::{ }; use anyhow::anyhow; -use log::warn; +use log::{trace, warn}; pub struct TrimWriter<W> { inner: W, @@ -36,12 +36,16 @@ impl<W: Write> Write for TrimWriter<W> { )); } - let buf = &buf[start..end]; - if !buf.is_empty() { - self.inner.write_all(buf)?; - self.position += buf.len() - } - Ok(buf.len()) + let tbuf = &buf[start..end]; + Ok(if !tbuf.is_empty() { + trace!("trim={start}..{end} avail={}", buf.len()); + let sz = self.inner.write(tbuf)?; + self.position += sz; + sz + } else { + trace!("skip={}", buf.len()); + buf.len() + }) } fn flush(&mut self) -> std::io::Result<()> { |