From d3ed810656a563fc733771e760b2abbb05bd98cb Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 7 Mar 2026 02:58:52 +0100 Subject: several mp4 fixes --- transcoder/src/fragment.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'transcoder/src') diff --git a/transcoder/src/fragment.rs b/transcoder/src/fragment.rs index 58c8459..c34e8ee 100644 --- a/transcoder/src/fragment.rs +++ b/transcoder/src/fragment.rs @@ -62,6 +62,8 @@ pub fn transcode( input_key: &str, input_format: &StreamFormatInfo, output_format: &StreamFormatInfo, + index: usize, + end_pts: u64, segment: impl FnOnce() -> Result, ) -> Result { let command = transcode_command(kind, &input_format, output_format, false, config).unwrap(); @@ -86,7 +88,7 @@ pub fn transcode( let mut stdout = proc.stdout.take().unwrap(); let mut buf = Vec::new(); - write_init_frag(ContainerFormat::Matroska, &mut buf, input)?; + write_init_frag(ContainerFormat::Matroska, &mut buf, input, index, end_pts)?; spawn(move || { stdin.write_all(&buf).unwrap(); @@ -106,6 +108,7 @@ pub fn transcode( let info = demuxer.info()?; let tracks = demuxer.tracks()?; + let tags = demuxer.tags()?; let mut clusters = Vec::new(); while let Some((_, cluster)) = demuxer.read_cluster()? { clusters.push(cluster); @@ -122,6 +125,7 @@ pub fn transcode( Ok(Segment { info, tracks, + tags: tags.into_iter().collect(), clusters, ..Default::default() }) -- cgit v1.3