From 50dc0e7bea02d7fc5b38edb7f943e19bd8c0285b Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 15 Apr 2025 17:56:06 +0200 Subject: remux playback works --- stream/src/stream_info.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'stream/src') diff --git a/stream/src/stream_info.rs b/stream/src/stream_info.rs index a8b6989..43c536a 100644 --- a/stream/src/stream_info.rs +++ b/stream/src/stream_info.rs @@ -57,12 +57,7 @@ pub(crate) async fn stream_info(info: Arc) -> Result<(InternalStream let segment = StreamSegmentInfo { name: None, - duration: metadata[0] - .info - .as_ref() - .unwrap() - .duration - .unwrap_or_default(), + duration: media_duration(&metadata[0]), tracks, }; Ok(( @@ -162,3 +157,8 @@ pub(crate) async fn write_stream_info(info: Arc, mut b: DuplexStream spawn(async move { b.write_all(&serde_json::to_vec(&info)?).await }); Ok(()) } + +fn media_duration(m: &MatroskaMetadata) -> f64 { + let info = m.info.as_ref().unwrap(); + (info.duration.unwrap_or_default() * info.timestamp_scale as f64) / 1_000_000_000. +} -- cgit v1.2.3-70-g09d2