]> git.nihav.org Git - nihav-player.git/blobdiff - videoplayer/src/main.rs
videoplayer: ignore directories passed as input names
[nihav-player.git] / videoplayer / src / main.rs
index 37eb89d8f689bce1bf25068e812d3aa82a135a02..e6952807130b28630fbb62d1ebf3217ce5ddc348 100644 (file)
@@ -523,7 +523,11 @@ impl Player {
                         self.vcontrol.try_send_video(PktSendEvent::HurryUp);
                     },
                     Keycode::O => {
-                        self.osd.toggle();
+                        if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) {
+                            self.osd.toggle_perm();
+                        } else {
+                            self.osd.toggle();
+                        }
                     },
                     _ => {},
                 };
@@ -541,6 +545,11 @@ impl Player {
         // prepare data source
         let path = Path::new(name);
         let mut file = if let Ok(handle) = File::open(path) {
+                if let Ok(meta) = handle.metadata() {
+                    if meta.is_dir() {
+                        return window;
+                    }
+                }
                 handle
             } else {
                 println!("failed to open {}", name);
@@ -726,7 +735,9 @@ impl Player {
                 "NihAV player".to_owned()
             };
         window.set_title(&wname).expect("set window title");
-        window.set_size(width as u32, height as u32).expect("resize window");
+        if window.size() != (width as u32, height as u32) {
+            window.set_size(width as u32, height as u32).expect("resize window");
+        }
         window.show();
         let mut canvas = window.into_canvas().build().expect("should be able to build canvas");
         let texture_creator = canvas.texture_creator();