aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-01-26 17:28:22 +0100
committermetamuffin <metamuffin@disroot.org>2024-01-26 17:28:22 +0100
commitce5c70a118ce41e2944546a6e39cb4b8e93e1390 (patch)
tree8e74efd757725660778161024d9577b03ce747cb
parent691b0c4683d98d1035cf63622f0c8848c7222c50 (diff)
downloadjellything-ce5c70a118ce41e2944546a6e39cb4b8e93e1390.tar
jellything-ce5c70a118ce41e2944546a6e39cb4b8e93e1390.tar.bz2
jellything-ce5c70a118ce41e2944546a6e39cb4b8e93e1390.tar.zst
make remuxer underflow less often
-rw-r--r--remuxer/src/snippet.rs4
-rw-r--r--transcoder/src/snippet.rs6
2 files changed, 8 insertions, 2 deletions
diff --git a/remuxer/src/snippet.rs b/remuxer/src/snippet.rs
index 75e0471..1429df1 100644
--- a/remuxer/src/snippet.rs
+++ b/remuxer/src/snippet.rs
@@ -185,7 +185,9 @@ pub fn write_snippet_into(
block.track = 1;
// TODO this does generate overflows sometimes
- block.timestamp_off = (index_block.pts - start_block.pts).try_into().unwrap();
+ block.timestamp_off = (index_block.pts as i64 - start_block.pts as i64)
+ .try_into()
+ .unwrap();
if let Some(duration) = duration {
blocks.push(MatroskaTag::BlockGroup(Master::Collected(vec![
MatroskaTag::BlockDuration(duration),
diff --git a/transcoder/src/snippet.rs b/transcoder/src/snippet.rs
index 9f21bf8..90512c4 100644
--- a/transcoder/src/snippet.rs
+++ b/transcoder/src/snippet.rs
@@ -26,7 +26,7 @@ pub async fn transcode(
&["snip-tc", key, &format!("{enc:?}")],
move |mut output| async move {
let _permit = LOCAL_VIDEO_TRANSCODING_TASKS.acquire().await?;
- debug!("transcoding snippet {key}");
+ debug!("transcoding snippet with {enc:?}");
let mut args = Vec::new();
match enc {
@@ -82,6 +82,10 @@ pub async fn transcode(
.args(args)
.args(&["-f", "webm", "pipe:1"])
.spawn()?;
+ // let mut proc = Command::new("cat")
+ // .stdin(Stdio::piped())
+ // .stdout(Stdio::piped())
+ // .spawn()?;
let stdin = proc.stdin.take().unwrap();
let mut stdout = proc.stdout.take().unwrap();