From 165ffc1925eb2cf888d8f2a1b37ba986cb8864d0 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Tue, 19 May 2026 06:28:09 +0200 Subject: [PATCH] avimuxer: pad odd-sized chunks --- nihav-commonfmt/src/muxers/avi.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nihav-commonfmt/src/muxers/avi.rs b/nihav-commonfmt/src/muxers/avi.rs index c91f2b5..aec5baf 100644 --- a/nihav-commonfmt/src/muxers/avi.rs +++ b/nihav-commonfmt/src/muxers/avi.rs @@ -135,7 +135,10 @@ impl<'a> AVIMuxer<'a> { fn patch_size(bw: &mut dyn ByteIO, pos: u64) -> MuxerResult<()> { let size = bw.tell() - pos; - bw.seek(SeekFrom::Current(-((size + 4) as i64)))?; + if (bw.tell() & 1) != 0 { + bw.write_byte(0)?; + } + bw.seek(SeekFrom::Current(-((((size + 1) & !1) + 4) as i64)))?; bw.write_u32le(size as u32)?; bw.seek(SeekFrom::End(0))?; Ok(()) -- 2.39.5