From 659b64294d7bce34c7c5a939c5cbe78d8a87ff75 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Sat, 30 Nov 2019 11:54:00 +0100 Subject: [PATCH] support some options --- src/main.rs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index e0c9340..31642ad 100644 --- a/src/main.rs +++ b/src/main.rs @@ -311,7 +311,20 @@ println!("reinit scaler!"); }) } -fn play_file(name: &str) { +fn play_file(args: Vec) { + + let mut cur_arg: usize = 1; + let mut decode_audio = true; + while (cur_arg < args.len()) && args[cur_arg].starts_with('-') { + match args[cur_arg].as_str() { + "--" => { break; }, + "-an" => { decode_audio = false; }, + _ => { println!("unknown option {}", args[cur_arg]); return; }, + } + cur_arg += 1; + } + let name = args[cur_arg].as_str(); + let path = Path::new(name); let mut file = File::open(path).unwrap(); let dmx_fact; @@ -379,7 +392,7 @@ fn play_file(name: &str) { tb_den = tbd; } } else if info.is_audio() { - if audio_dec.is_none() { + if audio_dec.is_none() && decode_audio { if decfunc.is_none() { println!("no audio decoder for {} found!", info.get_name()); } else { @@ -572,15 +585,14 @@ fn play_file(name: &str) { } fn main() { - let args: Vec<_> = env::args().collect(); + let args: Vec = env::args().collect(); if args.len() == 1 { println!("usage: nihav-player input"); return; } - let name = args[1].as_str(); - play_file(name); + play_file(args); sdl::quit(); } -- 2.30.2