]> git.nihav.org Git - nihav-player.git/commitdiff
videoplayer: add an option for forcing demuxer format master
authorKostya Shishkov <kostya.shishkov@gmail.com>
Wed, 11 Mar 2026 17:01:42 +0000 (18:01 +0100)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Wed, 11 Mar 2026 17:01:42 +0000 (18:01 +0100)
videoplayer/src/main.rs

index 35d295f2b13609d68f93b1b349383b553971812a..47d4dbb9618ef08dca982dabec992e18f5368151 100644 (file)
@@ -455,6 +455,7 @@ struct Player {
     force_astr:     Option<u32>,
     sc_size:        ScaleSize,
     sc_dbg:         bool,
+    force_dmx:      Option<String>,
 
     vthreads:       usize,
     use_mt:         bool,
@@ -506,6 +507,7 @@ impl Player {
             force_astr:     None,
             sc_size:        ScaleSize::Auto,
             sc_dbg:         false,
+            force_dmx:      None,
 
             vthreads:       3,
             use_mt:         true,
@@ -776,7 +778,9 @@ impl Player {
                 return window;
             };
         let br = Box::new(FileReader::new_read(file));
-        let mut dmx = DemuxerObject::create(br, &self.full_reg, name, None, false, &[], false);
+        let fdmx = self.force_dmx.as_deref();
+        let mut dmx = DemuxerObject::create(br, &self.full_reg, name, fdmx, false, &[], false);
+        self.force_dmx = None;
         if dmx.is_none() {
             println!("error creating demuxer");
             return window;
@@ -1301,6 +1305,11 @@ fn main() {
             "-ignosd" => {
                 player.show_osd = None;
             },
+            "-f" | "-demuxer" => {
+                if let Some(arg) = aiter.next() {
+                    player.force_dmx = Some(arg.to_string());
+                }
+            },
             "-vstr" => {
                 if let Some(arg) = aiter.next() {
                     if arg == "auto" || arg == "-1" {