diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-03-10 18:18:22 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-03-10 18:18:22 +0100 |
| commit | 4a79df8b43238e4de816af17daecbad0fa9866e4 (patch) | |
| tree | 32c3aec1e0b0109d2893cd2ebe142a5c85d988de /transcoder | |
| parent | 7c62ab716ac52eeb944a2ea0a4774424416f4bf7 (diff) | |
| download | jellything-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.rs | 10 |
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 { |