aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-03-12 15:07:24 +0100
committermetamuffin <metamuffin@disroot.org>2026-03-12 15:07:24 +0100
commit7dee77aaf7b663f65c7f0da514839b7ccc965f52 (patch)
tree62ca6642ef377df0cd4058e0b64c67013abf66f8 /remuxer/src
parent854504fac9444463495aaaf589c0c27823779ce9 (diff)
downloadjellything-7dee77aaf7b663f65c7f0da514839b7ccc965f52.tar
jellything-7dee77aaf7b663f65c7f0da514839b7ccc965f52.tar.bz2
jellything-7dee77aaf7b663f65c7f0da514839b7ccc965f52.tar.zst
dont write clusters to intermediate buffer
Diffstat (limited to 'remuxer/src')
-rw-r--r--remuxer/src/muxers/matroska.rs7
1 files changed, 3 insertions, 4 deletions
diff --git a/remuxer/src/muxers/matroska.rs b/remuxer/src/muxers/matroska.rs
index 272c91d..8e82201 100644
--- a/remuxer/src/muxers/matroska.rs
+++ b/remuxer/src/muxers/matroska.rs
@@ -6,7 +6,7 @@
use crate::muxers::FragmentMuxer;
use anyhow::Result;
-use winter_ebml::{Ebml, EbmlHeader, EbmlToVec, write_vint_slice};
+use winter_ebml::{Ebml, EbmlHeader, write_vint_slice};
use winter_matroska::{MatroskaFile, Segment};
fn write_init_shared(out: &mut Vec<u8>, mut segment: Segment, webm: bool) -> Result<()> {
@@ -55,10 +55,9 @@ fn write_init_shared(out: &mut Vec<u8>, mut segment: Segment, webm: bool) -> Res
}
fn write_frag_shared(out: &mut Vec<u8>, segment: Segment, _webm: bool) -> Result<()> {
for cluster in segment.clusters {
- let cluster = cluster.to_vec();
write_vint_slice(out, Segment::TAG_CLUSTERS);
- write_vint_slice(out, cluster.len() as u64);
- out.extend(cluster);
+ write_vint_slice(out, cluster.size() as u64);
+ cluster.write(out)
}
Ok(())
}