summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2019-11-30 11:54:00 +0100
committerKostya Shishkov <kostya.shishkov@gmail.com>2019-11-30 11:54:00 +0100
commit659b64294d7bce34c7c5a939c5cbe78d8a87ff75 (patch)
tree3612f3f2b3f901f61fde3057a88ecefcbd29f20f
parent1c5b08d3e5ab17e379a30ce1eff2065bf1f58297 (diff)
downloadnihav-player-659b64294d7bce34c7c5a939c5cbe78d8a87ff75.tar.gz
support some options
-rw-r--r--src/main.rs22
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();
}