|
|
@ -111,13 +111,22 @@ pub fn open_media(url: &str) -> Result<()> {
|
|
|
|
&url
|
|
|
|
&url
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let errfn = |e| {
|
|
|
|
|
|
|
|
if let Err(e) = terminal::enable_raw_mode() {
|
|
|
|
|
|
|
|
error!("`mpv` error: {}", e)
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
error!("`mpv` error: {}", e)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
terminal::disable_raw_mode()?;
|
|
|
|
terminal::disable_raw_mode()?;
|
|
|
|
let mut cmd = process::Command::new("mpv")
|
|
|
|
let mut cmd = process::Command::new("mpv")
|
|
|
|
.arg(url)
|
|
|
|
.arg(url)
|
|
|
|
.stdin(Stdio::inherit())
|
|
|
|
.stdin(Stdio::inherit())
|
|
|
|
.stdout(Stdio::inherit())
|
|
|
|
.stdout(Stdio::inherit())
|
|
|
|
.spawn()?;
|
|
|
|
.spawn()
|
|
|
|
cmd.wait()?;
|
|
|
|
.map_err(errfn)?;
|
|
|
|
|
|
|
|
cmd.wait().map_err(errfn)?;
|
|
|
|
terminal::enable_raw_mode()?;
|
|
|
|
terminal::enable_raw_mode()?;
|
|
|
|
|
|
|
|
|
|
|
|
Ok(())
|
|
|
|
Ok(())
|
|
|
|