From 56889506262c9e3d0fcd874961efaafdf0e01c79 Mon Sep 17 00:00:00 2001 From: Jensenn Date: Thu, 11 Jan 2024 17:33:18 -0700 Subject: [PATCH 1/3] Allow sample_time to wrap --- src/track.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/track.rs b/src/track.rs index 7eada83..122c46a 100644 --- a/src/track.rs +++ b/src/track.rs @@ -520,12 +520,12 @@ impl Mp4Track { )?; } let duration = trun.sample_durations[sample_idx]; - return Ok((base_start_time + start_offset, duration)); + return Ok((base_start_time.wrapping_add(start_offset), duration)); } } } let start_offset = ((sample_id - 1) * default_sample_duration) as u64; - Ok((base_start_time + start_offset, default_sample_duration)) + Ok((base_start_time.wrapping_add(start_offset), default_sample_duration)) } else { let stts = &self.trak.mdia.minf.stbl.stts; From d4bed7071c993bae11fc1519452d968f56e2d811 Mon Sep 17 00:00:00 2001 From: Jensenn Date: Tue, 20 Feb 2024 15:14:40 -0700 Subject: [PATCH 2/3] Fix formatting of track.rs --- src/track.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/track.rs b/src/track.rs index 122c46a..910f50c 100644 --- a/src/track.rs +++ b/src/track.rs @@ -525,7 +525,10 @@ impl Mp4Track { } } let start_offset = ((sample_id - 1) * default_sample_duration) as u64; - Ok((base_start_time.wrapping_add(start_offset), default_sample_duration)) + Ok(( + base_start_time.wrapping_add(start_offset), + default_sample_duration, + )) } else { let stts = &self.trak.mdia.minf.stbl.stts; From 9d8bfc9d54634e83f1732dd712bb402cd9940f6f Mon Sep 17 00:00:00 2001 From: Jensenn Date: Tue, 20 Feb 2024 15:37:13 -0700 Subject: [PATCH 3/3] clippy fix --- src/track.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/track.rs b/src/track.rs index 910f50c..970811f 100644 --- a/src/track.rs +++ b/src/track.rs @@ -261,7 +261,7 @@ impl Mp4Track { pub fn sequence_parameter_set(&self) -> Result<&[u8]> { if let Some(ref avc1) = self.trak.mdia.minf.stbl.stsd.avc1 { - match avc1.avcc.sequence_parameter_sets.get(0) { + match avc1.avcc.sequence_parameter_sets.first() { Some(nal) => Ok(nal.bytes.as_ref()), None => Err(Error::EntryInStblNotFound( self.track_id(), @@ -276,7 +276,7 @@ impl Mp4Track { pub fn picture_parameter_set(&self) -> Result<&[u8]> { if let Some(ref avc1) = self.trak.mdia.minf.stbl.stsd.avc1 { - match avc1.avcc.picture_parameter_sets.get(0) { + match avc1.avcc.picture_parameter_sets.first() { Some(nal) => Ok(nal.bytes.as_ref()), None => Err(Error::EntryInStblNotFound( self.track_id(),