aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-10-02 14:07:30 +0200
committermetamuffin <metamuffin@disroot.org>2023-10-02 14:07:30 +0200
commit68a0ae056905375d997979d3ca327966d4242697 (patch)
treed0f5037cb956ad22b183a31702b365513c100873
parenta7513d5f0db18570cc7db405810ce66cab6475e4 (diff)
downloadjellything-68a0ae056905375d997979d3ca327966d4242697.tar
jellything-68a0ae056905375d997979d3ca327966d4242697.tar.bz2
jellything-68a0ae056905375d997979d3ca327966d4242697.tar.zst
segment transcoding
-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(())