]> git.nihav.org Git - nihav.git/commitdiff
nihav_rad: switch to ByteIO
authorKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 18 Aug 2025 16:44:25 +0000 (18:44 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 18 Aug 2025 17:04:35 +0000 (19:04 +0200)
nihav-rad/src/codecs/bink2.rs
nihav-rad/src/codecs/binkvid.rs
nihav-rad/src/codecs/smacker.rs
nihav-rad/src/demuxers/bink.rs
nihav-rad/src/demuxers/smacker.rs
nihav-rad/src/muxers/bink.rs

index b8c716243295b247ce8430a422bc6b824ebb47ff..69d3c46e4057913fdaecc2034c641215e5aaf8c7 100644 (file)
@@ -1894,8 +1894,7 @@ impl NADecoder for Bink2Decoder {
             let edata = info.get_extradata().unwrap();
             validate!(edata.len() >= 8);
 
-            let mut mr = MemoryReader::new_read(&edata);
-            let mut br = ByteReader::new(&mut mr);
+            let mut br = MemoryReader::new_read(&edata);
             let magic                   = br.read_u32be()?;
             let flags                   = br.read_u32le()?;
 
index f4fece8900291d7fcd2a2b92482a0b19d5ee213d..2694b8d0ed25bcf23a0f4f06a853754020b1bbff 100644 (file)
@@ -1110,8 +1110,7 @@ impl NADecoder for BinkDecoder {
             let edata = info.get_extradata().unwrap();
             validate!(edata.len() >= 8);
 
-            let mut mr = MemoryReader::new_read(&edata);
-            let mut br = ByteReader::new(&mut mr);
+            let mut br = MemoryReader::new_read(&edata);
             let magic                   = br.read_u32be()?;
             let flags                   = br.read_u32le()?;
 
index 2697efe71d8bb37af3eac6bd726bf82b4500f16f..90b3f8beddc8ea5bf1f4edc99491cfe039b374f1 100644 (file)
@@ -408,8 +408,7 @@ impl NADecoder for SmackerVideoDecoder {
             self.stride = w;
             self.frame.resize(w * h, 0);
 
-            let mut mr = MemoryReader::new_read(&edata);
-            let mut br = ByteReader::new(&mut mr);
+            let mut br = MemoryReader::new_read(&edata);
             let magic                   = br.read_tag()?;
             self.flags                  = br.read_u32le()?;
             let mmap_size               = br.read_u32le()?;
index cf576f3763346b4f65f70074534297c0f8d96f1c..6bccda538914688bc6b9c4c211e02670e735db58 100644 (file)
@@ -1,5 +1,5 @@
 use nihav_core::demuxers::*;
-use nihav_core::io::byteio::ByteReader;
+use nihav_core::io::byteio::ByteIO;
 
 struct AudioTrack {
     id:             usize,
@@ -28,7 +28,7 @@ impl AudioTrack {
 }
 
 struct BinkDemuxer<'a> {
-    src:            &'a mut ByteReader<'a>,
+    src:            &'a mut dyn ByteIO,
     cur_frame:      usize,
     frames:         usize,
     video_id:       usize,
@@ -173,7 +173,7 @@ impl<'a> NAOptionHandler for BinkDemuxer<'a> {
 }
 
 impl<'a> BinkDemuxer<'a> {
-    fn new(io: &'a mut ByteReader<'a>) -> Self {
+    fn new(io: &'a mut dyn ByteIO) -> Self {
         Self {
             src:            io,
             cur_frame:      0,
@@ -192,7 +192,7 @@ impl<'a> BinkDemuxer<'a> {
 pub struct BinkDemuxerCreator { }
 
 impl DemuxerCreator for BinkDemuxerCreator {
-    fn new_demuxer<'a>(&self, br: &'a mut ByteReader<'a>) -> Box<dyn DemuxCore<'a> + 'a> {
+    fn new_demuxer<'a>(&self, br: &'a mut dyn ByteIO) -> Box<dyn DemuxCore<'a> + 'a> {
         Box::new(BinkDemuxer::new(br))
     }
     fn get_name(&self) -> &'static str { "bink" }
@@ -211,8 +211,7 @@ mod test {
 //        let mut file = File::open("assets/RAD/Snd0a110c51.dee").unwrap();
 //        let mut file = File::open("assets/RAD/NEW.BIK").unwrap();
 //        let mut file = File::open("assets/RAD/ge_video_86l.bk2").unwrap();
-        let mut fr = FileReader::new_read(&mut file);
-        let mut br = ByteReader::new(&mut fr);
+        let mut br = FileReader::new_read(&mut file);
         let mut dmx = BinkDemuxer::new(&mut br);
         let mut sm = StreamManager::new();
         let mut si = SeekIndex::new();
index f16434959c208488206984c532e32b0a34e3c0a2..367e4f82fc3900a0c9d0c4d1bffa722ee6cb74bb 100644 (file)
@@ -66,7 +66,7 @@ impl AudioTrack {
 }
 
 struct SmackerVideoDemuxer<'a> {
-    src:            &'a mut ByteReader<'a>,
+    src:            &'a mut dyn ByteIO,
     frames:         usize,
     pts_inc:        u64,
     cur_pts:        u64,
@@ -274,7 +274,7 @@ impl<'a> NAOptionHandler for SmackerVideoDemuxer<'a> {
 }
 
 impl<'a> SmackerVideoDemuxer<'a> {
-    fn new(io: &'a mut ByteReader<'a>) -> Self {
+    fn new(io: &'a mut dyn ByteIO) -> Self {
         SmackerVideoDemuxer {
             src:            io,
             frames:         0,
@@ -298,7 +298,7 @@ impl<'a> SmackerVideoDemuxer<'a> {
 pub struct SMKDemuxerCreator { }
 
 impl DemuxerCreator for SMKDemuxerCreator {
-    fn new_demuxer<'a>(&self, br: &'a mut ByteReader<'a>) -> Box<dyn DemuxCore<'a> + 'a> {
+    fn new_demuxer<'a>(&self, br: &'a mut dyn ByteIO) -> Box<dyn DemuxCore<'a> + 'a> {
         Box::new(SmackerVideoDemuxer::new(br))
     }
     fn get_name(&self) -> &'static str { "smacker" }
@@ -316,8 +316,7 @@ mod test {
 //        let mut file = File::open("assets/RAD/ajfstr1.smk").unwrap();
 //        let mut file = File::open("assets/RAD/credits.smk").unwrap();
 //        let mut file = File::open("assets/RAD/wetlogo.smk").unwrap();
-        let mut fr = FileReader::new_read(&mut file);
-        let mut br = ByteReader::new(&mut fr);
+        let mut br = FileReader::new_read(&mut file);
         let mut dmx = SmackerVideoDemuxer::new(&mut br);
         let mut sm = StreamManager::new();
         let mut si = SeekIndex::new();
index adf8af7feb3e4e21708a04dffab8a52a38fdbb22..eb0f2b1f22849443945216b3d09f279d2b7297a8 100644 (file)
@@ -4,7 +4,7 @@ use std::collections::VecDeque;
 const ASSEMBLE_DEPTH: usize = 32;
 
 struct BinkMuxer<'a> {
-    bw:             &'a mut ByteWriter<'a>,
+    bw:             &'a mut dyn ByteIO,
     naudio:         usize,
     maxsize:        u32,
     nframes:        usize,
@@ -18,7 +18,7 @@ struct BinkMuxer<'a> {
 }
 
 impl<'a> BinkMuxer<'a> {
-    fn new(bw: &'a mut ByteWriter<'a>) -> Self {
+    fn new(bw: &'a mut dyn ByteIO) -> Self {
         Self {
             bw,
             naudio:         0,
@@ -231,7 +231,7 @@ impl<'a> NAOptionHandler for BinkMuxer<'a> {
 pub struct BinkMuxerCreator {}
 
 impl MuxerCreator for BinkMuxerCreator {
-    fn new_muxer<'a>(&self, bw: &'a mut ByteWriter<'a>) -> Box<dyn MuxCore<'a> + 'a> {
+    fn new_muxer<'a>(&self, bw: &'a mut dyn ByteIO) -> Box<dyn MuxCore<'a> + 'a> {
         Box::new(BinkMuxer::new(bw))
     }
     fn get_name(&self) -> &'static str { "bink" }