diff --git a/src/ebml/read.rs b/src/ebml/read.rs index 73abb7ab8..903626c50 100644 --- a/src/ebml/read.rs +++ b/src/ebml/read.rs @@ -1,5 +1,6 @@ mod segment; mod segment_info; +mod segment_tracks; use super::EbmlFile; use crate::ebml::element_reader::{ElementHeader, ElementIdent, ElementReader, ElementReaderYield}; diff --git a/src/ebml/read/segment.rs b/src/ebml/read/segment.rs index af73f0c99..0f07617c1 100644 --- a/src/ebml/read/segment.rs +++ b/src/ebml/read/segment.rs @@ -1,4 +1,4 @@ -use super::segment_info; +use super::{segment_info, segment_tracks}; use crate::ebml::element_reader::{ElementIdent, ElementReader, ElementReaderYield}; use crate::ebml::properties::EbmlProperties; use crate::ebml::tag::EbmlTag; @@ -26,7 +26,9 @@ where segment_info::read_from(children_reader.inner(), parse_options, properties)? }, ElementIdent::Cluster => todo!("Support segment.Cluster"), - ElementIdent::Tracks => todo!("Support segment.Tracks"), + ElementIdent::Tracks => { + segment_tracks::read_from(children_reader.inner(), parse_options, properties)? + }, ElementIdent::Tags => todo!("Support segment.Tags"), ElementIdent::Attachments => todo!("Support segment.Attachments"), ElementIdent::Chapters => todo!("Support segment.Chapters"), diff --git a/src/ebml/read/segment_tracks.rs b/src/ebml/read/segment_tracks.rs new file mode 100644 index 000000000..9852152ab --- /dev/null +++ b/src/ebml/read/segment_tracks.rs @@ -0,0 +1,18 @@ +use crate::ebml::element_reader::{ElementIdent, ElementReader, ElementReaderYield}; +use crate::ebml::properties::EbmlProperties; +use crate::error::Result; +use crate::macros::decode_err; +use crate::probe::ParseOptions; + +use std::io::{Read, Seek}; + +pub(super) fn read_from( + _element_reader: &mut ElementReader, + _parse_options: ParseOptions, + _properties: &mut EbmlProperties, +) -> Result<()> +where + R: Read + Seek, +{ + unimplemented!("\\Ebml\\Segment\\Tracks") +}