avimux: pad odd frame chunks
authorKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 15 Jun 2020 12:40:13 +0000 (14:40 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 15 Jun 2020 12:40:13 +0000 (14:40 +0200)
nihav-commonfmt/src/muxers/avi.rs

index 25831098d318d3e513bd9c55fa647362e13cbb1b..2f8e2290f6489e480203d6dcd1096e649c1884c6 100644 (file)
@@ -253,6 +253,9 @@ impl<'a> MuxCore<'a> for AVIMuxer<'a> {
         write_chunk_hdr(&mut self.bw, str.get_media_type(), str_num as u32)?;
         self.bw.write_u32le(chunk_len)?;
         self.bw.write_buf(pkt.get_buffer().as_slice())?;
         write_chunk_hdr(&mut self.bw, str.get_media_type(), str_num as u32)?;
         self.bw.write_u32le(chunk_len)?;
         self.bw.write_buf(pkt.get_buffer().as_slice())?;
+        if (self.bw.tell() & 1) != 0 {
+            self.bw.write_byte(0)?;
+        }
         Ok(())
     }
     fn flush(&mut self) -> MuxerResult<()> {
         Ok(())
     }
     fn flush(&mut self) -> MuxerResult<()> {