aboutsummaryrefslogtreecommitdiff
path: root/transcoder
diff options
context:
space:
mode:
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 {