diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2019-11-30 11:54:00 +0100 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2019-11-30 11:54:00 +0100 |
commit | 659b64294d7bce34c7c5a939c5cbe78d8a87ff75 (patch) | |
tree | 3612f3f2b3f901f61fde3057a88ecefcbd29f20f /src/main.rs | |
parent | 1c5b08d3e5ab17e379a30ce1eff2065bf1f58297 (diff) | |
download | nihav-player-659b64294d7bce34c7c5a939c5cbe78d8a87ff75.tar.gz |
support some options
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 22 |
1 files 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<String>) { + + 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<String> = 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(); } |