Skip to main content

ChapterAtom

Struct ChapterAtom 

Source
pub struct ChapterAtom {
Show 16 fields pub crc32: Option<Crc32>, pub void: Option<Void>, pub chapter_uid: ChapterUid, pub chapter_string_uid: Option<ChapterStringUid>, pub chapter_time_start: ChapterTimeStart, pub chapter_time_end: Option<ChapterTimeEnd>, pub chapter_flag_hidden: ChapterFlagHidden, pub chapter_flag_enabled: ChapterFlagEnabled, pub chapter_segment_uuid: Option<ChapterSegmentUuid>, pub chapter_skip_type: Option<ChapterSkipType>, pub chapter_segment_edition_uid: Option<ChapterSegmentEditionUid>, pub chapter_physical_equiv: Option<ChapterPhysicalEquiv>, pub chapter_track: Option<ChapterTrack>, pub chapter_display: Vec<ChapterDisplay>, pub chap_process: Vec<ChapProcess>, pub chapter_atom: Vec<ChapterAtom>,
}
Expand description

Contains the atom information to use as the chapter atom (apply to all tracks).

Fields§

§crc32: Option<Crc32>

Optional CRC-32 element for integrity checking.

§void: Option<Void>

void element, useful for reserving space during writing.

§chapter_uid: ChapterUid

Contains the atom information to use as the chapter atom (apply to all tracks).

§chapter_string_uid: Option<ChapterStringUid>

A unique string ID to identify the Chapter. For example it is used as the storage for [@?WebVTT] cue identifier values.

§chapter_time_start: ChapterTimeStart

Timestamp of the start of Chapter, expressed in Matroska Ticks – i.e., in nanoseconds; see timestamp-ticks.

§chapter_time_end: Option<ChapterTimeEnd>

