diff --git a/src/reader.rs b/src/reader.rs index e5ac296..aeff245 100644 --- a/src/reader.rs +++ b/src/reader.rs @@ -138,6 +138,7 @@ impl Mp4Reader { let mut moofs = Vec::new(); let mut moof_offsets = Vec::new(); + let mut emsgs = Vec::new(); let mut current = start; while current < size { @@ -166,6 +167,10 @@ impl Mp4Reader { moofs.push(moof); moof_offsets.push(moof_offset); } + BoxType::EmsgBox => { + let emsg = EmsgBox::read_box(&mut reader, s)?; + emsgs.push(emsg); + } _ => { // XXX warn!() skip_box(&mut reader, s)?; @@ -209,7 +214,7 @@ impl Mp4Reader { ftyp: self.ftyp.clone(), moov: self.moov.clone(), moofs, - emsgs: Vec::new(), + emsgs, tracks, size, }) diff --git a/src/track.rs b/src/track.rs index 7eada83..4f38588 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(),