pub struct Segment {
pub crc32: Option<Crc32>,
pub void: Option<Void>,
pub seek_head: Vec<SeekHead>,
pub info: Info,
pub cluster: Vec<Cluster>,
pub tracks: Option<Tracks>,
pub cues: Option<Cues>,
pub attachments: Option<Attachments>,
pub chapters: Option<Chapters>,
pub tags: Vec<Tags>,
}Expand description
The Root Element that contains all other Top-Level Elements; see data-layout.
Fields§
§crc32: Option<Crc32>Optional CRC-32 element for integrity checking.
void: Option<Void>void element, useful for reserving space during writing.
seek_head: Vec<SeekHead>Contains seeking information of Top-Level Elements; see data-layout.
info: InfoContains general information about the Segment.
cluster: Vec<Cluster>The Top-Level Element containing the (monolithic) Block structure.
tracks: Option<Tracks>A Top-Level Element of information with many tracks described.
cues: Option<Cues>A Top-Level Element to speed seeking access. All entries are local to the Segment. This Element SHOULD be set when the Segment is not transmitted as a live stream (see #livestreaming).
attachments: Option<Attachments>Contain attached files.
chapters: Option<Chapters>A system to define basic menus and partition data. For more detailed information, look at the Chapters explanation in chapters.
Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in Matroska tagging RFC.
Trait Implementations§
Source§impl Element for Segment
impl Element for Segment
Source§fn decode_body(buf: &mut &[u8]) -> Result<Self>
fn decode_body(buf: &mut &[u8]) -> Result<Self>
Source§fn encode_body<B: BufMut>(&self, buf: &mut B) -> Result<()>
fn encode_body<B: BufMut>(&self, buf: &mut B) -> Result<()>
Source§const HAS_DEFAULT_VALUE: bool = false
const HAS_DEFAULT_VALUE: bool = false
impl StructuralPartialEq for Segment
Auto Trait Implementations§
impl Freeze for Segment
impl RefUnwindSafe for Segment
impl Send for Segment
impl Sync for Segment
impl Unpin for Segment
impl UnwindSafe for Segment
Blanket Implementations§
Source§impl<T> AsyncReadElement for Twhere
T: Element,
impl<T> AsyncReadElement for Twhere
T: Element,
Source§impl<T> AsyncReadFrom for Twhere
T: Element,
impl<T> AsyncReadFrom for Twhere
T: Element,
Source§impl<T> AsyncWriteTo for Twhere
T: Encode,
impl<T> AsyncWriteTo for Twhere
T: Encode,
Source§async fn async_write_to<W>(&self, w: &mut W) -> Result<(), Error>where
W: AsyncWrite + Unpin,
async fn async_write_to<W>(&self, w: &mut W) -> Result<(), Error>where
W: AsyncWrite + Unpin,
tokio only.