diff options
author | metamuffin <metamuffin@disroot.org> | 2023-05-16 09:34:49 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-05-16 09:34:49 +0200 |
commit | d015e8245291247ba5907fa90720d027fde0cd07 (patch) | |
tree | fd44dd53085719b67d45cdd31c580492f930f945 /remuxer | |
parent | 1831529a7a643108fe1122b191b4603cb258552c (diff) | |
download | jellything-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.rs | 2 | ||||
-rw-r--r-- | remuxer/src/lib.rs | 6 |
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 |