Element

Trait Element 

Source
pub trait Element: Sized {
    const ID: VInt64;
    const HAS_DEFAULT_VALUE: bool = false;

    // Required methods
    fn decode_body(buf: &mut &[u8]) -> Result<Self>;
    fn encode_body<B: BufMut>(&self, buf: &mut B) -> Result<()>;
}
Expand description

A Matroska element.

Required Associated Constants§

Source

const ID: VInt64

EBML ID of the element.

Provided Associated Constants§

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.

Required Methods§

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.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Element for AesSettingsCipherMode

Source§

impl Element for AlphaMode

Source§

impl Element for AspectRatioType

Source§

impl Element for AttachedFile

Source§

impl Element for Attachments

Source§

impl Element for Audio

Source§

impl Element for BitDepth

Source§

impl Element for BitsPerChannel

Source§

impl Element for Block

Source§

impl Element for BlockAddId

Source§

impl Element for BlockAddIdExtraData

Source§

impl Element for BlockAddIdName

Source§

impl Element for BlockAddIdType

Source§

impl Element for BlockAddIdValue

Source§

impl Element for BlockAdditionID

Source§

impl Element for BlockAdditionMapping

Source§

impl Element for BlockAdditional

Source§

impl Element for BlockAdditions

Source§

impl Element for BlockDuration

Source§

impl Element for BlockGroup

Source§

impl Element for BlockMore

Source§

impl Element for BlockVirtual

Source§

impl Element for CbSubsamplingHorz

Source§

impl Element for CbSubsamplingVert

Source§

impl Element for ChannelPositions

Source§

impl Element for Channels

Source§

impl Element for ChapCountry

Source§

impl Element for ChapLanguage

Source§

impl Element for ChapLanguageBcp47

Source§

impl Element for ChapProcess

Source§

impl Element for ChapProcessCodecId

Source§

impl Element for ChapProcessCommand

Source§

impl Element for ChapProcessData

Source§

impl Element for ChapProcessPrivate

Source§

impl Element for ChapProcessTime

Source§

impl Element for ChapString

Source§

impl Element for ChapterAtom

Source§

impl Element for ChapterDisplay

Source§

impl Element for ChapterFlagEnabled

Source§

impl Element for ChapterFlagHidden

Source§

impl Element for ChapterPhysicalEquiv

Source§

impl Element for ChapterSegmentEditionUid

Source§

impl Element for ChapterSegmentUuid

Source§

impl Element for ChapterSkipType

Source§

impl Element for ChapterStringUid

Source§

impl Element for ChapterTimeEnd

Source§

impl Element for ChapterTimeStart

Source§

impl Element for ChapterTrack

Source§

impl Element for ChapterTrackUid

Source§

impl Element for ChapterTranslate

Source§

impl Element for ChapterTranslateCodec

Source§

impl Element for ChapterTranslateEditionUid

Source§

impl Element for ChapterTranslateId

Source§

impl Element for ChapterUid

Source§

impl Element for Chapters

Source§

impl Element for ChromaSitingHorz

Source§

impl Element for ChromaSitingVert

Source§

impl Element for ChromaSubsamplingHorz

Source§

impl Element for ChromaSubsamplingVert

Source§

impl Element for Cluster

Source§

impl Element for CodecDecodeAll

Source§

impl Element for CodecDelay

Source§

impl Element for CodecDownloadURL

Source§

impl Element for CodecId

Source§

impl Element for CodecInfoURL

Source§

impl Element for CodecName

Source§

impl Element for CodecPrivate

Source§

impl Element for CodecSettings

Source§

impl Element for CodecState

Source§

impl Element for Colour

Source§

impl Element for ContentCompAlgo

Source§

impl Element for ContentCompSettings

Source§

impl Element for ContentCompression

Source§

impl Element for ContentEncAesSettings

Source§

impl Element for ContentEncAlgo

Source§

impl Element for ContentEncKeyId

Source§

impl Element for ContentEncoding

Source§

impl Element for ContentEncodingOrder

