aboutsummaryrefslogtreecommitdiff
path: root/remuxer/src/import/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'remuxer/src/import/mod.rs')
-rw-r--r--remuxer/src/import/mod.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/remuxer/src/import/mod.rs b/remuxer/src/import/mod.rs
index 11970b0..91a6408 100644
--- a/remuxer/src/import/mod.rs
+++ b/remuxer/src/import/mod.rs
@@ -46,14 +46,13 @@ pub fn import_read(input: &mut EbmlReader, iteminfo: &mut ItemInfo) -> Result<()
}
fn import_read_segment(children: &mut Unflatten, iteminfo: &mut ItemInfo) -> Result<()> {
- // let mut track_mapping = HashMap::<u64, usize>::new(); // maps matroska track id to item track id
let (mut timestamp_scale, mut duration) = (None, None);
while let Some(Ok(Unflat { children, item })) = children.next() {
match item {
MatroskaTag::SeekHead(_) => {}
MatroskaTag::Info(_) => {
let mut children = children.unwrap();
- while let Some(Ok(Unflat { children, item })) = children.next() {
+ while let Some(Ok(Unflat { children: _, item })) = children.next() {
match item {
MatroskaTag::TimestampScale(v) => timestamp_scale = Some(v),
MatroskaTag::Duration(v) => duration = Some(v),
@@ -69,7 +68,7 @@ fn import_read_segment(children: &mut Unflatten, iteminfo: &mut ItemInfo) -> Res
MatroskaTag::BlockGroup(_) => {
debug!("group");
let mut children = children.unwrap();
- while let Some(Ok(Unflat { children, item })) = children.next() {
+ while let Some(Ok(Unflat { children: _, item })) = children.next() {
match item {
MatroskaTag::Block(buf) => {
let block = Block::parse(&buf)?;
@@ -100,7 +99,7 @@ fn import_read_segment(children: &mut Unflatten, iteminfo: &mut ItemInfo) -> Res
match item {
MatroskaTag::CuePoint(_) => {
let mut children = children.unwrap();
- while let Some(Ok(Unflat { children, item })) = children.next() {
+ while let Some(Ok(Unflat { children: _, item })) = children.next() {
// error!("{item:?}")
}
}
@@ -128,9 +127,10 @@ fn import_read_segment(children: &mut Unflatten, iteminfo: &mut ItemInfo) -> Res
mut fps,
mut bit_depth,
mut codec_private,
+ mut default_duration,
) = (
None, None, None, None, None, None, None, None, None, None, None,
- None,
+ None, None,
);
while let Some(Ok(Unflat { children, item })) = children.next() {
match item {
@@ -140,6 +140,7 @@ fn import_read_segment(children: &mut Unflatten, iteminfo: &mut ItemInfo) -> Res
MatroskaTag::TrackType(v) => kind = Some(v),
MatroskaTag::Name(v) => name = Some(v),
MatroskaTag::CodecPrivate(v) => codec_private = Some(v),
+ MatroskaTag::DefaultDuration(v) => default_duration = Some(v),
MatroskaTag::Audio(_) => {
let mut children = children.unwrap();
while let Some(Ok(Unflat { item, .. })) = children.next() {
@@ -189,6 +190,7 @@ fn import_read_segment(children: &mut Unflatten, iteminfo: &mut ItemInfo) -> Res
iteminfo.tracks.insert(
mtrack_index,
SourceTrack {
+ default_duration,
codec_private,
name: name.unwrap_or_else(|| "unnamed".to_string()),
codec: codec.unwrap(),