diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-03-12 15:07:24 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-03-12 15:07:24 +0100 |
| commit | 7dee77aaf7b663f65c7f0da514839b7ccc965f52 (patch) | |
| tree | 62ca6642ef377df0cd4058e0b64c67013abf66f8 | |
| parent | 854504fac9444463495aaaf589c0c27823779ce9 (diff) | |
| download | jellything-7dee77aaf7b663f65c7f0da514839b7ccc965f52.tar jellything-7dee77aaf7b663f65c7f0da514839b7ccc965f52.tar.bz2 jellything-7dee77aaf7b663f65c7f0da514839b7ccc965f52.tar.zst | |
dont write clusters to intermediate buffer
| -rw-r--r-- | remuxer/src/muxers/matroska.rs | 7 | ||||
| -rw-r--r-- | stream/src/stream_info.rs | 3 |
2 files changed, 5 insertions, 5 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(()) } diff --git a/stream/src/stream_info.rs b/stream/src/stream_info.rs index 0d4350f..71ccb1f 100644 --- a/stream/src/stream_info.rs +++ b/stream/src/stream_info.rs @@ -184,7 +184,8 @@ fn containers_by_codec(codec: &str) -> Vec<StreamContainer> { use StreamContainer::*; match codec { "V_VP8" | "V_VP9" | "V_AV1" | "A_OPUS" | "A_VORBIS" => vec![Matroska, WebM], - "V_MPEG4/ISO/AVC" | "V_MPEGH/ISO/HEVC" | "A_AAC" => vec![Matroska, MP4], + "V_MPEG4/ISO/AVC" => vec![Matroska, MP4], + // "V_MPEG4/ISO/AVC" | "V_MPEGH/ISO/HEVC" | "A_AAC" => vec![Matroska, MP4], // TODO not supported yet "S_TEXT/UTF8" | "S_TEXT/WEBVTT" => vec![Matroska, WebVTT, WebM, JVTT], _ => vec![Matroska], } |