Source§

impl Element for ContentEncodingScope

Source§

impl Element for ContentEncodingType

Source§

impl Element for ContentEncodings

Source§

impl Element for ContentEncryption

Source§

impl Element for ContentSigAlgo

Source§

impl Element for ContentSigHashAlgo

Source§

impl Element for ContentSigKeyID

Source§

impl Element for ContentSignature

Source§

impl Element for Crc32

Source§

impl Element for CueBlockNumber

Source§

impl Element for CueClusterPosition

Source§

impl Element for CueCodecState

Source§

impl Element for CueDuration

Source§

impl Element for CuePoint

Source§

impl Element for CueRefCluster

Source§

impl Element for CueRefCodecState

Source§

impl Element for CueRefNumber

Source§

impl Element for CueRefTime

Source§

impl Element for CueReference

Source§

impl Element for CueRelativePosition

Source§

impl Element for CueTime

Source§

impl Element for CueTrack

Source§

impl Element for CueTrackPositions

Source§

impl Element for Cues

Source§

impl Element for DateUtc

Source§

impl Element for DefaultDecodedFieldDuration

Source§

impl Element for DefaultDuration

Source§

impl Element for Delay

Source§

impl Element for DiscardPadding

Source§

impl Element for DisplayHeight

Source§

impl Element for DisplayUnit

Source§

impl Element for DisplayWidth

Source§

impl Element for DocType

Source§

impl Element for DocTypeReadVersion

Source§

impl Element for DocTypeVersion

Source§

impl Element for Duration

Source§

impl Element for Ebml

Source§

impl Element for EbmlMaxIdLength

Source§

impl Element for EbmlMaxSizeLength

Source§

impl Element for EbmlReadVersion

Source§

impl Element for EbmlVersion

Source§

impl Element for EditionDisplay

Source§

impl Element for EditionEntry

Source§

impl Element for EditionFlagDefault

Source§

impl Element for EditionFlagHidden

Source§

impl Element for EditionFlagOrdered

Source§

impl Element for EditionLanguageIetf

Source§

impl Element for EditionString

Source§

impl Element for EditionUid

Source§

impl Element for Emphasis

Source§

impl Element for EncryptedBlock

Source§

impl Element for FieldOrder

Source§

impl Element for FileData

Source§

impl Element for FileDescription

Source§

impl Element for FileMediaType

Source§

impl Element for FileName

Source§

impl Element for FileReferral

Source§

impl Element for FileUid

Source§

impl Element for FileUsedEndTime

Source§

impl Element for FileUsedStartTime

Source§

impl Element for FlagCommentary

Source§

impl Element for FlagDefault

Source§

impl Element for FlagEnabled

Source§

impl Element for FlagForced

Source§

impl Element for FlagHearingImpaired

Source§

impl Element for FlagInterlaced

Source§

impl Element for FlagLacing

Source§

impl Element for FlagOriginal

Source§

impl Element for FlagTextDescriptions

Source§

impl Element for FlagVisualImpaired

Source§

impl Element for FrameNumber

Source§

impl Element for FrameRate

Source§

impl Element for GammaValue

Source§

impl Element for Info

Source§

impl Element for LaceNumber

Source§

impl Element for Language

Source§

impl Element for LanguageBcp47

Source§

impl Element for LuminanceMax

Source§

impl Element for LuminanceMin

Source§

impl Element for MasteringMetadata

Source§

impl Element for MatrixCoefficients

Source§

impl Element for MaxBlockAdditionId

Source§

impl Element for MaxCache

Source§

impl Element for MaxCll

Source§

impl Element for MaxFall

Source§

impl Element for MinCache

Source§

impl Element for MuxingApp

Source§

impl Element for Name

Source§

impl Element for NextFilename

Source§

impl Element for NextUuid

Source§

impl Element for OldStereoMode

Source§

impl Element for OutputSamplingFrequency

Source§

impl Element for PixelCropBottom

Source§

impl Element for PixelCropLeft

Source§

impl Element for PixelCropRight

