From ce5c70a118ce41e2944546a6e39cb4b8e93e1390 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Fri, 26 Jan 2024 17:28:22 +0100 Subject: make remuxer underflow less often --- remuxer/src/snippet.rs | 4 +++- 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(); -- cgit v1.2.3-70-g09d2