aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--stream/src/segment.rs6
-rw-r--r--transcoder/src/snippet.rs4
2 files changed, 8 insertions, 2 deletions
diff --git a/stream/src/segment.rs b/stream/src/segment.rs
index 02f3100..08d3efa 100644
--- a/stream/src/segment.rs
+++ b/stream/src/segment.rs
@@ -50,7 +50,11 @@ pub async fn segment_stream(
)
.await?;
let mut output = File::open(location.path()).await?;
- tokio::io::copy(&mut output, &mut b).await?;
+ tokio::task::spawn(async move {
+ if let Err(err) = tokio::io::copy(&mut output, &mut b).await {
+ warn!("cannot write stream: {err}")
+ }
+ });
} else {
let b = SyncIoBridge::new(b);
tokio::task::spawn_blocking(move || {
diff --git a/transcoder/src/snippet.rs b/transcoder/src/snippet.rs
index 5afeb15..3cc9736 100644
--- a/transcoder/src/snippet.rs
+++ b/transcoder/src/snippet.rs
@@ -50,6 +50,8 @@ pub async fn transcode(
]
.to_vec(),
};
+ info!("encoding with {:?}", args.join(" "));
+
let mut proc = Command::new("ffmpeg")
.stdin(Stdio::piped())
.stdout(Stdio::piped())
@@ -63,7 +65,7 @@ pub async fn transcode(
input(stdin);
copy(&mut stdout, &mut output).await?;
-
+
proc.wait().await.unwrap().exit_ok()?;
info!("done");
Ok(())