aboutsummaryrefslogtreecommitdiff
path: root/matroska
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-06-11 22:41:31 +0200
committermetamuffin <metamuffin@disroot.org>2023-06-11 22:41:31 +0200
commit4e6731ac3925a1924682b11739332142e0d5f77e (patch)
tree22ce18557e9f55f1a4f2a61ce853b964840fcde3 /matroska
parent3cdcca9118e6e84c09cebab501142bd8cef47c0f (diff)
downloadjellything-4e6731ac3925a1924682b11739332142e0d5f77e.tar
jellything-4e6731ac3925a1924682b11739332142e0d5f77e.tar.bz2
jellything-4e6731ac3925a1924682b11739332142e0d5f77e.tar.zst
unflatten return position
Diffstat (limited to 'matroska')
-rw-r--r--matroska/src/unflatten.rs3
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();