tkeep: TimeKeep,
+ quiet: bool,
debug: bool,
osd: OSD,
show_osd: Option<bool>,
tkeep: TimeKeep::new(),
+ quiet: false,
debug: false,
osd: OSD::new(),
show_osd: None,
for event in event_pump.poll_iter() {
if let Event::Quit {..} = event {
self.end = true;
- println!();
+ if !self.quiet {
+ println!();
+ }
return Ok(true);
}
if let Event::Window {win_event: WindowEvent::Exposed, ..} = event {
match keycode {
Keycode::Escape => {
self.end = true;
- println!();
+ if !self.quiet {
+ println!();
+ }
return Ok(true);
},
Keycode::Q if keymod.contains(Mod::RSHIFTMOD) || keymod.contains(Mod::LSHIFTMOD) => {
self.end = true;
- println!();
+ if !self.quiet {
+ println!();
+ }
return Ok(true);
},
Keycode::Return | Keycode::KpEnter => return Ok(true),
},
_ => {},
};
- if !self.paused {
+ if !self.paused && !self.quiet {
print!("{:60}\r", ' ');
std::io::stdout().flush().unwrap();
}
}
let (dmx_name, _score) = res.unwrap();
debug_log!(self; {format!(" found demuxer {} with score {:?}", dmx_name, _score)});
- println!("trying demuxer {} on {}", dmx_name, name);
+ if !self.quiet {
+ println!("trying demuxer {} on {}", dmx_name, name);
+ }
let mut dmx_reg = RegisteredDemuxers::new();
nihav_register_all_demuxers(&mut dmx_reg);
let mut audio_dec: Option<DecoderStuff> = None;
let duration = dmx.get_duration();
- if duration != 0 {
+ if duration != 0 && !self.quiet {
println!(" total duration {}", format_time(duration));
}
self.has_video = false;
let info = s.get_info();
let decfunc = dec_reg.find_decoder(info.get_name());
let decfunc_mt = mtdec_reg.find_decoder(info.get_name());
- println!("stream {} - {} {}", i, s, info.get_name());
+ if !self.quiet {
+ println!("stream {} - {} {}", i, s, info.get_name());
+ }
debug_log!(self; {format!(" stream {} - {} {}", i, s, info.get_name())});
let str_id = s.get_id();
if info.is_video() {
height = props.get_height();
}
if dec.init(info.clone()).is_err() {
- println!("failed to initialise hwaccel video decoder");
+ if !self.quiet {
+ println!("failed to initialise hwaccel video decoder");
+ }
} else {
video_dec = Some(DecoderStuff{ dsupp, dec: DecoderType::VideoHW(dec) });
self.video_str = str_id;
tb_num = tbn;
tb_den = tbd;
self.has_video = true;
- println!(" using hardware-accelerated decoding");
+ if !self.quiet {
+ println!(" using hardware-accelerated decoding");
+ }
continue;
}
}
tb_den = tbd;
self.has_video = true;
continue;
- } else {
+ } else if !self.quiet {
println!("failed to create multi-threaded decoder, falling back");
}
}
'main: loop {
let ret = self.handle_events(&mut event_pump, &mut canvas, &mut dmx, &mut disp_q);
if matches!(ret, Ok(true) | Err(_)) {
- println!();
+ if !self.quiet {
+ println!();
+ }
break 'main;
}
if !self.paused {
if last_disp.elapsed().as_millis() >= 10 {
let c_time = self.tkeep.get_cur_time();
- if !self.debug {
- print!(" {} {}% \r", format_time(c_time), self.acontrol.get_volume());
- } else {
- print!(" {} {} {}% {:3} {:6}\r", format_time(c_time), if self.vcontrol.is_yuv() { 'Y' } else { 'R' }, self.acontrol.get_volume(), (disp_q.end + disp_q.len - disp_q.start) % disp_q.len, self.acontrol.get_fill());
+ if !self.quiet {
+ if !self.debug {
+ print!(" {} {}% \r", format_time(c_time), self.acontrol.get_volume());
+ } else {
+ print!(" {} {} {}% {:3} {:6}\r", format_time(c_time), if self.vcontrol.is_yuv() { 'Y' } else { 'R' }, self.acontrol.get_volume(), (disp_q.end + disp_q.len - disp_q.start) % disp_q.len, self.acontrol.get_fill());
+ }
}
std::io::stdout().flush().unwrap();
last_disp = Instant::now();
thread::sleep(Duration::from_millis(20));
}
}
- println!();
+ if !self.quiet {
+ println!();
+ }
std::mem::swap(&mut self.vcontrol, &mut new_vcontrol);
new_vcontrol.finish();
std::mem::swap(&mut self.acontrol, &mut new_acontrol);
}
}
},
+ "-quiet" => {
+ player.quiet = true;
+ },
"-osd" => {
player.show_osd = Some(true);
},