From 6f46c768ce5761bb0acc5f64af2c6907c810f741 Mon Sep 17 00:00:00 2001 From: uku Date: Wed, 21 May 2025 22:33:16 +0200 Subject: [PATCH] feat: check for ffmpeg on startup --- src/ffmpeg.rs | 7 +++++++ src/main.rs | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/ffmpeg.rs b/src/ffmpeg.rs index 329b0e7..dbc8ed8 100644 --- a/src/ffmpeg.rs +++ b/src/ffmpeg.rs @@ -57,6 +57,13 @@ impl From for Codec { } } +pub fn check() -> Result<()> { + std::process::Command::new("ffmpeg").output()?; + std::process::Command::new("ffprobe").output()?; + + Ok(()) +} + pub async fn get_video_meta(path: &Path) -> Result { let output = Command::new("ffprobe") .args([ diff --git a/src/main.rs b/src/main.rs index 7b31212..3256200 100644 --- a/src/main.rs +++ b/src/main.rs @@ -391,7 +391,6 @@ impl AsyncComponent for Tyrolienne { } } -// TODO check for ffmpeg // TODO app icon fn main() -> Result<()> { tracing_subscriber::fmt() @@ -400,7 +399,7 @@ fn main() -> Result<()> { color_eyre::install()?; - match get_config() { + match ffmpeg::check().and_then(|_| get_config()) { Ok(config) => RelmApp::new("net.uku3lig.Tyrolienne").run_async::(config), Err(e) => RelmApp::new("net.uku3lig.Tyrolienne").run::(e.to_string()), }