using System;
using System.Collections.Generic;
using System.CodeDom.Compiler;
using Matroska.Attributes;
//--------------------------------------------------------------------------------------------------------
//
// This C# code class was auto-generated at 06/14/2025 08:18:21.
// Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
//
// Based on "https://github.com/ietf-wg-cellar/matroska-specification/blob/master/ebml_matroska.xml".
//
//--------------------------------------------------------------------------------------------------------
namespace Matroska.Models;
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class EBML : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.DocType)]
public string DocType { get; set; } = null!;
[MatroskaElementDescriptor(MatroskaSpecification.DocTypeExtension)]
public DocTypeExtension? DocTypeExtension { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.DocTypeReadVersion)]
public ulong DocTypeReadVersion { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.DocTypeVersion)]
public ulong DocTypeVersion { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.EBMLMaxIDLength)]
public ulong EBMLMaxIDLength { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.EBMLMaxSizeLength)]
public ulong EBMLMaxSizeLength { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.EBMLReadVersion)]
public ulong EBMLReadVersion { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.EBMLVersion)]
public ulong EBMLVersion { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class DocTypeExtension : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.DocTypeExtensionName)]
public string DocTypeExtensionName { get; set; } = null!;
[MatroskaElementDescriptor(MatroskaSpecification.DocTypeExtensionVersion)]
public ulong DocTypeExtensionVersion { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Segment : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.Attachments)]
public Attachments? Attachments { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Chapters)]
public Chapters? Chapters { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Cluster, typeof(Cluster))]
public List? Clusters { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Cues)]
public Cues? Cues { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Info)]
public Info Info { get; set; } = null!;
[MatroskaElementDescriptor(MatroskaSpecification.SeekHead)]
public SeekHead? SeekHead { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Tags)]
public Tags? Tags { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Tracks)]
public Tracks? Tracks { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Attachments : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.AttachedFile, typeof(AttachedFile))]
public List AttachedFiles { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class AttachedFile : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.FileData)]
public byte[]? FileData { get; set; } = null!;
[MatroskaElementDescriptor(MatroskaSpecification.FileDescription)]
public string? FileDescription { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FileMediaType)]
public string FileMediaType { get; set; } = null!;
[MatroskaElementDescriptor(MatroskaSpecification.FileName)]
public string FileName { get; set; } = null!;
[MatroskaElementDescriptor(MatroskaSpecification.FileReferral)]
public byte[]? FileReferral { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FileUID)]
public ulong FileUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FileUsedEndTime)]
public ulong? FileUsedEndTime { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FileUsedStartTime)]
public ulong? FileUsedStartTime { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Chapters : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.EditionEntry)]
public EditionEntry EditionEntry { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class EditionEntry : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.ChapterAtom)]
public ChapterAtom ChapterAtom { get; set; } = null!;
[MatroskaElementDescriptor(MatroskaSpecification.EditionDisplay)]
public EditionDisplay? EditionDisplay { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.EditionFlagDefault)]
public ulong EditionFlagDefault { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.EditionFlagHidden)]
public ulong EditionFlagHidden { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.EditionFlagOrdered)]
public ulong EditionFlagOrdered { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.EditionUID)]
public ulong? EditionUID { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class ChapterAtom : BaseModel
{
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class ChapProcess : BaseModel
{
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class ChapProcessCommand : BaseModel
{
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class ChapterDisplay : BaseModel
{
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class ChapterTrack : BaseModel
{
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class EditionDisplay : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.EditionLanguageIETF)]
public string? EditionLanguageIETF { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.EditionString)]
public string EditionString { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Cluster : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.BlockGroup, typeof(BlockGroup))]
public List? BlockGroups { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.EncryptedBlock, typeof(EncryptedBlock))]
public List? EncryptedBlocks { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Position)]
public ulong? Position { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PrevSize)]
public ulong? PrevSize { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.SilentTracks)]
public SilentTracks? SilentTracks { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.SimpleBlock, typeof(SimpleBlock))]
public List? SimpleBlocks { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Timestamp)]
public ulong Timestamp { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class BlockGroup : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.Block, typeof(Block))]
public List Blocks { get; set; } = null!;
[MatroskaElementDescriptor(MatroskaSpecification.BlockAdditions)]
public BlockAdditions? BlockAdditions { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.BlockDuration)]
public ulong? BlockDuration { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.BlockVirtual, typeof(BlockVirtual))]
public List? BlockVirtuals { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CodecState)]
public byte[]? CodecState { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.DiscardPadding)]
public long? DiscardPadding { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ReferenceBlock)]
public long? ReferenceBlock { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ReferenceFrame)]
public ReferenceFrame? ReferenceFrame { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ReferencePriority)]
public ulong ReferencePriority { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ReferenceVirtual)]
public long? ReferenceVirtual { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Slices)]
public Slices? Slices { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class BlockAdditions : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.BlockMore)]
public BlockMore BlockMore { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class BlockMore : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.BlockAddID)]
public ulong BlockAddID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.BlockAdditional, typeof(BlockAdditional))]
public List BlockAdditionals { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class ReferenceFrame : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.ReferenceOffset)]
public ulong ReferenceOffset { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ReferenceTimestamp)]
public ulong ReferenceTimestamp { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Slices : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.TimeSlice)]
public TimeSlice? TimeSlice { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class TimeSlice : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.BlockAdditionID)]
public ulong? BlockAdditionID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Delay)]
public ulong? Delay { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FrameNumber)]
public ulong? FrameNumber { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.LaceNumber)]
public ulong? LaceNumber { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.SliceDuration)]
public ulong? SliceDuration { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class SilentTracks : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.SilentTrackNumber)]
public ulong? SilentTrackNumber { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Cues : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.CuePoint, typeof(CuePoint))]
public List CuePoints { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class CuePoint : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.CueTime)]
public ulong CueTime { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CueTrackPositions)]
public CueTrackPositions CueTrackPositions { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class CueTrackPositions : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.CueBlockNumber)]
public ulong? CueBlockNumber { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CueClusterPosition)]
public ulong CueClusterPosition { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CueCodecState)]
public ulong CueCodecState { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CueDuration)]
public ulong? CueDuration { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CueReference, typeof(CueReference))]
public List? CueReferences { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CueRelativePosition)]
public ulong? CueRelativePosition { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CueTrack)]
public ulong CueTrack { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class CueReference : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.CueRefCluster)]
public ulong CueRefCluster { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CueRefCodecState)]
public ulong? CueRefCodecState { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CueRefNumber)]
public ulong? CueRefNumber { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CueRefTime)]
public ulong CueRefTime { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Info : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.ChapterTranslate)]
public ChapterTranslate? ChapterTranslate { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.DateUTC)]
public DateTime? DateUTC { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Duration)]
public double? Duration { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.MuxingApp)]
public string MuxingApp { get; set; } = null!;
[MatroskaElementDescriptor(MatroskaSpecification.NextFilename)]
public string? NextFilename { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.NextUUID)]
public byte[]? NextUUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PrevFilename)]
public string? PrevFilename { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PrevUUID)]
public byte[]? PrevUUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.SegmentFamily)]
public byte[]? SegmentFamily { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.SegmentFilename)]
public string? SegmentFilename { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.SegmentUUID)]
public byte[]? SegmentUUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TimestampScale)]
public ulong TimestampScale { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Title)]
public string? Title { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.WritingApp)]
public string WritingApp { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class ChapterTranslate : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.ChapterTranslateCodec)]
public ulong ChapterTranslateCodec { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ChapterTranslateEditionUID)]
public ulong? ChapterTranslateEditionUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ChapterTranslateID)]
public byte[]? ChapterTranslateID { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class SeekHead : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.Seek)]
public Seek Seek { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Seek : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.SeekID)]
public byte[]? SeekID { get; set; } = null!;
[MatroskaElementDescriptor(MatroskaSpecification.SeekPosition)]
public ulong SeekPosition { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Tags : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.Tag, typeof(TagItem))]
public List TagItems { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class TagItem : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.SimpleTag, typeof(SimpleTag))]
public List SimpleTags { get; set; } = null!;
[MatroskaElementDescriptor(MatroskaSpecification.Targets)]
public Targets Targets { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Targets : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.TagAttachmentUID)]
public ulong? TagAttachmentUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TagChapterUID)]
public ulong? TagChapterUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TagEditionUID)]
public ulong? TagEditionUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TagTrackUID)]
public ulong? TagTrackUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TargetType)]
public string? TargetType { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TargetTypeValue)]
public ulong TargetTypeValue { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Tracks : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.TrackEntry, typeof(TrackEntry))]
public List TrackEntries { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class TrackEntry : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.AttachmentLink)]
public ulong? AttachmentLink { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Audio)]
public Audio? Audio { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.BlockAdditionMapping)]
public BlockAdditionMapping? BlockAdditionMapping { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CodecDecodeAll)]
public ulong CodecDecodeAll { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CodecDelay)]
public ulong CodecDelay { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CodecDownloadURL)]
public string? CodecDownloadURL { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CodecID)]
public string CodecID { get; set; } = null!;
[MatroskaElementDescriptor(MatroskaSpecification.CodecInfoURL)]
public string? CodecInfoURL { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CodecName)]
public string? CodecName { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CodecPrivate)]
public byte[]? CodecPrivate { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CodecSettings)]
public string? CodecSettings { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ContentEncodings)]
public ContentEncodings? ContentEncodings { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.DefaultDecodedFieldDuration)]
public ulong? DefaultDecodedFieldDuration { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.DefaultDuration)]
public ulong? DefaultDuration { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FlagCommentary)]
public ulong? FlagCommentary { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FlagDefault)]
public ulong FlagDefault { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FlagEnabled)]
public ulong FlagEnabled { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FlagForced)]
public ulong FlagForced { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FlagHearingImpaired)]
public ulong? FlagHearingImpaired { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FlagLacing)]
public ulong FlagLacing { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FlagOriginal)]
public ulong? FlagOriginal { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FlagTextDescriptions)]
public ulong? FlagTextDescriptions { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FlagVisualImpaired)]
public ulong? FlagVisualImpaired { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Language)]
public string Language { get; set; } = null!;
[MatroskaElementDescriptor(MatroskaSpecification.LanguageBCP47)]
public string? LanguageBCP47 { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.MaxBlockAdditionID)]
public ulong MaxBlockAdditionID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.MaxCache)]
public ulong? MaxCache { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.MinCache)]
public ulong MinCache { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Name)]
public string? Name { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.SeekPreRoll)]
public ulong SeekPreRoll { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrackNumber)]
public ulong TrackNumber { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrackOffset)]
public long? TrackOffset { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrackOperation)]
public TrackOperation? TrackOperation { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrackOverlay)]
public ulong? TrackOverlay { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrackTimestampScale)]
public double TrackTimestampScale { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrackTranslate)]
public TrackTranslate? TrackTranslate { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrackType)]
public ulong TrackType { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrackUID)]
public ulong TrackUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrickMasterTrackSegmentUID)]
public byte[]? TrickMasterTrackSegmentUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrickMasterTrackUID)]
public ulong? TrickMasterTrackUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrickTrackFlag)]
public ulong? TrickTrackFlag { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrickTrackSegmentUID)]
public byte[]? TrickTrackSegmentUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrickTrackUID)]
public ulong? TrickTrackUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Video)]
public Video? Video { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Audio : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.BitDepth)]
public ulong? BitDepth { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ChannelPositions)]
public byte[]? ChannelPositions { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Channels)]
public ulong Channels { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Emphasis)]
public ulong Emphasis { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.OutputSamplingFrequency)]
public double? OutputSamplingFrequency { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.SamplingFrequency)]
public double SamplingFrequency { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class BlockAdditionMapping : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.BlockAddIDExtraData)]
public byte[]? BlockAddIDExtraData { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.BlockAddIDName)]
public string? BlockAddIDName { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.BlockAddIDType)]
public ulong BlockAddIDType { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.BlockAddIDValue)]
public ulong? BlockAddIDValue { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class ContentEncodings : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.ContentEncoding, typeof(ContentEncodingItem))]
public List ContentEncodingItems { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class ContentEncodingItem : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.ContentCompression, typeof(ContentCompression))]
public List? ContentCompressions { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ContentEncodingOrder)]
public ulong ContentEncodingOrder { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ContentEncodingScope)]
public ulong ContentEncodingScope { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ContentEncodingType)]
public ulong ContentEncodingType { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ContentEncryption)]
public ContentEncryption? ContentEncryption { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class ContentCompression : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.ContentCompAlgo)]
public ulong ContentCompAlgo { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ContentCompSettings)]
public byte[]? ContentCompSettings { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class ContentEncryption : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.ContentEncAESSettings)]
public ContentEncAESSettings? ContentEncAESSettings { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ContentEncAlgo)]
public ulong ContentEncAlgo { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ContentEncKeyID)]
public byte[]? ContentEncKeyID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ContentSigAlgo)]
public ulong? ContentSigAlgo { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ContentSigHashAlgo)]
public ulong? ContentSigHashAlgo { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ContentSigKeyID)]
public byte[]? ContentSigKeyID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ContentSignature)]
public byte[]? ContentSignature { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class ContentEncAESSettings : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.AESSettingsCipherMode)]
public ulong AESSettingsCipherMode { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class TrackOperation : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.TrackCombinePlanes)]
public TrackCombinePlanes? TrackCombinePlanes { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrackJoinBlocks)]
public TrackJoinBlocks? TrackJoinBlocks { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class TrackCombinePlanes : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.TrackPlane)]
public TrackPlane TrackPlane { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class TrackPlane : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.TrackPlaneType)]
public ulong TrackPlaneType { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrackPlaneUID)]
public ulong TrackPlaneUID { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class TrackJoinBlocks : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.TrackJoinUID)]
public ulong TrackJoinUID { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class TrackTranslate : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.TrackTranslateCodec)]
public ulong TrackTranslateCodec { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrackTranslateEditionUID)]
public ulong? TrackTranslateEditionUID { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TrackTranslateTrackID)]
public byte[]? TrackTranslateTrackID { get; set; } = null!;
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Video : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.AlphaMode)]
public ulong AlphaMode { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.AspectRatioType)]
public ulong? AspectRatioType { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Colour)]
public Colour? Colour { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.DisplayHeight)]
public ulong? DisplayHeight { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.DisplayUnit)]
public ulong DisplayUnit { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.DisplayWidth)]
public ulong? DisplayWidth { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FieldOrder)]
public ulong FieldOrder { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FlagInterlaced)]
public ulong FlagInterlaced { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.FrameRate)]
public double? FrameRate { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.GammaValue)]
public double? GammaValue { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.OldStereoMode)]
public ulong? OldStereoMode { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PixelCropBottom)]
public ulong PixelCropBottom { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PixelCropLeft)]
public ulong PixelCropLeft { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PixelCropRight)]
public ulong PixelCropRight { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PixelCropTop)]
public ulong PixelCropTop { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PixelHeight)]
public ulong PixelHeight { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PixelWidth)]
public ulong PixelWidth { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Projection)]
public Projection? Projection { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.StereoMode)]
public ulong StereoMode { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.UncompressedFourCC)]
public byte[]? UncompressedFourCC { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Colour : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.BitsPerChannel)]
public ulong BitsPerChannel { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CbSubsamplingHorz)]
public ulong? CbSubsamplingHorz { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.CbSubsamplingVert)]
public ulong? CbSubsamplingVert { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ChromaSitingHorz)]
public ulong ChromaSitingHorz { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ChromaSitingVert)]
public ulong ChromaSitingVert { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ChromaSubsamplingHorz)]
public ulong? ChromaSubsamplingHorz { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ChromaSubsamplingVert)]
public ulong? ChromaSubsamplingVert { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.MasteringMetadata)]
public MasteringMetadata? MasteringMetadata { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.MatrixCoefficients)]
public ulong MatrixCoefficients { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.MaxCLL)]
public ulong? MaxCLL { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.MaxFALL)]
public ulong? MaxFALL { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Primaries)]
public ulong Primaries { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.Range)]
public ulong Range { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.TransferCharacteristics)]
public ulong TransferCharacteristics { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class MasteringMetadata : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.LuminanceMax)]
public double? LuminanceMax { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.LuminanceMin)]
public double? LuminanceMin { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PrimaryBChromaticityX)]
public double? PrimaryBChromaticityX { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PrimaryBChromaticityY)]
public double? PrimaryBChromaticityY { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PrimaryGChromaticityX)]
public double? PrimaryGChromaticityX { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PrimaryGChromaticityY)]
public double? PrimaryGChromaticityY { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PrimaryRChromaticityX)]
public double? PrimaryRChromaticityX { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.PrimaryRChromaticityY)]
public double? PrimaryRChromaticityY { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.WhitePointChromaticityX)]
public double? WhitePointChromaticityX { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.WhitePointChromaticityY)]
public double? WhitePointChromaticityY { get; set; }
}
[GeneratedCode("MatroskaModels.tt", "1.0.0.0")]
public sealed class Projection : BaseModel
{
[MatroskaElementDescriptor(MatroskaSpecification.ProjectionPosePitch)]
public double ProjectionPosePitch { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ProjectionPoseRoll)]
public double ProjectionPoseRoll { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ProjectionPoseYaw)]
public double ProjectionPoseYaw { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ProjectionPrivate)]
public byte[]? ProjectionPrivate { get; set; }
[MatroskaElementDescriptor(MatroskaSpecification.ProjectionType)]
public ulong ProjectionType { get; set; }
}