aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2023-03-14 11:32:11 +0100
committerKostya Shishkov <kostya.shishkov@gmail.com>2023-03-14 11:32:11 +0100
commitbfe6df949f555fd6a316a51fa2e07d8ac4339c6e (patch)
treeed5b27dfeaa3806df8d912895d1a8e3663f9b5ba
parent2757a0289c980aeba002609c777815b51ace8e56 (diff)
downloadnihav-bfe6df949f555fd6a316a51fa2e07d8ac4339c6e.tar.gz
avimux: fix palette writing in the video stream header
-rw-r--r--nihav-commonfmt/src/muxers/avi.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/nihav-commonfmt/src/muxers/avi.rs b/nihav-commonfmt/src/muxers/avi.rs
index fad358c..02283e4 100644
--- a/nihav-commonfmt/src/muxers/avi.rs
+++ b/nihav-commonfmt/src/muxers/avi.rs
@@ -256,7 +256,12 @@ impl<'a> MuxCore<'a> for AVIMuxer<'a> {
if let NASideData::Palette(_, ref pal) = sdata {
let cur_pos = self.bw.tell();
self.bw.seek(SeekFrom::Start(u64::from(self.pal_pos[str_num])))?;
- self.bw.write_buf(pal.as_ref())?;
+ for quad in pal.chunks(4) {
+ self.bw.write_byte(quad[2])?;
+ self.bw.write_byte(quad[1])?;
+ self.bw.write_byte(quad[0])?;
+ self.bw.write_byte(0)?;
+ }
self.bw.seek(SeekFrom::Start(cur_pos))?;
self.pal_pos[str_num] = 0;
break;