]> git.nihav.org Git - nihav-player.git/commitdiff
videoplayer: skip MP3 tags (or Bink PE player) in file if needed
authorKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 12 Sep 2026 08:39:45 +0000 (10:39 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 12 Sep 2026 08:39:45 +0000 (10:39 +0200)
videoplayer/src/main.rs

index e55bfe577cae78a6fa8d529d2d0f6f7edf7f02f7..57e045ebbdae85bf81b252b0d53cfb8830ac6729 100644 (file)
@@ -828,7 +828,18 @@ impl Player {
                 println!("failed to open {}", name);
                 return window;
             };
-        let br = Box::new(FileReader::new_read(file));
+        let mut fr = FileReader::new_read(file);
+        let (_is_raw, start, end) = detect_tags(&mut fr, self.loglevel == LogLevel::Verbose);
+        let br: Box<dyn ByteIO> = if start != 0 || end.is_some() {
+                if self.loglevel == LogLevel::Verbose {
+                    println!(" limiting range to {:X}-{:X}", start, end.unwrap_or(0));
+                }
+                let file = fr.finish();
+                Box::new(BoundedFileReader::new_read(file, start, end).unwrap())
+            } else {
+                Box::new(fr)
+            };
+
         let fdmx = self.force_dmx.as_deref();
         let mut dmx = DemuxerObject::create(br, &self.full_reg, name, fdmx, false, &[], false);
         self.force_dmx = None;