36 lines
1004 B
Rust
36 lines
1004 B
Rust
use super::util::{get_test_asset, spawn_mpv};
|
|
|
|
use mpvipc_async::{
|
|
MpvError, MpvExt, PlaylistAddOptions, PlaylistAddTypeOptions, SeekOptions, Switch,
|
|
};
|
|
|
|
#[tokio::test]
|
|
#[cfg(target_family = "unix")]
|
|
async fn test_seek() -> Result<(), MpvError> {
|
|
let (mut proc, mpv) = spawn_mpv(false).await.unwrap();
|
|
mpv.playlist_add(
|
|
&get_test_asset("black-background-30s-480p.mp4"),
|
|
PlaylistAddTypeOptions::File,
|
|
PlaylistAddOptions::Append,
|
|
)
|
|
.await?;
|
|
|
|
mpv.set_playback(Switch::On).await?;
|
|
mpv.set_playback(Switch::Off).await?;
|
|
|
|
// TODO: wait for property "seekable" to be true
|
|
|
|
mpv.seek(10.0, SeekOptions::Relative).await?;
|
|
let time_pos: f64 = mpv.get_property("time-pos").await?.unwrap();
|
|
assert_eq!(time_pos, 10.0);
|
|
|
|
mpv.seek(5.0, SeekOptions::Relative).await?;
|
|
let time_pos: f64 = mpv.get_property("time-pos").await?.unwrap();
|
|
assert_eq!(time_pos, 15.0);
|
|
|
|
mpv.kill().await.unwrap();
|
|
proc.kill().await.unwrap();
|
|
|
|
Ok(())
|
|
}
|