diff options
author | metamuffin <metamuffin@disroot.org> | 2024-01-26 17:28:22 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-01-26 17:28:22 +0100 |
commit | ce5c70a118ce41e2944546a6e39cb4b8e93e1390 (patch) | |
tree | 8e74efd757725660778161024d9577b03ce747cb | |
parent | 691b0c4683d98d1035cf63622f0c8848c7222c50 (diff) | |
download | jellything-ce5c70a118ce41e2944546a6e39cb4b8e93e1390.tar jellything-ce5c70a118ce41e2944546a6e39cb4b8e93e1390.tar.bz2 jellything-ce5c70a118ce41e2944546a6e39cb4b8e93e1390.tar.zst |
make remuxer underflow less often
-rw-r--r-- | remuxer/src/snippet.rs | 4 | ||||
-rw-r--r-- | transcoder/src/snippet.rs | 6 |
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(); |