diff options
author | metamuffin <metamuffin@disroot.org> | 2023-06-11 22:41:31 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-06-11 22:41:31 +0200 |
commit | 4e6731ac3925a1924682b11739332142e0d5f77e (patch) | |
tree | 22ce18557e9f55f1a4f2a61ce853b964840fcde3 /matroska/src | |
parent | 3cdcca9118e6e84c09cebab501142bd8cef47c0f (diff) | |
download | jellything-4e6731ac3925a1924682b11739332142e0d5f77e.tar jellything-4e6731ac3925a1924682b11739332142e0d5f77e.tar.bz2 jellything-4e6731ac3925a1924682b11739332142e0d5f77e.tar.zst |
unflatten return position
Diffstat (limited to 'matroska/src')
-rw-r--r-- | matroska/src/unflatten.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/matroska/src/unflatten.rs b/matroska/src/unflatten.rs index 57fd35b..e220689 100644 --- a/matroska/src/unflatten.rs +++ b/matroska/src/unflatten.rs @@ -15,6 +15,7 @@ pub trait IterWithPos { pub struct Unflat<'a> { pub item: MatroskaTag, pub children: Option<Unflatten<'a>>, + pub position: usize, } pub struct Unflatten<'a> { @@ -50,6 +51,7 @@ impl<'a> Unflatten<'a> { if self.stop { return None; } + let position = self.inner.position(); match self.inner.next() { None => None, Some(Err(e)) => Some(Err(e)), @@ -60,6 +62,7 @@ impl<'a> Unflatten<'a> { None } else { Some(Ok(Unflat { + position, children: if master { let end = MatroskaTag::construct_master(item.id(), Master::End).unwrap(); |