Skip to main content

Targets

Struct Targets 

Source
pub struct Targets {
    pub crc32: Option<Crc32>,
    pub void: Option<Void>,
    pub target_type_value: TargetTypeValue,
    pub target_type: Option<TargetType>,
    pub tag_track_uid: Vec<TagTrackUid>,
    pub tag_edition_uid: Vec<TagEditionUid>,
    pub tag_chapter_uid: Vec<TagChapterUid>,
    pub tag_attachment_uid: Vec<TagAttachmentUid>,
}
Expand description

Specifies which other elements the metadata represented by the Tag applies to. If empty or omitted, then the Tag describes everything in the Segment.

Fields§

§crc32: Option<Crc32>

Optional CRC-32 element for integrity checking.

§void: Option<Void>

void element, useful for reserving space during writing.

§target_type_value: TargetTypeValue

A number to indicate the logical level of the target.

  • 70 - COLLECTION,
  • 60 - EDITION / ISSUE / VOLUME / OPUS / SEASON / SEQUEL,
  • 50 - ALBUM / OPERA / CONCERT / MOVIE / EPISODE,
  • 40 - PART / SESSION,
  • 30 - TRACK / SONG / CHAPTER,
  • 20 - SUBTRACK / MOVEMENT / SCENE,
  • 10 - SHOT
§target_type: Option<TargetType>

An informational string that can be used to display the logical level of the target like “ALBUM”, “TRACK”, “MOVIE”, “CHAPTER”, etc. ; see Section 6.4 of Matroska tagging RFC.

  • COLLECTION - TargetTypeValue 70,
  • EDITION - TargetTypeValue 60,
  • ISSUE - TargetTypeValue 60,
  • VOLUME - TargetTypeValue 60,
  • OPUS - TargetTypeValue 60,
  • SEASON - TargetTypeValue 60,
  • SEQUEL - TargetTypeValue 60,
  • ALBUM - TargetTypeValue 50,
  • OPERA - TargetTypeValue 50,
  • CONCERT - TargetTypeValue 50,
  • MOVIE - TargetTypeValue 50,
  • EPISODE - TargetTypeValue 50,
  • PART - TargetTypeValue 40,
  • SESSION - TargetTypeValue 40,
  • TRACK - TargetTypeValue 30,
  • SONG - TargetTypeValue 30,
  • CHAPTER - TargetTypeValue 30,
  • SUBTRACK - TargetTypeValue 20,
  • MOVEMENT - TargetTypeValue 20,
  • SCENE - TargetTypeValue 20,
  • SHOT - TargetTypeValue 10
§tag_track_uid: Vec<TagTrackUid>

A unique ID to identify the Track(s) the tags belong to. If the value is 0 at this level, the tags apply to all tracks in the Segment. If set to any other value, it MUST match the TrackUID value of a track found in this Segment.

§tag_edition_uid: Vec<TagEditionUid>

A unique ID to identify the EditionEntry(s) the tags belong to. If the value is 0 at this level, the tags apply to all editions in the Segment. If set to any other value, it MUST match the EditionUID value of an edition found in this Segment.

§tag_chapter_uid: Vec<TagChapterUid>

A unique ID to identify the Chapter(s) the tags belong to. If the value is 0 at this level, the tags apply to all chapters in the Segment. If set to any other value, it MUST match the ChapterUID value of a chapter found in this Segment.

§tag_attachment_uid: Vec<TagAttachmentUid>

A unique ID to identify the Attachment(s) the tags belong to. If the value is 0 at this level, the tags apply to all the attachments in the Segment. If set to any other value, it MUST match the FileUID value of an attachment found in this Segment.

Trait Implementations§

Source§

impl Clone for Targets

Source§

fn clone(&self) -> Targets

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 Targets

Source§

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

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

impl Default for Targets

Source§

fn default() -> Targets

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

impl Element for Targets

Source§

const ID: VInt64

EBML ID of the element.
Source§

fn decode_body(buf: &mut &[u8]) -> 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 Targets

Source§

fn eq(&self, other: &Targets) -> 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 Targets

Source§

impl StructuralPartialEq for Targets

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.