Timestamp of the end of Chapter timestamp excluded, expressed in Matroska Ticks – i.e., in nanoseconds; see timestamp-ticks. The value MUST be greater than or equal to the ChapterTimeStart of the same ChapterAtom. The ChapterTimeEnd timestamp value being excluded, it MUST take in account the duration of the last frame it includes, especially for the ChapterAtom using the last frames of the Segment. ChapterTimeEnd MUST be set if the Edition is an ordered edition; see (#editionflagordered), unless it’s a Parent Chapter; see (#nested-chapters)

§chapter_flag_hidden: ChapterFlagHidden

Set to 1 if a chapter is hidden. Hidden chapters SHOULD NOT be available to the user interface (but still to Control Tracks; see chapterflaghidden on Chapter flags).

§chapter_flag_enabled: ChapterFlagEnabled

Set to 1 if the chapter is enabled. It can be enabled/disabled by a Control Track. When disabled, the movie SHOULD skip all the content between the TimeStart and TimeEnd of this chapter; see notes on Chapter flags.

§chapter_segment_uuid: Option<ChapterSegmentUuid>

The SegmentUUID of another Segment to play during this chapter. The value MUST NOT be the SegmentUUID value of the Segment it belongs to. ChapterSegmentUUID MUST be set if ChapterSegmentEditionUID is used; see (#medium-linking) on medium-linking Segments.

§chapter_skip_type: Option<ChapterSkipType>

Indicate what type of content the ChapterAtom contains and might be skipped. It can be used to automatically skip content based on the type. If a ChapterAtom is inside a ChapterAtom that has a ChapterSkipType set, it MUST NOT have a ChapterSkipType or have a ChapterSkipType with the same value as it’s parent ChapterAtom. If the ChapterAtom doesn’t contain a ChapterTimeEnd, the value of the ChapterSkipType is only valid until the next ChapterAtom with a ChapterSkipType value or the end of the file.

  • 0 - No Skipping,
  • 1 - Opening Credits,
  • 2 - End Credits,
  • 3 - Recap,
  • 4 - Next Preview,
  • 5 - Preview,
  • 6 - Advertisement
§chapter_segment_edition_uid: Option<ChapterSegmentEditionUid>

The EditionUID to play from the Segment linked in ChapterSegmentUUID. If ChapterSegmentEditionUID is undeclared, then no Edition of the linked Segment is used; see medium-linking on medium-linking Segments.

§chapter_physical_equiv: Option<ChapterPhysicalEquiv>

Specify the physical equivalent of this ChapterAtom like “DVD” (60) or “SIDE” (50); see notes for a complete list of values.

§chapter_track: Option<ChapterTrack>

List of tracks on which the chapter applies. If this Element is not present, all tracks apply

§chapter_display: Vec<ChapterDisplay>

Contains all possible strings to use for the chapter display.

§chap_process: Vec<ChapProcess>

Contains all the commands associated to the Atom.

§chapter_atom: Vec<ChapterAtom>

Contains nested ChapterAtoms, used when chapter have sub-chapters or sub-sections

Trait Implementations§

Source§

impl Clone for ChapterAtom

Source§

fn clone(&self) -> ChapterAtom

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ChapterAtom

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ChapterAtom

Source§

fn default() -> ChapterAtom

Returns the “default value” for a type. Read more
Source§

impl Element for ChapterAtom

Source§

const ID: VInt64

EBML ID of the element.
Source§

fn decode_body<B: Buf>(buf: &mut B) -> Result<Self>

Decode the body of the element from a buffer.
Source§

fn encode_body<B: BufMut>(&self, buf: &mut B) -> Result<()>

Encode the body of the element to a buffer.
Source§

const HAS_DEFAULT_VALUE: bool = false

Whether the element has a default value, as per Matroska specification. If true, and the element is missing in a master element, it should be treated as if it were present with the default value. If false, and the element is missing in a master element, it should be treated as an error.
Source§

impl PartialEq for ChapterAtom

Source§

fn eq(&self, other: &ChapterAtom) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ChapterAtom

Source§

impl StructuralPartialEq for ChapterAtom

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AsyncReadElement for T
where T: Element,

Source§

fn async_read_element<R: AsyncRead + Unpin + ?Sized>( header: &Header, r: &mut R, ) -> impl Future<Output = Result<Self>>

Available on crate feature tokio only.
Read an element from a reader provided the header.
Source§

impl<T> AsyncReadFrom for T
where T: Element,

Source§

async fn async_read_from<R>(r: &mut R) -> Result<T, Error>
where R: AsyncRead + Unpin + ?Sized,

Available on crate feature tokio only.
Read Self from a reader.
Source§

impl<T> AsyncWriteElement for T
where T: Element,

Source§

fn async_write_element<W: AsyncWrite + Unpin + ?Sized>( &self, header: &Header, w: &mut W, ) -> impl Future<Output = Result<()>>

Available on crate feature tokio only.
Write an element to a writer asynchronously.
Source§

impl<T> AsyncWriteTo for T
where T: Encode,

Source§

async fn async_write_to<W>(&self, w: &mut W) -> Result<(), Error>
where W: AsyncWrite + Unpin + ?Sized,

Available on crate feature tokio only.
Write to a writer asynchronously.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ReadElement for T
where T: Element,

Source§

fn read_element<R: Read + ?Sized>(header: &Header, r: &mut R) -> Result<Self>

Read an element from a reader provided the header.
Source§

impl<T> ReadFrom for T
where T: Element,

Source§

fn read_from<R>(r: &mut R) -> Result<T, Error>
where R: Read + ?Sized,

Read Self from a reader.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WriteElement for T
where T: Element,

Source§

fn write_element<W: Write + ?Sized>( &self, header: &Header, w: &mut W, ) -> Result<()>

Write an element to a writer.
Source§

impl<T> WriteTo for T
where T: Encode,

Source§

fn write_to<W>(&self, w: &mut W) -> Result<(), Error>
where W: Write + ?Sized,

Write to a writer.