Source§

impl Element for PixelCropTop

Source§

impl Element for PixelHeight

Source§

impl Element for PixelWidth

Source§

impl Element for Position

Source§

impl Element for PrevFilename

Source§

impl Element for PrevSize

Source§

impl Element for PrevUuid

Source§

impl Element for Primaries

Source§

impl Element for PrimaryBChromaticityX

Source§

impl Element for PrimaryBChromaticityY

Source§

impl Element for PrimaryGChromaticityX

Source§

impl Element for PrimaryGChromaticityY

Source§

impl Element for PrimaryRChromaticityX

Source§

impl Element for PrimaryRChromaticityY

Source§

impl Element for Projection

Source§

impl Element for ProjectionPosePitch

Source§

impl Element for ProjectionPoseRoll

Source§

impl Element for ProjectionPoseYaw

Source§

impl Element for ProjectionPrivate

Source§

impl Element for ProjectionType

Source§

impl Element for Range

Source§

impl Element for ReferenceBlock

Source§

impl Element for ReferenceOffset

Source§

impl Element for ReferencePriority

Source§

impl Element for ReferenceTimestamp

Source§

impl Element for ReferenceVirtual

Source§

impl Element for SamplingFrequency

Source§

impl Element for Seek

Source§

impl Element for SeekHead

Source§

impl Element for SeekId

Source§

impl Element for SeekPosition

Source§

impl Element for SeekPreRoll

Source§

impl Element for Segment

Source§

impl Element for SegmentFamily

Source§

impl Element for SegmentFilename

Source§

impl Element for SegmentUuid

Source§

impl Element for SilentTrackNumber

Source§

impl Element for SimpleBlock

Source§

impl Element for SimpleTag

Source§

impl Element for SliceDuration

Source§

impl Element for StereoMode

Source§

impl Element for Tag

Source§

impl Element for TagAttachmentUid

Source§

impl Element for TagBinary

Source§

impl Element for TagBlockAddIDValue

Source§

impl Element for TagChapterUid

Source§

impl Element for TagDefault

Source§

impl Element for TagDefaultBogus

Source§

impl Element for TagEditionUid

Source§

impl Element for TagLanguage

Source§

impl Element for TagLanguageBcp47

Source§

impl Element for TagName

Source§

impl Element for TagString

Source§

impl Element for TagTrackUid

Source§

impl Element for Tags

Source§

impl Element for TargetType

Source§

impl Element for TargetTypeValue

Source§

impl Element for Targets

Source§

impl Element for Timestamp

Source§

impl Element for TimestampScale

Source§

impl Element for Title

Source§

impl Element for TrackCombinePlanes

Source§

impl Element for TrackEntry

Source§

impl Element for TrackJoinBlocks

Source§

impl Element for TrackJoinUid

Source§

impl Element for TrackNumber

Source§

impl Element for TrackOffset

Source§

impl Element for TrackOperation

Source§

impl Element for TrackOverlay

Source§

impl Element for TrackPlane

Source§

impl Element for TrackPlaneType

Source§

impl Element for TrackPlaneUid

Source§

impl Element for TrackTimestampScale

Source§

impl Element for TrackTranslate

Source§

impl Element for TrackTranslateCodec

Source§

impl Element for TrackTranslateEditionUid

Source§

impl Element for TrackTranslateTrackId

Source§

impl Element for TrackType

Source§

impl Element for TrackUid

Source§

impl Element for Tracks

Source§

impl Element for TransferCharacteristics

Source§

impl Element for TrickMasterTrackSegmentUID

Source§

impl Element for TrickMasterTrackUID

Source§

impl Element for TrickTrackFlag

Source§

impl Element for TrickTrackSegmentUID

Source§

impl Element for TrickTrackUID

Source§

impl Element for UncompressedFourcc

Source§

impl Element for Video

Source§

impl Element for Void

Source§

impl Element for WhitePointChromaticityX

Source§

impl Element for WhitePointChromaticityY

Source§

impl Element for WritingApp