aboutsummaryrefslogtreecommitdiff
path: root/transcoder
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-03-10 18:18:22 +0100
committermetamuffin <metamuffin@disroot.org>2026-03-10 18:18:22 +0100
commit4a79df8b43238e4de816af17daecbad0fa9866e4 (patch)
tree32c3aec1e0b0109d2893cd2ebe142a5c85d988de /transcoder
parent7c62ab716ac52eeb944a2ea0a4774424416f4bf7 (diff)
downloadjellything-4a79df8b43238e4de816af17daecbad0fa9866e4.tar
jellything-4a79df8b43238e4de816af17daecbad0fa9866e4.tar.bz2
jellything-4a79df8b43238e4de816af17daecbad0fa9866e4.tar.zst
correctly discard added clusters after transcode
Diffstat (limited to 'transcoder')
-rw-r--r--transcoder/src/fragment.rs10
1 files changed, 4 insertions, 6 deletions
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 {