konoebml/src/models/enums.ts

833 lines
24 KiB
TypeScript

export enum EbmlElementType {
Master = 'm',
UnsignedInt = 'u',
Integer = 'i',
Ascii = 's',
UTF8 = '8',
Binary = 'b',
Float = 'f',
Date = 'd',
}
export enum EbmlTagPosition {
Start = 1,
Content = 2,
End = 3,
}
export enum EbmlTagIdEnum {
ChapterDisplay = 0x80,
TrackType = 0x83,
ChapString = 0x85,
CodecID = 0x86,
FlagDefault = 0x88,
ChapterTrackNumber = 0x89,
ChapterTimeStart = 0x91,
ChapterTimeEnd = 0x92,
CueRefTime = 0x96,
CueRefCluster = 0x97,
ChapterFlagHidden = 0x98,
ContentCompAlgo = 0x4254,
ContentCompSettings = 0x4255,
DocType = 0x4282,
DocTypeReadVersion = 0x4285,
EBMLVersion = 0x4286,
DocTypeVersion = 0x4287,
SegmentFamily = 0x4444,
DateUTC = 0x4461,
TagDefault = 0x4484,
TagBinary = 0x4485,
TagString = 0x4487,
Duration = 0x4489,
ChapterFlagEnabled = 0x4598,
FileMimeType = 0x4660,
FileUsedStartTime = 0x4661,
FileUsedEndTime = 0x4662,
FileReferral = 0x4675,
ContentEncodingOrder = 0x5031,
ContentEncodingScope = 0x5032,
ContentEncodingType = 0x5033,
ContentCompression = 0x5034,
ContentEncryption = 0x5035,
CueBlockNumber = 0x5378,
ChapterStringUID = 0x5654,
WritingApp = 0x5741,
SilentTracks = 0x5854,
ContentEncoding = 0x6240,
BitDepth = 0x6264,
SignedElement = 0x6532,
TrackTranslate = 0x6624,
ChapProcessCommand = 0x6911,
ChapProcessTime = 0x6922,
ChapterTranslate = 0x6924,
ChapProcessData = 0x6933,
ChapProcess = 0x6944,
ChapProcessCodecID = 0x6955,
Tag = 0x7373,
SegmentFilename = 0x7384,
AttachmentLink = 0x7446,
CodecName = 0x258688,
Segment = 0x18538067,
TagLanguage = 0x447a,
TagName = 0x45a3,
SimpleTag = 0x67c8,
TagAttachmentUID = 0x63c6,
TagChapterUID = 0x63c4,
TagEditionUID = 0x63c9,
TagTrackUID = 0x63c5,
TargetType = 0x63ca,
TargetTypeValue = 0x68ca,
Targets = 0x63c0,
Tags = 0x1254c367,
ChapProcessPrivate = 0x450d,
ChapCountry = 0x437e,
ChapLanguage = 0x437c,
ChapterTrack = 0x8f,
ChapterPhysicalEquiv = 0x63c3,
ChapterSegmentEditionUID = 0x6ebc,
ChapterSegmentUID = 0x6e67,
ChapterUID = 0x73c4,
ChapterAtom = 0xb6,
EditionFlagOrdered = 0x45dd,
EditionFlagDefault = 0x45db,
EditionFlagHidden = 0x45bd,
EditionUID = 0x45bc,
EditionEntry = 0x45b9,
Chapters = 0x1043a770,
FileUID = 0x46ae,
FileData = 0x465c,
FileName = 0x466e,
FileDescription = 0x467e,
AttachedFile = 0x61a7,
Attachments = 0x1941a469,
CueRefCodecState = 0xeb,
CueRefNumber = 0x535f,
CueReference = 0xdb,
CueCodecState = 0xea,
CueDuration = 0xb2,
CueRelativePosition = 0xf0,
CueClusterPosition = 0xf1,
CueTrack = 0xf7,
CueTrackPositions = 0xb7,
CueTime = 0xb3,
CuePoint = 0xbb,
Cues = 0x1c53bb6b,
AESSettingsCipherMode = 0x47e8,
ContentEncAESSettings = 0x47e7,
ContentSigHashAlgo = 0x47e6,
ContentSigAlgo = 0x47e5,
ContentSigKeyID = 0x47e4,
ContentSignature = 0x47e3,
ContentEncKeyID = 0x47e2,
ContentEncAlgo = 0x47e1,
ContentEncodings = 0x6d80,
TrickMasterTrackSegmentUID = 0xc4,
TrickMasterTrackUID = 0xc7,
TrickTrackFlag = 0xc6,
TrickTrackSegmentUID = 0xc1,
TrickTrackUID = 0xc0,
TrackJoinUID = 0xed,
TrackJoinBlocks = 0xe9,
TrackPlaneType = 0xe6,
TrackPlaneUID = 0xe5,
TrackPlane = 0xe4,
TrackCombinePlanes = 0xe3,
TrackOperation = 0xe2,
ChannelPositions = 0x7d7b,
Channels = 0x9f,
OutputSamplingFrequency = 0x78b5,
SamplingFrequency = 0xb5,
Audio = 0xe1,
FrameRate = 0x2383e3,
GammaValue = 0x2fb523,
ColourSpace = 0x2eb524,
AspectRatioType = 0x54b3,
DisplayUnit = 0x54b2,
DisplayHeight = 0x54ba,
DisplayWidth = 0x54b0,
PixelCropRight = 0x54dd,
PixelCropLeft = 0x54cc,
PixelCropTop = 0x54bb,
PixelCropBottom = 0x54aa,
PixelHeight = 0xba,
PixelWidth = 0xb0,
OldStereoMode = 0x53b9,
AlphaMode = 0x53c0,
StereoMode = 0x53b8,
FlagInterlaced = 0x9a,
Video = 0xe0,
TrackTranslateTrackID = 0x66a5,
TrackTranslateCodec = 0x66bf,
TrackTranslateEditionUID = 0x66fc,
SeekPreRoll = 0x56bb,
CodecDelay = 0x56aa,
TrackOverlay = 0x6fab,
CodecDecodeAll = 0xaa,
CodecDownloadURL = 0x26b240,
CodecInfoURL = 0x3b4040,
CodecSettings = 0x3a9697,
CodecPrivate = 0x63a2,
Language = 0x22b59c,
Name = 0x536e,
MaxBlockAdditionID = 0x55ee,
TrackOffset = 0x537f,
TrackTimecodeScale = 0x23314f,
DefaultDecodedFieldDuration = 0x234e7a,
DefaultDuration = 0x23e383,
MaxCache = 0x6df8,
MinCache = 0x6de7,
FlagLacing = 0x9c,
FlagForced = 0x55aa,
FlagEnabled = 0xb9,
TrackUID = 0x73c5,
TrackNumber = 0xd7,
TrackEntry = 0xae,
Tracks = 0x1654ae6b,
EncryptedBlock = 0xaf,
ReferenceTimeCode = 0xca,
ReferenceOffset = 0xc9,
ReferenceFrame = 0xc8,
SliceDuration = 0xcf,
Delay = 0xce,
BlockAdditionID = 0xcb,
FrameNumber = 0xcd,
LaceNumber = 0xcc,
TimeSlice = 0xe8,
Slices = 0x8e,
DiscardPadding = 0x75a2,
CodecState = 0xa4,
ReferenceVirtual = 0xfd,
ReferenceBlock = 0xfb,
ReferencePriority = 0xfa,
BlockDuration = 0x9b,
BlockAdditional = 0xa5,
BlockAddID = 0xee,
BlockMore = 0xa6,
BlockAdditions = 0x75a1,
BlockVirtual = 0xa2,
Block = 0xa1,
BlockGroup = 0xa0,
SimpleBlock = 0xa3,
PrevSize = 0xab,
Position = 0xa7,
SilentTrackNumber = 0x58d7,
Timecode = 0xe7,
Cluster = 0x1f43b675,
MuxingApp = 0x4d80,
Title = 0x7ba9,
TimecodeScaleDenominator = 0x2ad7b2,
TimecodeScale = 0x2ad7b1,
ChapterTranslateID = 0x69a5,
ChapterTranslateCodec = 0x69bf,
ChapterTranslateEditionUID = 0x69fc,
NextFilename = 0x3e83bb,
NextUID = 0x3eb923,
PrevFilename = 0x3c83ab,
PrevUID = 0x3cb923,
SegmentUID = 0x73a4,
Info = 0x1549a966,
SeekPosition = 0x53ac,
SeekID = 0x53ab,
Seek = 0x4dbb,
SeekHead = 0x114d9b74,
SignatureElementList = 0x7e7b,
SignatureElements = 0x7e5b,
Signature = 0x7eb5,
SignaturePublicKey = 0x7ea5,
SignatureHash = 0x7e9a,
SignatureAlgo = 0x7e8a,
SignatureSlot = 0x1b538667,
CRC32 = 0xbf,
Void = 0xec,
EBMLMaxSizeLength = 0x42f3,
EBMLMaxIDLength = 0x42f2,
EBMLReadVersion = 0x42f7,
EBML = 0x1a45dfa3,
}
export type EbmlMasterTagIdType =
| EbmlTagIdEnum.ChapterDisplay
| EbmlTagIdEnum.ContentCompression
| EbmlTagIdEnum.ContentEncryption
| EbmlTagIdEnum.SilentTracks
| EbmlTagIdEnum.ContentEncoding
| EbmlTagIdEnum.TrackTranslate
| EbmlTagIdEnum.ChapProcessCommand
| EbmlTagIdEnum.ChapterTranslate
| EbmlTagIdEnum.ChapProcess
| EbmlTagIdEnum.Tag
| EbmlTagIdEnum.Segment
| EbmlTagIdEnum.SimpleTag
| EbmlTagIdEnum.Targets
| EbmlTagIdEnum.Tags
| EbmlTagIdEnum.ChapterTrack
| EbmlTagIdEnum.ChapterAtom
| EbmlTagIdEnum.EditionEntry
| EbmlTagIdEnum.Chapters
| EbmlTagIdEnum.AttachedFile
| EbmlTagIdEnum.Attachments
| EbmlTagIdEnum.CueReference
| EbmlTagIdEnum.CueTrackPositions
| EbmlTagIdEnum.CuePoint
| EbmlTagIdEnum.Cues
| EbmlTagIdEnum.ContentEncAESSettings
| EbmlTagIdEnum.ContentEncodings
| EbmlTagIdEnum.TrackJoinBlocks
| EbmlTagIdEnum.TrackPlane
| EbmlTagIdEnum.TrackCombinePlanes
| EbmlTagIdEnum.TrackOperation
| EbmlTagIdEnum.Audio
| EbmlTagIdEnum.Video
| EbmlTagIdEnum.TrackEntry
| EbmlTagIdEnum.Tracks
| EbmlTagIdEnum.ReferenceFrame
| EbmlTagIdEnum.TimeSlice
| EbmlTagIdEnum.Slices
| EbmlTagIdEnum.BlockMore
| EbmlTagIdEnum.BlockAdditions
| EbmlTagIdEnum.BlockGroup
| EbmlTagIdEnum.Cluster
| EbmlTagIdEnum.Info
| EbmlTagIdEnum.Seek
| EbmlTagIdEnum.SeekHead
| EbmlTagIdEnum.SignatureElementList
| EbmlTagIdEnum.SignatureElements
| EbmlTagIdEnum.SignatureSlot
| EbmlTagIdEnum.EBML;
export type EbmlBlockTagIdType = EbmlTagIdEnum.Block;
export type EbmlSimpleBlockTagIdType = EbmlTagIdEnum.SimpleBlock;
export type EbmlUintDataTagIdType =
| EbmlTagIdEnum.TrackType
| EbmlTagIdEnum.FlagDefault
| EbmlTagIdEnum.ChapterTrackNumber
| EbmlTagIdEnum.ChapterTimeStart
| EbmlTagIdEnum.ChapterTimeEnd
| EbmlTagIdEnum.CueRefTime
| EbmlTagIdEnum.CueRefCluster
| EbmlTagIdEnum.ChapterFlagHidden
| EbmlTagIdEnum.ContentCompAlgo
| EbmlTagIdEnum.DocTypeReadVersion
| EbmlTagIdEnum.EBMLVersion
| EbmlTagIdEnum.DocTypeVersion
| EbmlTagIdEnum.TagDefault
| EbmlTagIdEnum.ChapterFlagEnabled
| EbmlTagIdEnum.FileUsedStartTime
| EbmlTagIdEnum.FileUsedEndTime
| EbmlTagIdEnum.ContentEncodingOrder
| EbmlTagIdEnum.ContentEncodingScope
| EbmlTagIdEnum.ContentEncodingType
| EbmlTagIdEnum.CueBlockNumber
| EbmlTagIdEnum.BitDepth
| EbmlTagIdEnum.ChapProcessTime
| EbmlTagIdEnum.ChapProcessCodecID
| EbmlTagIdEnum.AttachmentLink
| EbmlTagIdEnum.TagAttachmentUID
| EbmlTagIdEnum.TagChapterUID
| EbmlTagIdEnum.TagEditionUID
| EbmlTagIdEnum.TagTrackUID
| EbmlTagIdEnum.TargetTypeValue
| EbmlTagIdEnum.ChapterPhysicalEquiv
| EbmlTagIdEnum.ChapterSegmentEditionUID
| EbmlTagIdEnum.ChapterUID
| EbmlTagIdEnum.EditionFlagOrdered
| EbmlTagIdEnum.EditionFlagDefault
| EbmlTagIdEnum.EditionFlagHidden
| EbmlTagIdEnum.EditionUID
| EbmlTagIdEnum.FileUID
| EbmlTagIdEnum.CueRefCodecState
| EbmlTagIdEnum.CueRefNumber
| EbmlTagIdEnum.CueCodecState
| EbmlTagIdEnum.CueDuration
| EbmlTagIdEnum.CueRelativePosition
| EbmlTagIdEnum.CueClusterPosition
| EbmlTagIdEnum.CueTrack
| EbmlTagIdEnum.CueTime
| EbmlTagIdEnum.AESSettingsCipherMode
| EbmlTagIdEnum.ContentSigHashAlgo
| EbmlTagIdEnum.ContentSigAlgo
| EbmlTagIdEnum.ContentEncAlgo
| EbmlTagIdEnum.TrickMasterTrackUID
| EbmlTagIdEnum.TrickTrackFlag
| EbmlTagIdEnum.TrickTrackUID
| EbmlTagIdEnum.TrackJoinUID
| EbmlTagIdEnum.TrackPlaneType
| EbmlTagIdEnum.TrackPlaneUID
| EbmlTagIdEnum.Channels
| EbmlTagIdEnum.AspectRatioType
| EbmlTagIdEnum.DisplayUnit
| EbmlTagIdEnum.DisplayHeight
| EbmlTagIdEnum.DisplayWidth
| EbmlTagIdEnum.PixelCropRight
| EbmlTagIdEnum.PixelCropLeft
| EbmlTagIdEnum.PixelCropTop
| EbmlTagIdEnum.PixelCropBottom
| EbmlTagIdEnum.PixelHeight
| EbmlTagIdEnum.PixelWidth
| EbmlTagIdEnum.OldStereoMode
| EbmlTagIdEnum.AlphaMode
| EbmlTagIdEnum.StereoMode
| EbmlTagIdEnum.FlagInterlaced
| EbmlTagIdEnum.TrackTranslateCodec
| EbmlTagIdEnum.TrackTranslateEditionUID
| EbmlTagIdEnum.SeekPreRoll
| EbmlTagIdEnum.CodecDelay
| EbmlTagIdEnum.TrackOverlay
| EbmlTagIdEnum.CodecDecodeAll
| EbmlTagIdEnum.MaxBlockAdditionID
| EbmlTagIdEnum.DefaultDecodedFieldDuration
| EbmlTagIdEnum.DefaultDuration
| EbmlTagIdEnum.MaxCache
| EbmlTagIdEnum.MinCache
| EbmlTagIdEnum.FlagLacing
| EbmlTagIdEnum.FlagForced
| EbmlTagIdEnum.FlagEnabled
| EbmlTagIdEnum.TrackUID
| EbmlTagIdEnum.TrackNumber
| EbmlTagIdEnum.ReferenceTimeCode
| EbmlTagIdEnum.ReferenceOffset
| EbmlTagIdEnum.SliceDuration
| EbmlTagIdEnum.Delay
| EbmlTagIdEnum.BlockAdditionID
| EbmlTagIdEnum.FrameNumber
| EbmlTagIdEnum.LaceNumber
| EbmlTagIdEnum.ReferencePriority
| EbmlTagIdEnum.BlockDuration
| EbmlTagIdEnum.BlockAddID
| EbmlTagIdEnum.PrevSize
| EbmlTagIdEnum.Position
| EbmlTagIdEnum.SilentTrackNumber
| EbmlTagIdEnum.Timecode
| EbmlTagIdEnum.TimecodeScaleDenominator
| EbmlTagIdEnum.TimecodeScale
| EbmlTagIdEnum.ChapterTranslateCodec
| EbmlTagIdEnum.ChapterTranslateEditionUID
| EbmlTagIdEnum.SeekPosition
| EbmlTagIdEnum.SignatureHash
| EbmlTagIdEnum.SignatureAlgo
| EbmlTagIdEnum.EBMLMaxSizeLength
| EbmlTagIdEnum.EBMLMaxIDLength
| EbmlTagIdEnum.EBMLReadVersion;
export type EbmlIntDataTagIdType =
| EbmlTagIdEnum.TrackOffset
| EbmlTagIdEnum.DiscardPadding
| EbmlTagIdEnum.ReferenceVirtual
| EbmlTagIdEnum.ReferenceBlock;
export type EbmlAsciiDataTagIdType =
| EbmlTagIdEnum.CodecID
| EbmlTagIdEnum.DocType
| EbmlTagIdEnum.FileMimeType
| EbmlTagIdEnum.TagLanguage
| EbmlTagIdEnum.TargetType
| EbmlTagIdEnum.ChapCountry
| EbmlTagIdEnum.ChapLanguage
| EbmlTagIdEnum.CodecDownloadURL
| EbmlTagIdEnum.CodecInfoURL
| EbmlTagIdEnum.Language;
export type EbmlUtf8DataTagIdType =
| EbmlTagIdEnum.ChapString
| EbmlTagIdEnum.TagString
| EbmlTagIdEnum.ChapterStringUID
| EbmlTagIdEnum.WritingApp
| EbmlTagIdEnum.SegmentFilename
| EbmlTagIdEnum.CodecName
| EbmlTagIdEnum.TagName
| EbmlTagIdEnum.FileName
| EbmlTagIdEnum.FileDescription
| EbmlTagIdEnum.CodecSettings
| EbmlTagIdEnum.Name
| EbmlTagIdEnum.MuxingApp
| EbmlTagIdEnum.Title
| EbmlTagIdEnum.NextFilename
| EbmlTagIdEnum.PrevFilename;
export type EbmlFloatDataTagIdType =
| EbmlTagIdEnum.Duration
| EbmlTagIdEnum.OutputSamplingFrequency
| EbmlTagIdEnum.SamplingFrequency
| EbmlTagIdEnum.FrameRate
| EbmlTagIdEnum.GammaValue
| EbmlTagIdEnum.TrackTimecodeScale;
export type EbmlDateDataTagIdType = EbmlTagIdEnum.DateUTC;
export type EbmlBinaryDataTagIdType =
| EbmlTagIdEnum.ContentCompSettings
| EbmlTagIdEnum.SegmentFamily
| EbmlTagIdEnum.TagBinary
| EbmlTagIdEnum.FileReferral
| EbmlTagIdEnum.SignedElement
| EbmlTagIdEnum.ChapProcessData
| EbmlTagIdEnum.ChapProcessPrivate
| EbmlTagIdEnum.ChapterSegmentUID
| EbmlTagIdEnum.FileData
| EbmlTagIdEnum.ContentSigKeyID
| EbmlTagIdEnum.ContentSignature
| EbmlTagIdEnum.ContentEncKeyID
| EbmlTagIdEnum.TrickMasterTrackSegmentUID
| EbmlTagIdEnum.TrickTrackSegmentUID
| EbmlTagIdEnum.ChannelPositions
| EbmlTagIdEnum.ColourSpace
| EbmlTagIdEnum.TrackTranslateTrackID
| EbmlTagIdEnum.CodecPrivate
| EbmlTagIdEnum.EncryptedBlock
| EbmlTagIdEnum.CodecState
| EbmlTagIdEnum.BlockAdditional
| EbmlTagIdEnum.BlockVirtual
| EbmlTagIdEnum.ChapterTranslateID
| EbmlTagIdEnum.NextUID
| EbmlTagIdEnum.PrevUID
| EbmlTagIdEnum.SegmentUID
| EbmlTagIdEnum.SeekID
| EbmlTagIdEnum.Signature
| EbmlTagIdEnum.SignaturePublicKey
| EbmlTagIdEnum.CRC32
| EbmlTagIdEnum.Void;
export type EbmlUnknownTagIdType = number | bigint;
export type EbmlDataTagIdType =
| EbmlBinaryDataTagIdType
| EbmlIntDataTagIdType
| EbmlUintDataTagIdType
| EbmlDateDataTagIdType
| EbmlFloatDataTagIdType
| EbmlAsciiDataTagIdType
| EbmlUtf8DataTagIdType;
export type EbmlTagIdType =
| EbmlMasterTagIdType
| EbmlBlockTagIdType
| EbmlSimpleBlockTagIdType
| EbmlDataTagIdType
| EbmlUnknownTagIdType;
export function isEbmlMasterTagId(
tagId: EbmlTagIdType
): tagId is EbmlMasterTagIdType {
switch (tagId) {
case EbmlTagIdEnum.ChapterDisplay:
case EbmlTagIdEnum.ContentCompression:
case EbmlTagIdEnum.ContentEncryption:
case EbmlTagIdEnum.SilentTracks:
case EbmlTagIdEnum.ContentEncoding:
case EbmlTagIdEnum.TrackTranslate:
case EbmlTagIdEnum.ChapProcessCommand:
case EbmlTagIdEnum.ChapterTranslate:
case EbmlTagIdEnum.ChapProcess:
case EbmlTagIdEnum.Tag:
case EbmlTagIdEnum.Segment:
case EbmlTagIdEnum.SimpleTag:
case EbmlTagIdEnum.Targets:
case EbmlTagIdEnum.Tags:
case EbmlTagIdEnum.ChapterTrack:
case EbmlTagIdEnum.ChapterAtom:
case EbmlTagIdEnum.EditionEntry:
case EbmlTagIdEnum.Chapters:
case EbmlTagIdEnum.AttachedFile:
case EbmlTagIdEnum.Attachments:
case EbmlTagIdEnum.CueReference:
case EbmlTagIdEnum.CueTrackPositions:
case EbmlTagIdEnum.CuePoint:
case EbmlTagIdEnum.Cues:
case EbmlTagIdEnum.ContentEncAESSettings:
case EbmlTagIdEnum.ContentEncodings:
case EbmlTagIdEnum.TrackJoinBlocks:
case EbmlTagIdEnum.TrackPlane:
case EbmlTagIdEnum.TrackCombinePlanes:
case EbmlTagIdEnum.TrackOperation:
case EbmlTagIdEnum.Audio:
case EbmlTagIdEnum.Video:
case EbmlTagIdEnum.TrackEntry:
case EbmlTagIdEnum.Tracks:
case EbmlTagIdEnum.ReferenceFrame:
case EbmlTagIdEnum.TimeSlice:
case EbmlTagIdEnum.Slices:
case EbmlTagIdEnum.BlockMore:
case EbmlTagIdEnum.BlockAdditions:
case EbmlTagIdEnum.BlockGroup:
case EbmlTagIdEnum.Cluster:
case EbmlTagIdEnum.Info:
case EbmlTagIdEnum.Seek:
case EbmlTagIdEnum.SeekHead:
case EbmlTagIdEnum.SignatureElementList:
case EbmlTagIdEnum.SignatureElements:
case EbmlTagIdEnum.SignatureSlot:
case EbmlTagIdEnum.EBML:
return true;
default:
return false;
}
}
export function isEbmlBlockTagId(
tagId: EbmlTagIdType
): tagId is EbmlBlockTagIdType {
return tagId === EbmlTagIdEnum.Block;
}
export function isEbmlSimpleBlockTagId(
tagId: EbmlTagIdType
): tagId is EbmlSimpleBlockTagIdType {
return tagId === EbmlTagIdEnum.SimpleBlock;
}
export function isEbmlUintDataTagId(
tagId: EbmlTagIdType
): tagId is EbmlUintDataTagIdType {
switch (tagId) {
case EbmlTagIdEnum.TrackType:
case EbmlTagIdEnum.FlagDefault:
case EbmlTagIdEnum.ChapterTrackNumber:
case EbmlTagIdEnum.ChapterTimeStart:
case EbmlTagIdEnum.ChapterTimeEnd:
case EbmlTagIdEnum.CueRefTime:
case EbmlTagIdEnum.CueRefCluster:
case EbmlTagIdEnum.ChapterFlagHidden:
case EbmlTagIdEnum.ContentCompAlgo:
case EbmlTagIdEnum.DocTypeReadVersion:
case EbmlTagIdEnum.EBMLVersion:
case EbmlTagIdEnum.DocTypeVersion:
case EbmlTagIdEnum.TagDefault:
case EbmlTagIdEnum.ChapterFlagEnabled:
case EbmlTagIdEnum.FileUsedStartTime:
case EbmlTagIdEnum.FileUsedEndTime:
case EbmlTagIdEnum.ContentEncodingOrder:
case EbmlTagIdEnum.ContentEncodingScope:
case EbmlTagIdEnum.ContentEncodingType:
case EbmlTagIdEnum.CueBlockNumber:
case EbmlTagIdEnum.BitDepth:
case EbmlTagIdEnum.ChapProcessTime:
case EbmlTagIdEnum.ChapProcessCodecID:
case EbmlTagIdEnum.AttachmentLink:
case EbmlTagIdEnum.TagAttachmentUID:
case EbmlTagIdEnum.TagChapterUID:
case EbmlTagIdEnum.TagEditionUID:
case EbmlTagIdEnum.TagTrackUID:
case EbmlTagIdEnum.TargetTypeValue:
case EbmlTagIdEnum.ChapterPhysicalEquiv:
case EbmlTagIdEnum.ChapterSegmentEditionUID:
case EbmlTagIdEnum.ChapterUID:
case EbmlTagIdEnum.EditionFlagOrdered:
case EbmlTagIdEnum.EditionFlagDefault:
case EbmlTagIdEnum.EditionFlagHidden:
case EbmlTagIdEnum.EditionUID:
case EbmlTagIdEnum.FileUID:
case EbmlTagIdEnum.CueRefCodecState:
case EbmlTagIdEnum.CueRefNumber:
case EbmlTagIdEnum.CueCodecState:
case EbmlTagIdEnum.CueDuration:
case EbmlTagIdEnum.CueRelativePosition:
case EbmlTagIdEnum.CueClusterPosition:
case EbmlTagIdEnum.CueTrack:
case EbmlTagIdEnum.CueTime:
case EbmlTagIdEnum.AESSettingsCipherMode:
case EbmlTagIdEnum.ContentSigHashAlgo:
case EbmlTagIdEnum.ContentSigAlgo:
case EbmlTagIdEnum.ContentEncAlgo:
case EbmlTagIdEnum.TrickMasterTrackUID:
case EbmlTagIdEnum.TrickTrackFlag:
case EbmlTagIdEnum.TrickTrackUID:
case EbmlTagIdEnum.TrackJoinUID:
case EbmlTagIdEnum.TrackPlaneType:
case EbmlTagIdEnum.TrackPlaneUID:
case EbmlTagIdEnum.Channels:
case EbmlTagIdEnum.AspectRatioType:
case EbmlTagIdEnum.DisplayUnit:
case EbmlTagIdEnum.DisplayHeight:
case EbmlTagIdEnum.DisplayWidth:
case EbmlTagIdEnum.PixelCropRight:
case EbmlTagIdEnum.PixelCropLeft:
case EbmlTagIdEnum.PixelCropTop:
case EbmlTagIdEnum.PixelCropBottom:
case EbmlTagIdEnum.PixelHeight:
case EbmlTagIdEnum.PixelWidth:
case EbmlTagIdEnum.OldStereoMode:
case EbmlTagIdEnum.AlphaMode:
case EbmlTagIdEnum.StereoMode:
case EbmlTagIdEnum.FlagInterlaced:
case EbmlTagIdEnum.TrackTranslateCodec:
case EbmlTagIdEnum.TrackTranslateEditionUID:
case EbmlTagIdEnum.SeekPreRoll:
case EbmlTagIdEnum.CodecDelay:
case EbmlTagIdEnum.TrackOverlay:
case EbmlTagIdEnum.CodecDecodeAll:
case EbmlTagIdEnum.MaxBlockAdditionID:
case EbmlTagIdEnum.DefaultDecodedFieldDuration:
case EbmlTagIdEnum.DefaultDuration:
case EbmlTagIdEnum.MaxCache:
case EbmlTagIdEnum.MinCache:
case EbmlTagIdEnum.FlagLacing:
case EbmlTagIdEnum.FlagForced:
case EbmlTagIdEnum.FlagEnabled:
case EbmlTagIdEnum.TrackUID:
case EbmlTagIdEnum.TrackNumber:
case EbmlTagIdEnum.ReferenceTimeCode:
case EbmlTagIdEnum.ReferenceOffset:
case EbmlTagIdEnum.SliceDuration:
case EbmlTagIdEnum.Delay:
case EbmlTagIdEnum.BlockAdditionID:
case EbmlTagIdEnum.FrameNumber:
case EbmlTagIdEnum.LaceNumber:
case EbmlTagIdEnum.ReferencePriority:
case EbmlTagIdEnum.BlockDuration:
case EbmlTagIdEnum.BlockAddID:
case EbmlTagIdEnum.PrevSize:
case EbmlTagIdEnum.Position:
case EbmlTagIdEnum.SilentTrackNumber:
case EbmlTagIdEnum.Timecode:
case EbmlTagIdEnum.TimecodeScaleDenominator:
case EbmlTagIdEnum.TimecodeScale:
case EbmlTagIdEnum.ChapterTranslateCodec:
case EbmlTagIdEnum.ChapterTranslateEditionUID:
case EbmlTagIdEnum.SeekPosition:
case EbmlTagIdEnum.SignatureHash:
case EbmlTagIdEnum.SignatureAlgo:
case EbmlTagIdEnum.EBMLMaxSizeLength:
case EbmlTagIdEnum.EBMLMaxIDLength:
case EbmlTagIdEnum.EBMLReadVersion:
return true;
default:
return false;
}
}
export function isEbmlIntDataTagId(
tagId: EbmlTagIdType
): tagId is EbmlIntDataTagIdType {
switch (tagId) {
case EbmlTagIdEnum.TrackOffset:
case EbmlTagIdEnum.DiscardPadding:
case EbmlTagIdEnum.ReferenceVirtual:
case EbmlTagIdEnum.ReferenceBlock:
return true;
default:
return false;
}
}
export function isEbmlFloatDataTagId(
tagId: EbmlTagIdType
): tagId is EbmlFloatDataTagIdType {
switch (tagId) {
case EbmlTagIdEnum.Duration:
case EbmlTagIdEnum.OutputSamplingFrequency:
case EbmlTagIdEnum.SamplingFrequency:
case EbmlTagIdEnum.FrameRate:
case EbmlTagIdEnum.GammaValue:
case EbmlTagIdEnum.TrackTimecodeScale:
return true;
default:
return false;
}
}
export function isEbmlStringDataTagId(
tagId: EbmlTagIdType
): tagId is EbmlAsciiDataTagIdType {
switch (tagId) {
case EbmlTagIdEnum.CodecID:
case EbmlTagIdEnum.DocType:
case EbmlTagIdEnum.FileMimeType:
case EbmlTagIdEnum.TagLanguage:
case EbmlTagIdEnum.TargetType:
case EbmlTagIdEnum.ChapCountry:
case EbmlTagIdEnum.ChapLanguage:
case EbmlTagIdEnum.CodecDownloadURL:
case EbmlTagIdEnum.CodecInfoURL:
case EbmlTagIdEnum.Language:
return true;
default:
return false;
}
}
export function isEbmlUtf8DataTagId(
tagId: EbmlTagIdType
): tagId is EbmlUtf8DataTagIdType {
switch (tagId) {
case EbmlTagIdEnum.ChapString:
case EbmlTagIdEnum.TagString:
case EbmlTagIdEnum.ChapterStringUID:
case EbmlTagIdEnum.WritingApp:
case EbmlTagIdEnum.SegmentFilename:
case EbmlTagIdEnum.CodecName:
case EbmlTagIdEnum.TagName:
case EbmlTagIdEnum.FileName:
case EbmlTagIdEnum.FileDescription:
case EbmlTagIdEnum.CodecSettings:
case EbmlTagIdEnum.Name:
case EbmlTagIdEnum.MuxingApp:
case EbmlTagIdEnum.Title:
case EbmlTagIdEnum.NextFilename:
case EbmlTagIdEnum.PrevFilename:
return true;
default:
return false;
}
}
export function isEbmlDateDataTagId(
tagId: EbmlTagIdType
): tagId is EbmlDateDataTagIdType {
return tagId === EbmlTagIdEnum.DateUTC;
}
export function isEbmlBinaryDataTagId(
tagId: EbmlTagIdType
): tagId is EbmlBinaryDataTagIdType {
switch (tagId) {
case EbmlTagIdEnum.ContentCompSettings:
case EbmlTagIdEnum.SegmentFamily:
case EbmlTagIdEnum.TagBinary:
case EbmlTagIdEnum.FileReferral:
case EbmlTagIdEnum.SignedElement:
case EbmlTagIdEnum.ChapProcessData:
case EbmlTagIdEnum.ChapProcessPrivate:
case EbmlTagIdEnum.ChapterSegmentUID:
case EbmlTagIdEnum.FileData:
case EbmlTagIdEnum.ContentSigKeyID:
case EbmlTagIdEnum.ContentSignature:
case EbmlTagIdEnum.ContentEncKeyID:
case EbmlTagIdEnum.TrickMasterTrackSegmentUID:
case EbmlTagIdEnum.TrickTrackSegmentUID:
case EbmlTagIdEnum.ChannelPositions:
case EbmlTagIdEnum.ColourSpace:
case EbmlTagIdEnum.TrackTranslateTrackID:
case EbmlTagIdEnum.CodecPrivate:
case EbmlTagIdEnum.EncryptedBlock:
case EbmlTagIdEnum.CodecState:
case EbmlTagIdEnum.BlockAdditional:
case EbmlTagIdEnum.BlockVirtual:
case EbmlTagIdEnum.ChapterTranslateID:
case EbmlTagIdEnum.NextUID:
case EbmlTagIdEnum.PrevUID:
case EbmlTagIdEnum.SegmentUID:
case EbmlTagIdEnum.SeekID:
case EbmlTagIdEnum.Signature:
case EbmlTagIdEnum.SignaturePublicKey:
case EbmlTagIdEnum.CRC32:
case EbmlTagIdEnum.Void:
return true;
default:
return false;
}
}
export function isUnknownTagId(
tagId: EbmlDataTagIdType
): tagId is Exclude<EbmlDataTagIdType, EbmlTagIdEnum> {
return !(tagId in EbmlTagIdEnum);
}
export enum EbmlBlockLacing {
None = 1,
Xiph = 2,
EBML = 3,
FixedSize = 4,
}