in mp4parse/src/lib.rs [5875:5891]
fn read_schi<T: Read>(src: &mut BMFFBox<T>) -> Result<Option<TrackEncryptionBox>> {
let mut tenc = None;
let mut iter = src.box_iter();
while let Some(mut b) = iter.next_box()? {
match b.head.name {
BoxType::TrackEncryptionBox => {
if tenc.is_some() {
return Status::SchiQuantity.into();
}
tenc = Some(read_tenc(&mut b)?);
}
_ => skip_box_content(&mut b)?,
}
}
Ok(tenc)
}