From 4a79df8b43238e4de816af17daecbad0fa9866e4 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 10 Mar 2026 18:18:22 +0100 Subject: correctly discard added clusters after transcode --- transcoder/src/fragment.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'transcoder') diff --git a/transcoder/src/fragment.rs b/transcoder/src/fragment.rs index 2ff36a7..f9ab72d 100644 --- a/transcoder/src/fragment.rs +++ b/transcoder/src/fragment.rs @@ -112,12 +112,10 @@ pub fn transcode( let tags = demuxer.tags()?; let mut clusters = Vec::new(); while let Some((_, cluster)) = demuxer.read_cluster()? { - clusters.push(cluster); - } - - //? Remove extra kf hack - if clusters.last().is_some_and(|c| c.simple_blocks.len() == 1) { - clusters.pop(); + // discard clusters added at the end for backwards-prediction + if cluster.timestamp * info.timestamp_scale < end_pts { + clusters.push(cluster); + } } Ok(Segment { -- cgit v1.3