aboutsummaryrefslogtreecommitdiff
path: root/remuxer
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-05-16 09:34:49 +0200
committermetamuffin <metamuffin@disroot.org>2023-05-16 09:34:49 +0200
commitd015e8245291247ba5907fa90720d027fde0cd07 (patch)
treefd44dd53085719b67d45cdd31c580492f930f945 /remuxer
parent1831529a7a643108fe1122b191b4603cb258552c (diff)
downloadjellything-d015e8245291247ba5907fa90720d027fde0cd07.tar
jellything-d015e8245291247ba5907fa90720d027fde0cd07.tar.bz2
jellything-d015e8245291247ba5907fa90720d027fde0cd07.tar.zst
cue drift fixed. YAYYY!
Diffstat (limited to 'remuxer')
-rw-r--r--remuxer/src/import/mod.rs2
-rw-r--r--remuxer/src/lib.rs6
2 files changed, 4 insertions, 4 deletions
diff --git a/remuxer/src/import/mod.rs b/remuxer/src/import/mod.rs
index 2dc2e5a..b57db15 100644
--- a/remuxer/src/import/mod.rs
+++ b/remuxer/src/import/mod.rs
@@ -182,7 +182,7 @@ fn import_read_segment(
MatroskaTag::BlockGroup(_) => {
debug!("group");
let mut children = children.unwrap();
- let mut position = children.position();
+ let position = children.position(); //? TODO where should this point to? cluster or block?
while let Some(Ok(Unflat { children: _, item })) = children.n() {
match item {
MatroskaTag::Block(ref buf) => {
diff --git a/remuxer/src/lib.rs b/remuxer/src/lib.rs
index 8aaee15..c0a4c69 100644
--- a/remuxer/src/lib.rs
+++ b/remuxer/src/lib.rs
@@ -13,7 +13,7 @@ use jellycommon::{BlockIndex, ItemInfo, SeekIndex, SourceTrack, SourceTrackKind}
use jellymatroska::{
block::Block,
read::EbmlReader,
- write::{vint_length, EbmlWriter},
+ write::{bad_vint_length, vint_length, EbmlWriter},
Master, MatroskaTag,
};
use log::{debug, info, trace, warn};
@@ -164,9 +164,9 @@ impl RemuxerContext {
};
inputs[track].layouting_progress_index += 1;
source_offsets[track].get_or_insert(block.source_off);
- if block.pts > cluster_pts + 2_000 {
+ if block.pts > cluster_pts + 1_000 {
let cluster_content_size = 1 + 1 // timestamp {tag, size}
- + vint_length(cluster_pts) // timestamp tag value
+ + bad_vint_length(cluster_pts) // timestamp tag value
+ p;
let cluster_size = 4 // tag length
+ vint_length(cluster_content_size as u64) // size varint