import { ValueOf } from "@svta/cml-utils"; //#region src/boxes/AdditionalMetadataContainerBox.d.ts /** * Child boxes of Additional Metadata Container Box * * @public */ type AdditionalMetadataContainerBoxChild = any; /** * Additional Metadata Container Box - 'meco' - Container - 8.11.7.1 * * @public */ type AdditionalMetadataContainerBox = { type: "meco"; boxes: AdditionalMetadataContainerBoxChild[]; }; //#endregion //#region src/boxes/FullBox.d.ts /** * Full Box Type (has version and flags) * * @public */ type FullBox = { version: number; flags: number; }; //#endregion //#region src/boxes/AudioRenderingIndicationBox.d.ts /** * ISO/IEC 14496-12:202x - 12.2.8 Audio rendering indication box * * @public */ type AudioRenderingIndicationBox = FullBox & { type: "ardi"; audioRenderingIndication: number; }; //#endregion //#region src/IsoBoxType.d.ts /** * Iso Box Type * * @public */ type IsoBoxType = `${string}${string}${string}${string}`; //#endregion //#region src/boxes/AudioSampleEntryType.d.ts /** * The type of audio sample entry box. * * @public */ type AudioSampleEntryType = "mp4a" | "enca"; //#endregion //#region src/boxes/SampleEntryBox.d.ts /** * ISO/IEC 14496-12:2015 - 8.5.2.2 Sample Entry * * @public */ type SampleEntryBox = { type: T$1; reserved1: number[]; dataReferenceIndex: number; boxes: C[]; }; //#endregion //#region src/boxes/AudioSampleEntryBox.d.ts /** * Child boxes of AudioSampleEntryBox * * @public */ type AudioSampleEntryBoxChild = any; /** * ISO/IEC 14496-12:2012 - 8.5.2.2 mp4a box (use AudioSampleEntry definition and naming) * * @public */ type AudioSampleEntryBox = SampleEntryBox & { type: T$1; reserved2: number[]; channelcount: number; samplesize: number; preDefined: number; reserved3: number; samplerate: number; boxes: AudioSampleEntryBoxChild[]; }; //#endregion //#region src/boxes/Box.d.ts /** * Base Box Type * * @public */ type Box = { type: T$1; }; //#endregion //#region src/boxes/ChunkLargeOffsetBox.d.ts /** * Chunk Large Offset Box - 'co64' * * @public */ type ChunkLargeOffsetBox = FullBox & { type: "co64"; entryCount: number; chunkOffset: number[]; }; /** * @public */ type co64 = ChunkLargeOffsetBox; //#endregion //#region src/boxes/ChunkOffsetBox.d.ts /** * Chunk Offset Box - 'stco' * * * @public */ type ChunkOffsetBox = FullBox & { type: "stco"; entryCount: number; chunkOffset: number[]; }; //#endregion //#region src/boxes/CompactSampleSizeBox.d.ts /** * Compact Sample Size Box - 'stz2' * * @public */ type CompactSampleSizeBox = FullBox & { type: "stz2"; fieldSize: number; sampleCount: number; entrySize: number[]; }; /** * @public */ type stz2 = CompactSampleSizeBox; //#endregion //#region src/boxes/CompositionTimeToSampleEntry.d.ts /** * A Composition Time To Sample Entry * * @public */ type CompositionTimeToSampleEntry = { sampleCount: number; sampleOffset: number; }; //#endregion //#region src/boxes/CompositionTimeToSampleBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.6.1.3 Composition Time To Sample Box * * @public */ type CompositionTimeToSampleBox = FullBox & { type: "ctts"; entryCount: number; entries: CompositionTimeToSampleEntry[]; }; //#endregion //#region src/boxes/DataEntryUrlBox.d.ts /** * Data Entry Url Box - 'url ' * * @public */ type DataEntryUrlBox = FullBox & { type: "url "; location: string; }; /** * @public */ type url = DataEntryUrlBox; //#endregion //#region src/boxes/DataEntryUrnBox.d.ts /** * Data Entry Urn Box - 'urn ' * * @public */ type DataEntryUrnBox = FullBox & { type: "urn "; name: string; location: string; }; /** * @public */ type urn = DataEntryUrnBox; //#endregion //#region src/boxes/DataReferenceBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.7.2 Data Reference Box * * @public */ type DataReferenceBox = FullBox & { type: "dref"; entryCount: number; entries: (DataEntryUrlBox | DataEntryUrnBox)[]; }; //#endregion //#region src/boxes/DataInformationBox.d.ts /** * Child boxes of Data Information Box * * @public */ type DataInformationBoxChild = DataReferenceBox; /** * Data Information Box - 'dinf' - Container * * @public */ type DataInformationBox = { type: "dinf"; boxes: DataInformationBoxChild[]; }; //#endregion //#region src/boxes/DecodingTimeSample.d.ts /** * Decoding time sample * * @public */ type DecodingTimeSample = { /** A 32-bit integer that specifies the number of consecutive samples that have the same decoding time delta. */ sampleCount: number; /** A 32-bit integer that specifies the delta of the decoding time of each sample in the table. */ sampleDelta: number; }; //#endregion //#region src/boxes/DecodingTimeToSampleBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.6.1.2 Decoding Time To Sample Box * * @public */ type DecodingTimeToSampleBox = FullBox & { type: "stts"; /** A 32-bit integer that specifies the number of entries in the decoding time-to-sample table. */ entryCount: number; /** An array of decoding time-to-sample entries. */ entries: DecodingTimeSample[]; }; //#endregion //#region src/boxes/DegradationPriorityBox.d.ts /** * Degradation Priority Box - 'stdp' * * @public */ type DegradationPriorityBox = FullBox & { type: "stdp"; priority: number[]; }; //#endregion //#region src/boxes/EditListEntry.d.ts /** * An edit list entry. * * @public */ type EditListEntry = { segmentDuration: number; mediaTime: number; mediaRateInteger: number; mediaRateFraction: number; }; //#endregion //#region src/boxes/EditListBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.6.6 Edit List Box * * @public */ type EditListBox = FullBox & { type: "elst"; entryCount: number; entries: EditListEntry[]; }; //#endregion //#region src/boxes/EditBox.d.ts /** * Child boxes of Edit Box * * @public */ type EditBoxChild = EditListBox; /** * Edit Box - 'edts' - Container * * @public */ type EditBox = { type: "edts"; boxes: EditBoxChild[]; }; //#endregion //#region src/boxes/SubsampleEncryption.d.ts /** * Subsample Encryption * * @public */ type SubsampleEncryption = { bytesOfClearData: number; bytesOfProtectedData: number; }; //#endregion //#region src/boxes/EncryptedSample.d.ts /** * Encrypted Sample * * @public */ type EncryptedSample = { initializationVector?: Uint8Array; subsampleEncryption?: SubsampleEncryption[]; }; //#endregion //#region src/boxes/Entity.d.ts /** * Entity * * @public */ type Entity = { /** Entity ID */ entityId: number; }; //#endregion //#region src/boxes/EventMessageBox.d.ts /** * Common fields shared by all EMSG box versions (ISO/IEC 23009-1:2014 - 5.10.3.3). * * @public */ type EventMessageBoxBase = FullBox & { type: "emsg"; schemeIdUri: string; value: string; timescale: number; eventDuration: number; id: number; messageData: Uint8Array; }; /** * A parsed EMSG (Event Message) box, version 0 (ISO/IEC 23009-1:2014 - 5.10.3.3). * * @public */ type EventMessageBoxV0 = EventMessageBoxBase & { version: 0; presentationTimeDelta: number; }; /** * A parsed EMSG (Event Message) box, version 1 (ISO/IEC 23009-1:2014 - 5.10.3.3). * * Version 1 uses a 64-bit absolute presentation time instead of a delta. * * @public */ type EventMessageBoxV1 = EventMessageBoxBase & { version: 1; presentationTime: number; }; /** * ISO/IEC 23009-1:2014 - 5.10.3.3 Event Message Box * * Use the `version` discriminant to access version-specific fields * ({@link EventMessageBoxV0} or {@link EventMessageBoxV1}). * * @public */ type EventMessageBox = EventMessageBoxV0 | EventMessageBoxV1; //#endregion //#region src/boxes/ExtendedLanguageBox.d.ts /** * ISO/IEC 14496-12:202x - 8.4.6 Extended language tag * * @public */ type ExtendedLanguageBox = FullBox & { type: "elng"; extendedLanguage: string; }; //#endregion //#region src/boxes/TypeBox.d.ts /** * Utility TypeBox * * @public */ type TypeBox = { type: T$1; majorBrand: string; minorVersion: number; compatibleBrands: string[]; }; //#endregion //#region src/boxes/FileTypeBox.d.ts /** * ISO/IEC 14496-12:2012 - 4.3 File Type Box * * @public */ type FileTypeBox = TypeBox<"ftyp">; //#endregion //#region src/boxes/FreeSpaceBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.1.2 Free Space Box * * @public */ type FreeSpaceBox = { type: T$1; data: Uint8Array; }; //#endregion //#region src/boxes/GroupsListBox.d.ts /** * Child boxes of Groups List Box * * @public */ type GroupsListBoxChild = any; /** * Groups List Box - 'grpl' - Container * * @public */ type GroupsListBox = { type: "grpl"; boxes: GroupsListBoxChild[]; }; //#endregion //#region src/boxes/HandlerReferenceBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.4.3 Handler Reference Box * * @public */ type HandlerReferenceBox = FullBox & { type: "hdlr"; preDefined: number; handlerType: string; reserved: number[]; name: string; }; //#endregion //#region src/boxes/HintMediaHeaderBox.d.ts /** * Hint Media Header Box - 'hmhd' * * @public */ type HintMediaHeaderBox = FullBox & { type: "hmhd"; maxPDUsize: number; avgPDUsize: number; maxbitrate: number; avgbitrate: number; }; //#endregion //#region src/boxes/IdentifiedMediaDataBox.d.ts /** * ISO/IEC 14496-12:2012 - 9.1.4.1 Identified media data box * * @public */ type IdentifiedMediaDataBox = { type: "imda"; imdaIdentifier: number; data: Uint8Array; }; //#endregion //#region src/boxes/IpmpInfoBox.d.ts /** * IPMP Info Box - 'imif' * * @public */ type IpmpInfoBox = FullBox & { type: "imif"; ipmpDescr: any[]; }; //#endregion //#region src/boxes/ItemExtent.d.ts /** * Item Extent * * @public */ type ItemExtent = { extentIndex?: number; extentOffset: number; extentLength: number; }; //#endregion //#region src/boxes/ItemInfoEntry.d.ts /** * Item Info Entry - 'infe' * * @public */ type ItemInfoEntry = FullBox & { type: "infe"; itemId: number; itemProtectionIndex: number; itemName: string; contentType: string; contentEncoding?: string; extensionType?: string; }; //#endregion //#region src/boxes/ItemInfoBox.d.ts /** * Child boxes of Item Info Box * * @public */ type ItemInfoBoxChild = ItemInfoEntry; /** * Item Info Box - 'iinf' - Container * * @public */ type ItemInfoBox = { type: "iinf"; boxes: ItemInfoBoxChild[]; entryCount: number; }; //#endregion //#region src/boxes/ItemLocation.d.ts /** * Item Location * * @public */ type ItemLocation = { itemId: number; constructionMethod?: number; dataReferenceIndex: number; baseOffset: number; extents: ItemExtent[]; }; //#endregion //#region src/boxes/ItemLocationBox.d.ts /** * Item Location Box - 'iloc' * * @public */ type ItemLocationBox = FullBox & { type: "iloc"; offsetSize: number; lengthSize: number; baseOffsetSize: number; indexSize?: number; itemCount: number; items: ItemLocation[]; }; //#endregion //#region src/boxes/OriginalFormatBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.12.2 Original Format Box * * @public */ type OriginalFormatBox = { type: "frma"; dataFormat: number; }; //#endregion //#region src/boxes/TrackEncryptionBox.d.ts /** * ISO/IEC 23001-7:2011 - 8.2 Track Encryption Box * * @public */ type TrackEncryptionBox = FullBox & { type: "tenc"; defaultIsEncrypted: number; defaultIvSize: number; defaultKid: number[]; }; //#endregion //#region src/boxes/SchemeInformationBox.d.ts /** * Child boxes of Scheme Information Box * * @public */ type SchemeInformationBoxChild = TrackEncryptionBox; /** * Scheme Information Box - 'schi' - Container * * @public */ type SchemeInformationBox = { type: "schi"; boxes: SchemeInformationBoxChild[]; }; //#endregion //#region src/boxes/SchemeTypeBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.12.5 Scheme Type Box * * @public */ type SchemeTypeBox = FullBox & { type: "schm"; schemeType: number; schemeVersion: number; schemeUri?: string; }; //#endregion //#region src/boxes/ProtectionSchemeInformationBox.d.ts /** * Child boxes of Protection Scheme Information Box * * @public */ type ProtectionSchemeInformationBoxChild = OriginalFormatBox | IpmpInfoBox | SchemeTypeBox | SchemeInformationBox; /** * Protection Scheme Information Box - 'sinf' - Container * * @public */ type ProtectionSchemeInformationBox = { type: "sinf"; boxes: ProtectionSchemeInformationBoxChild[]; }; //#endregion //#region src/boxes/ItemProtectionBox.d.ts /** * Child boxes of Item Protection Box * * @public */ type ItemProtectionBoxChild = ProtectionSchemeInformationBox; /** * Item Protection Box - 'ipro' - Container * * @public */ type ItemProtectionBox = { type: "ipro"; boxes: ItemProtectionBoxChild[]; protectionCount: number; }; //#endregion //#region src/boxes/SingleItemTypeReferenceBox.d.ts /** * Single Item Type Reference Box * * @public */ type SingleItemTypeReferenceBox = { fromItemId: number; referenceCount: number; toItemId: number[]; }; //#endregion //#region src/boxes/ItemReferenceBox.d.ts /** * Child boxes of Item Reference Box * * @public */ type ItemReferenceBoxChild = SingleItemTypeReferenceBox; /** * Item Reference Box - 'iref' - Container * * @public */ type ItemReferenceBox = { type: "iref"; boxes: ItemReferenceBoxChild[]; }; //#endregion //#region src/boxes/LabelBox.d.ts /** * ISO/IEC 14496-12:202x - 8.10.5 Label box * * @public */ type LabelBox = FullBox & { type: "labl"; isGroupLabel: boolean; labelId: number; language: string; label: string; }; //#endregion //#region src/boxes/MediaHeaderBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.4.2 Media Header Box * * @public */ type MediaHeaderBox = FullBox & { type: "mdhd"; /** A 32-bit integer that specifies the creation time of the media in this track. */ creationTime: number; /** A 32-bit integer that specifies the most recent time the media in this track was modified. */ modificationTime: number; /** A time value that indicates the time-scale for this media; this is the number of time units that pass in one second. */ timescale: number; /** A time value that indicates the duration of this media. */ duration: number; /** A 16-bit integer that specifies the language code for this media. */ language: string; /** A 16-bit value that is reserved for use in other specifications. */ preDefined: number; }; //#endregion //#region src/boxes/NullMediaHeaderBox.d.ts /** * Null Media Header Box - 'nmhd' * * @public */ type NullMediaHeaderBox = FullBox & { type: "nmhd"; }; //#endregion //#region src/boxes/SampleDependencyTypeBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.6.4.1 Sample Dependency Type box * * @public */ type SampleDependencyTypeBox = FullBox & { type: "sdtp"; sampleDependencyTable: number[]; }; //#endregion //#region src/boxes/VisualSampleEntryType.d.ts /** * The type of visual sample entry box. * * @public */ type VisualSampleEntryType = "avc1" | "avc2" | "avc3" | "avc4" | "hev1" | "hvc1" | "encv"; //#endregion //#region src/boxes/VisualSampleEntryBox.d.ts /** * Child boxes of VisualSampleEntryBox * * @public */ type VisualSampleEntryBoxChild = any; /** * ISO/IEC 14496-15:2014 - 12.1.3.1 avc1/2/3/4, hev1, hvc1, encv * * @public */ type VisualSampleEntryBox = SampleEntryBox & { type: T$1; preDefined1: number; reserved2: number; preDefined2: number[]; width: number; height: number; horizresolution: number; vertresolution: number; reserved3: number; frameCount: number; compressorName: number[]; depth: number; preDefined3: number; boxes: VisualSampleEntryBoxChild[]; }; //#endregion //#region src/boxes/SampleDescriptionBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.5.2 Sample Description Box * * @public */ type SampleDescriptionBox = FullBox & { type: "stsd"; entryCount: number; entries: E[]; }; //#endregion //#region src/boxes/SampleGroupDescriptionBox.d.ts /** * Sample Group Description Box - 'sgpd' * * @public */ type SampleGroupDescriptionBox = FullBox & { type: "sgpd"; groupingType: number; defaultLength?: number; entryCount: number; entries: any[]; }; //#endregion //#region src/boxes/SampleSizeBox.d.ts /** * Sample Size Box - 'stsz' * * @public */ type SampleSizeBox = FullBox & { type: "stsz"; sampleSize: number; sampleCount: number; entrySize?: number[]; }; //#endregion //#region src/boxes/SampleToChunkEntry.d.ts /** * Sample to Chunk Entry * * @public */ type SampleToChunkEntry = { firstChunk: number; samplesPerChunk: number; sampleDescriptionIndex: number; }; //#endregion //#region src/boxes/SampleToChunkBox.d.ts /** * Sample to Chunk Box - 'stsc' * * @public */ type SampleToChunkBox = FullBox & { type: "stsc"; entryCount: number; entries: SampleToChunkEntry[]; }; //#endregion //#region src/boxes/SampleToGroupEntry.d.ts /** * Sample to Group Entry * * @public */ type SampleToGroupEntry = { sampleCount: number; groupDescriptionIndex: number; }; //#endregion //#region src/boxes/SampleToGroupBox.d.ts /** * Sample to Group Box - 'sbgp' * * @public */ type SampleToGroupBox = FullBox & { type: "sbgp"; groupingType: number; groupingTypeParameter?: number; entryCount: number; entries: SampleToGroupEntry[]; }; //#endregion //#region src/boxes/ShadowSyncEntry.d.ts /** * Shadow Sync Entry * * @public */ type ShadowSyncEntry = { shadowedSampleNumber: number; syncSampleNumber: number; }; //#endregion //#region src/boxes/ShadowSyncSampleBox.d.ts /** * Shadow Sync Sample Box - 'stsh' * * @public */ type ShadowSyncSampleBox = FullBox & { type: "stsh"; entryCount: number; entries: ShadowSyncEntry[]; }; //#endregion //#region src/boxes/SyncSample.d.ts /** * Sync sample * * @public */ type SyncSample = { sampleNumber: number; }; //#endregion //#region src/boxes/SyncSampleBox.d.ts /** * ISO/IEC 14496-12:2015 - 8.6.2 Sync Sample Box * * @public */ type SyncSampleBox = FullBox & { type: "stss"; entryCount: number; entries: SyncSample[]; }; //#endregion //#region src/boxes/SampleTableBox.d.ts /** * Child boxes of Sample Table Box * * @public */ type SampleTableBoxChild = SampleDescriptionBox | DecodingTimeToSampleBox | CompositionTimeToSampleBox | SampleToChunkBox | SampleSizeBox | ChunkOffsetBox | SyncSampleBox | ShadowSyncSampleBox | DegradationPriorityBox | SampleDependencyTypeBox | SampleToGroupBox | SampleGroupDescriptionBox; /** * Sample Table Box - 'stbl' - Container * * @public */ type SampleTableBox = { type: "stbl"; boxes: SampleTableBoxChild[]; }; //#endregion //#region src/boxes/SoundMediaHeaderBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.4.5.3 Sound Media Header Box * * @public */ type SoundMediaHeaderBox = FullBox & { type: "smhd"; balance: number; reserved: number; }; //#endregion //#region src/boxes/SubtitleMediaHeaderBox.d.ts /** * ISO/IEC 14496-12:2015 - 12.6.2 Subtitle media header Box * * @public */ type SubtitleMediaHeaderBox = FullBox & { type: "sthd"; }; //#endregion //#region src/boxes/VideoMediaHeaderBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.4.5.2 Video Media Header Box * * @public */ type VideoMediaHeaderBox = FullBox & { type: "vmhd"; graphicsmode: number; opcolor: number[]; }; //#endregion //#region src/boxes/MediaInformationBox.d.ts /** * Child boxes of Media Information Box * * @public */ type MediaInformationBoxChild = VideoMediaHeaderBox | SoundMediaHeaderBox | HintMediaHeaderBox | NullMediaHeaderBox | DataInformationBox | SampleTableBox | SubtitleMediaHeaderBox; /** * Media Information Box - 'minf' - Container * * @public */ type MediaInformationBox = { type: "minf"; boxes: MediaInformationBoxChild[]; }; //#endregion //#region src/boxes/MediaBox.d.ts /** * Child boxes of Media Box * * @public */ type MediaBoxChild = MediaHeaderBox | HandlerReferenceBox | MediaInformationBox; /** * Media Box - 'mdia' - Container * * @public */ type MediaBox = { type: "mdia"; boxes: MediaBoxChild[]; }; //#endregion //#region src/boxes/MediaDataBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.1.1 Media Data Box * * @public */ type MediaDataBox = { type: "mdat"; data: Uint8Array; }; //#endregion //#region src/boxes/PrimaryItemBox.d.ts /** * Primary Item Box - 'pitm' * * @public */ type PrimaryItemBox = FullBox & { type: "pitm"; itemId: number; }; //#endregion //#region src/boxes/MetaBox.d.ts /** * Child boxes of Meta Box * * @public */ type MetaBoxChild = HandlerReferenceBox | PrimaryItemBox | DataInformationBox | ItemLocationBox | ItemProtectionBox | ItemInfoBox | ItemReferenceBox | GroupsListBox; /** * ISO/IEC 14496-12:202x - 8.11.1 Meta box * * @public */ type MetaBox = FullBox & { type: "meta"; boxes: MetaBoxChild[]; }; //#endregion //#region src/boxes/MovieExtendsHeaderBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.8.2 Movie Extends Header Box * * @public */ type MovieExtendsHeaderBox = FullBox & { type: "mehd"; fragmentDuration: number; }; //#endregion //#region src/boxes/TrackExtendsBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.8.3 Track Extends Box * * @public */ type TrackExtendsBox = FullBox & { type: "trex"; trackId: number; defaultSampleDescriptionIndex: number; defaultSampleDuration: number; defaultSampleSize: number; defaultSampleFlags: number; }; //#endregion //#region src/boxes/MovieExtendsBox.d.ts /** * Child boxes of Movie Extends Box * * @public */ type MovieExtendsBoxChild = MovieExtendsHeaderBox | TrackExtendsBox; /** * Movie Extends Box - 'mvex' - Container * * @public */ type MovieExtendsBox = { type: "mvex"; boxes: MovieExtendsBoxChild[]; }; //#endregion //#region src/boxes/MovieHeaderBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.2.2 Movie Header Box * * @public */ type MovieHeaderBox = FullBox & { type: "mvhd"; creationTime: number; modificationTime: number; timescale: number; duration: number; rate: number; volume: number; reserved1: number; reserved2: number[]; matrix: number[]; preDefined: number[]; nextTrackId: number; }; //#endregion //#region src/boxes/TrackHeaderBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.3.2 Track Header Box * * @public */ type TrackHeaderBox = FullBox & { type: "tkhd"; creationTime: number; modificationTime: number; trackId: number; reserved1: number; duration: number; reserved2: number[]; layer: number; alternateGroup: number; volume: number; reserved3: number; matrix: number[]; width: number; height: number; }; //#endregion //#region src/boxes/TrackReferenceTypeBox.d.ts /** * Track Reference Type Box * * @public */ type TrackReferenceTypeBox = { type: "tref"; trackIds: number[]; }; //#endregion //#region src/boxes/TrackReferenceBox.d.ts /** * Child boxes of Track Reference Box * * @public */ type TrackReferenceBoxChild = TrackReferenceTypeBox; /** * Track Reference Box - 'tref' - Container * * @public */ type TrackReferenceBox = { type: "tref"; boxes: TrackReferenceBoxChild[]; }; //#endregion //#region src/boxes/UserDataBox.d.ts /** * Child boxes of User Data Box * * @public */ type UserDataBoxChild = any; /** * User Data Box - 'udta' - Container * * @public */ type UserDataBox = { type: "udta"; boxes: UserDataBoxChild[]; }; //#endregion //#region src/boxes/TrackBox.d.ts /** * Child boxes of Track Box * * @public */ type TrackBoxChild = TrackHeaderBox | TrackReferenceBox | EditBox | MediaBox | UserDataBox; /** * Track Box - 'trak' - Container * * @public */ type TrackBox = { type: "trak"; boxes: TrackBoxChild[]; }; //#endregion //#region src/boxes/MovieBox.d.ts /** * Child boxes of Movie Box * * @public */ type MovieBoxChild = MovieHeaderBox | TrackBox | MovieExtendsBox | UserDataBox; /** * Movie Box - 'moov' - Container * * @public */ type MovieBox = { type: "moov"; boxes: MovieBoxChild[]; }; //#endregion //#region src/boxes/MovieFragmentHeaderBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.8.5 Movie Fragment Header Box * * @public */ type MovieFragmentHeaderBox = FullBox & { type: "mfhd"; sequenceNumber: number; }; //#endregion //#region src/boxes/SampleAuxiliaryInformationOffsetsBox.d.ts /** * Sample Auxiliary Information Offsets Box - 'saio' * * @public */ type SampleAuxiliaryInformationOffsetsBox = FullBox & { type: "saio"; auxInfoType?: number; auxInfoTypeParameter?: number; entryCount: number; offset: number[]; }; //#endregion //#region src/boxes/SampleAuxiliaryInformationSizesBox.d.ts /** * Sample Auxiliary Information Sizes Box - 'saiz' * * @public */ type SampleAuxiliaryInformationSizesBox = FullBox & { type: "saiz"; auxInfoType?: number; auxInfoTypeParameter?: number; defaultSampleInfoSize: number; sampleCount: number; sampleInfoSize?: number[]; }; //#endregion //#region src/boxes/SampleEncryptionBox.d.ts /** * Sample Encryption Box - 'senc' * * @public */ type SampleEncryptionBox = FullBox & { type: "senc"; sampleCount: number; samples: EncryptedSample[]; }; //#endregion //#region src/boxes/Subsample.d.ts /** * Sub sample * * @public */ type Subsample = { subsampleSize: number; subsamplePriority: number; discardable: number; codecSpecificParameters: number; }; //#endregion //#region src/boxes/SubsampleEntry.d.ts /** * Sub sample entry * * @public */ type SubsampleEntry = { sampleDelta: number; subsampleCount: number; subsamples: Subsample[]; }; //#endregion //#region src/boxes/SubsampleInformationBox.d.ts /** * ISO/IEC 14496-12:2015 - 8.7.7 Sub-Sample Information Box * * @public */ type SubsampleInformationBox = FullBox & { type: "subs"; entryCount: number; entries: SubsampleEntry[]; }; //#endregion //#region src/boxes/TrackFragmentBaseMediaDecodeTimeBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.8.12 Track Fragment Decode Time * * @public */ type TrackFragmentBaseMediaDecodeTimeBox = FullBox & { type: "tfdt"; baseMediaDecodeTime: number; }; //#endregion //#region src/boxes/TrackFragmentHeaderBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.8.7 Track Fragment Header Box * * @public */ type TrackFragmentHeaderBox = FullBox & { type: "tfhd"; trackId: number; baseDataOffset?: number; sampleDescriptionIndex?: number; defaultSampleDuration?: number; defaultSampleSize?: number; defaultSampleFlags?: number; }; //#endregion //#region src/boxes/TrackRunSample.d.ts /** * Track run sample * * @public */ type TrackRunSample = { sampleDuration?: number; sampleSize?: number; sampleFlags?: number; sampleCompositionTimeOffset?: number; }; //#endregion //#region src/boxes/TrackRunBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.8.8 Track Run Box * * Note: the 'trun' box has a direct relation to the 'tfhd' box for defaults. * These defaults are not set explicitly here, but are left to resolve for the user. * * @public */ type TrackRunBox = FullBox & { type: "trun"; sampleCount: number; dataOffset?: number; firstSampleFlags?: number; samples: TrackRunSample[]; }; //#endregion //#region src/boxes/TrackFragmentBox.d.ts /** * Child boxes of Track Fragment Box * * @public */ type TrackFragmentBoxChild = TrackFragmentHeaderBox | TrackFragmentBaseMediaDecodeTimeBox | TrackRunBox | SampleAuxiliaryInformationSizesBox | SampleAuxiliaryInformationOffsetsBox | SampleEncryptionBox | SubsampleInformationBox; /** * Track Fragment Box - 'traf' - Container * * @public */ type TrackFragmentBox = { type: "traf"; boxes: TrackFragmentBoxChild[]; }; //#endregion //#region src/boxes/MovieFragmentBox.d.ts /** * Child boxes of Movie Fragment Box * * @public */ type MovieFragmentBoxChild = MovieFragmentHeaderBox | TrackFragmentBox; /** * Movie Fragment Box - 'moof' - Container * * @public */ type MovieFragmentBox = { type: "moof"; boxes: MovieFragmentBoxChild[]; }; //#endregion //#region src/boxes/MovieFragmentRandomAccessOffsetBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.8.11 Movie Fragment Random Access Box * * @public */ type MovieFragmentRandomAccessOffsetBox = FullBox & { type: "mfro"; mfraSize: number; }; //#endregion //#region src/boxes/TrackFragmentRandomAccessEntry.d.ts /** * Track fragment random access entry * * @public */ type TrackFragmentRandomAccessEntry = { time: number; moofOffset: number; trafNumber: number; trunNumber: number; sampleNumber: number; }; //#endregion //#region src/boxes/TrackFragmentRandomAccessBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.8.10 Track Fragment Random Access Box * * @public */ type TrackFragmentRandomAccessBox = FullBox & { type: "tfra"; trackId: number; reserved: number; numberOfEntry: number; lengthSizeOfTrafNum: number; lengthSizeOfTrunNum: number; lengthSizeOfSampleNum: number; entries: TrackFragmentRandomAccessEntry[]; }; //#endregion //#region src/boxes/MovieFragmentRandomAccessBox.d.ts /** * Child boxes of Movie Fragment Random Access Box * * @public */ type MovieFragmentRandomAccessBoxChild = TrackFragmentRandomAccessBox | MovieFragmentRandomAccessOffsetBox; /** * Movie Fragment Random Access Box - 'mfra' - Container * * @public */ type MovieFragmentRandomAccessBox = { type: "mfra"; boxes: MovieFragmentRandomAccessBoxChild[]; }; //#endregion //#region src/boxes/PreselectionGroupBox.d.ts /** * Child boxes of Preselection Group Box * * @public */ type PreselectionGroupBoxChild = any; /** * ISO/IEC 14496-12:202x - 8.18.4.1 Preselection group box * * @public */ type PreselectionGroupBox = FullBox & { type: "prsl"; /** Group ID */ groupId: number; /** Number of entities in group */ numEntitiesInGroup: number; /** Entities */ entities: Entity[]; preselectionTag?: string; selectionPriority?: number; interleavingTag?: string; boxes: PreselectionGroupBoxChild[]; }; //#endregion //#region src/boxes/ProducerReferenceTimeBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.16.5 Producer Reference Time * * @public */ type ProducerReferenceTimeBox = FullBox & { type: "prft"; referenceTrackId: number; ntpTimestampSec: number; ntpTimestampFrac: number; mediaTime: number; }; //#endregion //#region src/boxes/ProtectionSystemSpecificHeaderBox.d.ts /** * ISO/IEC 23001-7:2011 - 8.1 Protection System Specific Header Box * * @public */ type ProtectionSystemSpecificHeaderBox = FullBox & { type: "pssh"; systemId: number[]; kidCount: number; kid: number[]; dataSize: number; data: number[]; }; //#endregion //#region src/boxes/SegmentIndexReference.d.ts /** * Segment index reference * * @public */ type SegmentIndexReference = { reference: number; subsegmentDuration: number; sap: number; referenceType: number; referencedSize: number; startsWithSap: number; sapType: number; sapDeltaTime: number; }; //#endregion //#region src/boxes/SegmentIndexBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.16.3 Segment Index Box * * @public */ type SegmentIndexBox = FullBox & { type: "sidx"; referenceId: number; timescale: number; earliestPresentationTime: number; firstOffset: number; reserved: number; references: SegmentIndexReference[]; }; //#endregion //#region src/boxes/SegmentTypeBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.16.2 Segment Type Box * * @public */ type SegmentTypeBox = TypeBox<"styp">; //#endregion //#region src/boxes/SubsegmentRange.d.ts /** * Subsegment range * * @public */ type SubsegmentRange = { level: number; rangeSize: number; }; //#endregion //#region src/boxes/Subsegment.d.ts /** * Subsegment * * @public */ type Subsegment = { rangesCount: number; ranges: SubsegmentRange[]; }; //#endregion //#region src/boxes/SubsegmentIndexBox.d.ts /** * ISO/IEC 14496-12:2012 - 8.16.4 Subsegment Index Box * * @public */ type SubsegmentIndexBox = FullBox & { type: "ssix"; subsegmentCount: number; subsegments: Subsegment[]; }; //#endregion //#region src/boxes/SubTrackBox.d.ts /** * Child boxes of Sub Track Box * * @public */ type SubTrackBoxChild = any; /** * Sub track box - 'strk' * * @public */ type SubTrackBox = { type: "strk"; boxes: SubTrackBoxChild[]; }; //#endregion //#region src/boxes/TrackKindBox.d.ts /** * ISO/IEC 14496-12:202x - 8.10.4 Track kind box * * @public */ type TrackKindBox = FullBox & { type: "kind"; schemeUri: string; value: string; }; //#endregion //#region src/boxes/WebVttConfigurationBox.d.ts /** * ISO/IEC 14496-30:2014 - WebVTT Configuration Box * * @public */ type WebVttConfigurationBox = { type: "vttC"; config: string; }; //#endregion //#region src/boxes/WebVttCueIdBox.d.ts /** * ISO/IEC 14496-30:2014 - WebVTT Cue Id Box. * * @public */ type WebVttCueIdBox = { type: "iden"; cueId: string; }; //#endregion //#region src/boxes/WebVttCuePayloadBox.d.ts /** * ISO/IEC 14496-30:2014 - WebVTT Cue Payload Box. * * @public */ type WebVttCuePayloadBox = { type: "payl"; cueText: string; }; //#endregion //#region src/boxes/WebVttCueBox.d.ts /** * Child boxes of WebVttCueBox * * @public */ type WebVttCueChild = WebVttCueIdBox | WebVttCuePayloadBox; /** * WebVttCueBox - 'vttc' - Container * * @public */ type WebVttCueBox = { type: "vttc"; boxes: WebVttCueChild[]; }; //#endregion //#region src/boxes/WebVttEmptySampleBox.d.ts /** * ISO/IEC 14496-30:2014 - WebVTT Empty Sample Box * * @public */ type WebVttEmptySampleBox = { type: "vtte"; }; //#endregion //#region src/boxes/WebVttSettingsBox.d.ts /** * ISO/IEC 14496-30:2014 - WebVTT Cue Settings Box. * * @public */ type WebVttSettingsBox = { type: "sttg"; settings: string; }; //#endregion //#region src/boxes/WebVttSourceLabelBox.d.ts /** * ISO/IEC 14496-30:2014 - WebVTT Source Label Box * * @public */ type WebVttSourceLabelBox = { type: "vlab"; sourceLabel: string; }; //#endregion //#region src/IsoBoxMap.d.ts /** * Comprehensive mapping from box type strings to their corresponding TypeScript interfaces * * @public */ type IsoBoxMap = { ardi: AudioRenderingIndicationBox; avc1: VisualSampleEntryBox<"avc1">; avc2: VisualSampleEntryBox<"avc2">; avc3: VisualSampleEntryBox<"avc3">; avc4: VisualSampleEntryBox<"avc4">; co64: ChunkLargeOffsetBox; ctts: CompositionTimeToSampleBox; dinf: DataInformationBox; dref: DataReferenceBox; edts: EditBox; elng: ExtendedLanguageBox; elst: EditListBox; emsg: EventMessageBox; enca: AudioSampleEntryBox<"enca">; encv: VisualSampleEntryBox<"encv">; free: FreeSpaceBox<"free">; frma: OriginalFormatBox; ftyp: FileTypeBox; grpl: GroupsListBox; hdlr: HandlerReferenceBox; hev1: VisualSampleEntryBox<"hev1">; hmhd: HintMediaHeaderBox; hvc1: VisualSampleEntryBox<"hvc1">; iden: WebVttCueIdBox; iinf: ItemInfoBox; iloc: ItemLocationBox; imda: IdentifiedMediaDataBox; imif: IpmpInfoBox; infe: ItemInfoEntry; ipro: ItemProtectionBox; iref: ItemReferenceBox; kind: TrackKindBox; labl: LabelBox; mdat: MediaDataBox; mdhd: MediaHeaderBox; mdia: MediaBox; meco: AdditionalMetadataContainerBox; mehd: MovieExtendsHeaderBox; meta: MetaBox; mfhd: MovieFragmentHeaderBox; mfra: MovieFragmentRandomAccessBox; mfro: MovieFragmentRandomAccessOffsetBox; minf: MediaInformationBox; moof: MovieFragmentBox; moov: MovieBox; mp4a: AudioSampleEntryBox<"mp4a">; mvex: MovieExtendsBox; mvhd: MovieHeaderBox; nmhd: NullMediaHeaderBox; payl: WebVttCuePayloadBox; pitm: PrimaryItemBox; prft: ProducerReferenceTimeBox; prsl: PreselectionGroupBox; pssh: ProtectionSystemSpecificHeaderBox; saio: SampleAuxiliaryInformationOffsetsBox; saiz: SampleAuxiliaryInformationSizesBox; sbgp: SampleToGroupBox; schi: SchemeInformationBox; schm: SchemeTypeBox; sdtp: SampleDependencyTypeBox; senc: SampleEncryptionBox; sgpd: SampleGroupDescriptionBox; sidx: SegmentIndexBox; sinf: ProtectionSchemeInformationBox; skip: FreeSpaceBox<"skip">; smhd: SoundMediaHeaderBox; ssix: SubsegmentIndexBox; stbl: SampleTableBox; stco: ChunkOffsetBox; stdp: DegradationPriorityBox; sthd: SubtitleMediaHeaderBox; strk: SubTrackBox; stsc: SampleToChunkBox; stsd: SampleDescriptionBox; stsh: ShadowSyncSampleBox; stss: SyncSampleBox; stsz: SampleSizeBox; sttg: WebVttSettingsBox; stts: DecodingTimeToSampleBox; styp: SegmentTypeBox; subs: SubsampleInformationBox; stz2: CompactSampleSizeBox; tenc: TrackEncryptionBox; tfdt: TrackFragmentBaseMediaDecodeTimeBox; tfhd: TrackFragmentHeaderBox; tfra: TrackFragmentRandomAccessBox; tkhd: TrackHeaderBox; traf: TrackFragmentBox; trak: TrackBox; tref: TrackReferenceBox; trex: TrackExtendsBox; trun: TrackRunBox; udta: UserDataBox; "url ": DataEntryUrlBox; "urn ": DataEntryUrnBox; vlab: WebVttSourceLabelBox; vmhd: VideoMediaHeaderBox; vttc: WebVttCueBox; vttC: WebVttConfigurationBox; vtte: WebVttEmptySampleBox; }; //#endregion //#region src/IsoBox.d.ts /** * Utility type for all ISO BMFF boxes * * @public */ type IsoBox = IsoBoxMap[keyof IsoBoxMap]; //#endregion //#region src/IsoBoxContainerMap.d.ts /** * Map of container box types to their allowed child box types * * @public */ type IsoBoxContainerMap = { dinf: DataInformationBox; edts: EditBox; grpl: GroupsListBox; mdia: MediaBox; meco: AdditionalMetadataContainerBox; mfra: MovieFragmentRandomAccessBox; minf: MediaInformationBox; moof: MovieFragmentBox; moov: MovieBox; mvex: MovieExtendsBox; schi: SchemeInformationBox; sinf: ProtectionSchemeInformationBox; stbl: SampleTableBox; strk: SubTrackBox; traf: TrackFragmentBox; trak: TrackBox; tref: TrackReferenceBox; udta: UserDataBox; vttc: WebVttCueBox; }; //#endregion //#region src/IsoBoxContainer.d.ts /** * Iso Box Container Type * * @public */ type IsoBoxContainer = IsoBoxContainerMap[keyof IsoBoxContainerMap]; //#endregion //#region src/IsoBoxData.d.ts /** * ISO data * * @public */ type IsoBoxData = ArrayBufferLike | ArrayBufferView; //#endregion //#region src/IsoBoxReaderMap.d.ts /** * A map of box parsers to their box types * * @public */ type IsoBoxReaderMap = Record; //#endregion //#region src/IsoBoxReadViewConfig.d.ts /** * ISO Box Read View configuration * * @public */ type IsoBoxReadViewConfig = { /** * A map of box parsers to their box types */ readers?: IsoBoxReaderMap; }; //#endregion //#region src/IsoBoxFields.d.ts /** * The UTF8 field type * * @public */ declare const UTF8: "utf8"; /** * The unsigned integer field type * * @public */ declare const UINT: "uint"; /** * The template field type * * @public */ declare const TEMPLATE: "template"; /** * The string field type * * @public */ declare const STRING: "string"; /** * The integer field type * * @public */ declare const INT: "int"; /** * The data field type * * @public */ declare const DATA: "data"; /** * The ISO BMFF field types * * @enum * @public */ declare const IsoBoxFields: { DATA: typeof DATA; INT: typeof INT; STRING: typeof STRING; TEMPLATE: typeof TEMPLATE; UINT: typeof UINT; UTF8: typeof UTF8; }; /** * @public */ type IsoBoxFields = ValueOf; //#endregion //#region src/IsoFieldTypeMap.d.ts /** * IsoFieldTypeMap is a map of ISO BMFF field types to their corresponding JavaScript types. * * @public */ type IsoFieldTypeMap = { [IsoBoxFields.UINT]: number; [IsoBoxFields.INT]: number; [IsoBoxFields.TEMPLATE]: number; [IsoBoxFields.STRING]: string; [IsoBoxFields.DATA]: Uint8Array; [IsoBoxFields.UTF8]: string; }; //#endregion //#region src/ParsedBox.d.ts /** * A Parsed Box Type * * @public */ type ParsedBox = (T$1 extends IsoBox ? T$1 & Omit : T$1) & { view: IsoBoxReadView; size: number; largesize?: number; usertype?: number[]; }; //#endregion //#region src/ParsedIsoBox.d.ts /** * Parsed Box Type * * @public */ type ParsedIsoBox = ParsedBox; //#endregion //#region src/IsoBoxReadView.d.ts /** * ISO BMFF data view. Similar to DataView, but with additional methods for reading ISO BMFF data. * It implements the iterator protocol, so it can be used in a for...of loop. * * @public */ declare class IsoBoxReadView { private dataView; private offset; private config; private truncated; /** * Creates a new IsoView instance. Similar to DataView, but with additional * methods for reading ISO BMFF data. It implements the iterator protocol, * so it can be used in a for...of loop. * * @param raw - The raw data to view. * @param config - The configuration for the IsoView. */ constructor(raw: IsoBoxData, config?: IsoBoxReadViewConfig); /** * The buffer of the data view. */ get buffer(): ArrayBufferLike; /** * The byte offset of the data view. */ get byteOffset(): number; /** * The byte length of the data view. */ get byteLength(): number; /** * The current byteoffset in the data view. */ get cursor(): number; /** * Whether the end of the data view has been reached. */ get done(): boolean; /** * The number of bytes remaining in the data view. */ get bytesRemaining(): number; /** * Creates a new IsoView instance with a slice of the current data view. * * @param size - The size of the slice. * @returns A new IsoView instance. */ slice: (offset: number, size: number) => IsoBoxReadView; private read; /** * Reads a unsigned integer from the data view. * * @param size - The size of the integer in bytes. * @returns The unsigned integer. */ readUint: (size: number) => number; /** * Reads a signed integer from the data view. * * @param size - The size of the integer in bytes. * @returns The signed integer. */ readInt: (size: number) => number; /** * Reads a string from the data view. * * @param size - The size of the string in bytes. * @returns The string. */ readString: (size: number) => string; /** * Reads a template from the data view. * * @param size - The size of the template in bytes. * @returns The template. */ readTemplate: (size: number) => number; /** * Reads a byte array from the data view. * * @param size - The size of the data in bytes. * @returns The data. */ readData: (size: number) => Uint8Array; /** * Reads a UTF-8 string from the data view. * * @param size - The size of the string in bytes. * @returns The UTF-8 string. */ readUtf8: (size?: number) => string; /** * Reads a full box from the data view. * * @returns The full box. */ readFullBox: () => FullBox; /** * Reads an array of values from the data view. * * @param type - The type of the values. * @param size - The size of the values in bytes. * @param length - The number of values to read. * @returns The array of values. */ readArray: (type: T, size: number, length: number) => IsoFieldTypeMap[T][]; /** * Skips a number of bytes in the view. * * @param size - The number of bytes to skip. */ jump: (size: number) => void; /** * Reads a raw box from the data view. * * @returns The box. */ readBox: () => ParsedBox; /** * Reads a number of boxes from the data view. * * @param length - The number of boxes to read. * @returns The boxes. */ readBoxes: (length?: number) => T[]; /** * Reads a number of entries from the data view. * * @param length - The number of entries to read. * @param map - The function to map the entries. * @returns The entries. */ readEntries: (length: number, map: () => T) => T[]; /** * Iterates over the boxes in the data view. * * @returns A generator of boxes. */ [Symbol.iterator](): Generator; } //#endregion //#region src/IsoBoxReader.d.ts /** * ISO BMFF box reader * * @public */ type IsoBoxReader = (view: IsoBoxReadView, type: T$1) => B; //#endregion //#region src/IsoBoxReaderReturn.d.ts /** * Return type for the ISO box reader. * * Creates a discriminated union of all box types returned by the readers, * plus ParsedBox for unknown/container boxes. This enables type narrowing * via `box.type === 'xxxx'`. * * @public */ type IsoBoxReaderReturn = { [K in keyof T$1]: T$1[K] extends ((...args: never[]) => infer R) ? ParsedBox : never }[keyof T$1] | ParsedIsoBox; //#endregion //#region src/IsoBoxStreamable.d.ts /** * A type that represents a streamable ISO BMFF box or array buffer view. * * @public */ type IsoBoxStreamable = IsoBox | ParsedIsoBox | ParsedBox | ArrayBufferView; //#endregion //#region src/IsoBoxWriterMap.d.ts /** * A map of box writers to their box types * * @public */ type IsoBoxWriterMap = Record>; //#endregion //#region src/IsoBoxWriteViewConfig.d.ts /** * Configuration for the IsoBoxReadableStream. * * @public */ type IsoBoxWriteViewConfig = { /** * A map of box writers to their box types */ writers: IsoBoxWriterMap; }; //#endregion //#region src/IsoBoxWriter.d.ts /** * ISO box writer. * * @public */ type IsoBoxWriter = (box: B, config: IsoBoxWriteViewConfig) => ArrayBufferView; //#endregion //#region src/IsoTypedParsedBox.d.ts /** * Typed Parsed Box Type * * @public */ type IsoTypedParsedBox = ParsedBox; //#endregion //#region src/TraverseIsoBoxesConfig.d.ts /** * Configuration options for traversing ISO boxes. * * @public */ type TraverseIsoBoxesConfig = { /** * Whether to traverse the boxes depth-first or breadth-first. * * @defaultValue true */ depthFirst?: boolean; /** * The maximum depth to traverse. A value of 0 will only traverse the root boxes. * * @defaultValue Infinity */ maxDepth?: number; }; //#endregion //#region src/createIsoBoxReadableStream.d.ts /** * Creates a ReadableStream of ISO BMFF boxes as Uint8Arrays. * * @param boxes - The boxes to stream. * @param config - The configuration for the stream. * * @returns A new IsoBoxReadableStream. * * @example * {@includeCode ../test/createIsoBoxReadableStream.test.ts#example} * * @public */ declare function createIsoBoxReadableStream(boxes: Iterable, config: IsoBoxWriteViewConfig): ReadableStream; //#endregion //#region src/filterIsoBoxes.d.ts /** * Filters boxes in the tree that satisfy the provided testing function. * * This function traverses the entire box structure (including nested boxes) * and returns all boxes for which the callback returns true. * * @param boxes - The boxes to search through * @param callback - A function that accepts a box and returns true if it matches * @param config - Configuration options for traversal * * @returns An array of boxes that satisfy the callback * * @example * {@includeCode ../test/filterIsoBoxes.test.ts#example} * * @public */ declare function filterIsoBoxes(boxes: Iterable, callback: (box: T$1) => box is S, config?: TraverseIsoBoxesConfig): S[]; /** * @public */ declare function filterIsoBoxes(boxes: Iterable, callback: (box: T$1) => boolean, config?: TraverseIsoBoxesConfig): T$1[]; //#endregion //#region src/findIsoBox.d.ts /** * Finds the first box in the tree that satisfies the provided testing function. * * This function traverses the entire box structure (including nested boxes) * and returns the first box for which the callback returns true. * * @param boxes - The boxes to search through * @param callback - A function that accepts a box and returns true if it matches * @param config - Configuration options for traversal * * @returns The first box that satisfies the callback, or null if none is found * * @example * {@includeCode ../test/findIsoBox.test.ts#example} * * @public */ declare function findIsoBox(boxes: Iterable, callback: (box: T$1) => box is S, config?: TraverseIsoBoxesConfig): S | null; /** * @public */ declare function findIsoBox(boxes: Iterable, callback: (box: T$1) => boolean, config?: TraverseIsoBoxesConfig): T$1 | null; //#endregion //#region src/isIsoBoxType.d.ts /** * Check if a box is of a specific type. This is a type guard function. * * @param type - The type to check for * @param box - The box to check * * @returns `true` if the box is of the specified type, `false` otherwise * * @public */ declare function isIsoBoxType(type: T$1, box: any): box is IsoBoxMap[T$1]; //#endregion //#region src/IsoBoxReadableStream.d.ts /** * A readable stream of ISO BMFF boxes as Uint8Arrays. * * @public */ declare class IsoBoxReadableStream extends ReadableStream { /** * Constructs a new IsoBoxReadableStream. * * @param boxes - The boxes to stream. * @param config - The configuration for the stream. */ constructor(boxes: Iterable, config: IsoBoxWriteViewConfig); } //#endregion //#region src/IsoBoxWriteView.d.ts /** * A view for writing ISO BMFF data. * * @public */ declare class IsoBoxWriteView { private dataView; private cursor; /** * Constructs a new IsoBoxWriteView. * * @param size - The size of the data view. */ constructor(type: string, size: number); /** * The buffer of the data view. * * @returns The buffer of the data view. */ get buffer(): ArrayBufferLike; /** * The length of the data view. * * @returns The length of the data view. */ get byteLength(): number; /** * The offset of the data view. * * @returns The offset of the data view. */ get byteOffset(): number; /** * Writes a uint to the data view. * * @param value - The value to write. * @param size - The size, in bytes, of the value. */ writeUint: (value: number, size: number) => void; /** * Writes an int to the data view. * * @param value - The value to write. * @param size - The size, in bytes, of the value. */ writeInt: (value: number, size: number) => void; /** * Writes a string to the data view. * * @param value - The value to write. */ writeString: (value: string) => void; /** * Writes a null terminated string to the data view. * * @param value - The value to write. */ writeTerminatedString: (value: string) => void; /** * Writes a UTF-8 null terminated string to the data view. * * @param value - The value to write. */ writeUtf8TerminatedString: (value: string) => void; /** * Writes a Uint8Array to the data view. * * @param data - The data to write. */ writeBytes: (data: Uint8Array | Uint8Array[]) => void; /** * Writes an array of numbers to the data view. * * @param data - The data to write. * @param type - The type of the data. * @param size - The size, in bytes, of each data value. * @param length - The number of values to write. (optional) */ writeArray: (data: number[], type: T, size: number, length: number) => void; /** * Writes a template to the data view. * * @param value - The value to write. * @param size - The size, in bytes, of the template. */ writeTemplate: (value: number, size: number) => void; /** * Writes a box header to the data view. * * @param type - The type of the box. * @param size - The size, in bytes, of the box. */ writeBoxHeader: (type: string, size: number) => void; /** * Writes a full box header to the data view. * * @param version - The version of the full box. * @param flags - The flags of the full box. */ writeFullBox(version: number, flags: number): void; } //#endregion //#region src/readIsoBoxes.d.ts /** * Reads ISO boxes from a data source. * * @param raw - The raw ISO data * @param config - The configuration for the IsoView * * @returns The parsed boxes * * @example * {@includeCode ../test/readIsoBoxes.test.ts#example} * * @public */ declare function readIsoBoxes(raw: IsoBoxData, config: IsoBoxReadViewConfig & { readers: R$1; }): IsoBoxReaderReturn[]; /** * @public */ declare function readIsoBoxes(raw: IsoBoxData, config?: IsoBoxReadViewConfig): ParsedIsoBox[]; //#endregion //#region src/traverseIsoBoxes.d.ts /** * Traverse ISO boxes * * @param boxes - The boxes to traverse * @param config - Configuration options for traversal * * @returns A generator of boxes * * @example * {@includeCode ../test/traverseIsoBoxes.test.ts#example} * * @public */ declare function traverseIsoBoxes(boxes: Iterable, config?: TraverseIsoBoxesConfig): Generator; //#endregion //#region src/writeIsoBox.d.ts /** * Write an ISO box to a Uint8Array. * * @param box - The box to write * @param config - The configuration for the writer * * @returns The written box * * @public */ declare function writeIsoBox(box: IsoBoxStreamable, config?: IsoBoxWriteViewConfig): Uint8Array; //#endregion //#region src/writeIsoBoxes.d.ts /** * Writes ISO boxes to a readable stream. * * @param boxes - The boxes to write * @param config - The configuration for the readable stream * * @returns A readable stream of the written boxes * * @example * {@includeCode ../test/writeIsoBoxes.test.ts#example} * * @public */ declare function writeIsoBoxes(boxes: Iterable, config: IsoBoxWriteViewConfig): Uint8Array[]; //#endregion //#region src/readers/createAudioSampleEntryReader.d.ts /** * Creates a reader function for `AudioSampleEntryBox` with a custom type. * * This utility allows reading audio sample entry boxes with types that * aren't in the standard `AudioSampleEntryType` union (e.g., `'mp4a'`, `'enca'`). * * @param type - The 4-character box type * * @returns A reader function that can be passed to `readIsoBoxes` * * @example * ```ts * const boxes = readIsoBoxes(data, { * readers: { * 'ac-3': createAudioSampleEntryReader('ac-3'), * 'ec-3': createAudioSampleEntryReader('ec-3'), * } * }) * ``` * * @public */ declare function createAudioSampleEntryReader(type: T$1): (view: IsoBoxReadView) => AudioSampleEntryBox; //#endregion //#region src/readers/createVisualSampleEntryReader.d.ts /** * Creates a reader function for `VisualSampleEntryBox` with a custom type. * * This utility allows reading visual sample entry boxes with types that * aren't in the standard `VisualSampleEntryType` union (e.g., `'avc1'`, `'hvc1'`). * * @param type - The 4-character box type * * @returns A reader function that can be passed to `readIsoBoxes` * * @example * ```ts * const boxes = readIsoBoxes(data, { * readers: { * 'vp09': createVisualSampleEntryReader('vp09'), * 'av01': createVisualSampleEntryReader('av01'), * } * }) * ``` * * @public */ declare function createVisualSampleEntryReader(type: T$1): (view: IsoBoxReadView) => VisualSampleEntryBox; //#endregion //#region src/readers/defaultReaderConfig.d.ts /** * Create a default reader configuration with all available readers pre-configured. * * @returns An `IsoBoxReadViewConfig` with all available readers pre-configured * * @public */ declare function defaultReaderConfig(): IsoBoxReadViewConfig; //#endregion //#region src/readers/readArdi.d.ts /** * Parse a `AudioRenderingIndicationBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `AudioRenderingIndicationBox` * * @public */ declare function readArdi(view: IsoBoxReadView): AudioRenderingIndicationBox; //#endregion //#region src/readers/readAudioSampleEntryBox.d.ts /** * Parse a `AudioSampleEntryBox` from an `IsoBoxReadView`. * * @param type - The type of `AudioSampleEntryBox` to read * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `AudioSampleEntryBox` * * @public */ declare function readAudioSampleEntryBox(type: T$1, view: IsoBoxReadView): AudioSampleEntryBox; //#endregion //#region src/readers/readAvc1.d.ts /** * Parse a `VisualSampleEntryBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `VisualSampleEntryBox` * * @public */ declare function readAvc1(view: IsoBoxReadView): VisualSampleEntryBox<"avc1">; //#endregion //#region src/readers/readAvc2.d.ts /** * Parse a `VisualSampleEntryBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `VisualSampleEntryBox` * * @public */ declare function readAvc2(view: IsoBoxReadView): VisualSampleEntryBox<"avc2">; //#endregion //#region src/readers/readAvc3.d.ts /** * Parse a `VisualSampleEntryBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `VisualSampleEntryBox` * * @public */ declare function readAvc3(view: IsoBoxReadView): VisualSampleEntryBox<"avc3">; //#endregion //#region src/readers/readAvc4.d.ts /** * Parse a `VisualSampleEntryBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `VisualSampleEntryBox` * * @public */ declare function readAvc4(view: IsoBoxReadView): VisualSampleEntryBox<"avc4">; //#endregion //#region src/readers/readCtts.d.ts /** * Parse a `CompositionTimeToSampleBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `CompositionTimeToSampleBox` * * @public */ declare function readCtts(view: IsoBoxReadView): CompositionTimeToSampleBox; //#endregion //#region src/readers/readDref.d.ts /** * Parse a `DataReferenceBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `DataReferenceBox` * * @public */ declare function readDref(view: IsoBoxReadView): DataReferenceBox; //#endregion //#region src/readers/readElng.d.ts /** * Parse a `ExtendedLanguageBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `ExtendedLanguageBox` * * @public */ declare function readElng(view: IsoBoxReadView): ExtendedLanguageBox; //#endregion //#region src/readers/readElst.d.ts /** * Parse a `EditListBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `EditListBox` * * @public */ declare function readElst(view: IsoBoxReadView): EditListBox; //#endregion //#region src/readers/readEmsg.d.ts /** * Parse a `EventMessageBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `EventMessageBox` * * @public */ declare function readEmsg(view: IsoBoxReadView): EventMessageBox; //#endregion //#region src/readers/readEnca.d.ts /** * Parse an `AudioSampleEntryBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `AudioSampleEntryBox` * * @public */ declare function readEnca(view: IsoBoxReadView): AudioSampleEntryBox<"enca">; //#endregion //#region src/readers/readEncv.d.ts /** * Parse a `VisualSampleEntryBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `VisualSampleEntryBox` * * @public */ declare function readEncv(view: IsoBoxReadView): VisualSampleEntryBox<"encv">; //#endregion //#region src/readers/readFree.d.ts /** * Parse a `FreeSpaceBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `FreeSpaceBox` * * @public */ declare function readFree(view: IsoBoxReadView): FreeSpaceBox; //#endregion //#region src/readers/readFrma.d.ts /** * Parse an `OriginalFormatBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `OriginalFormatBox` * * @public */ declare function readFrma(view: IsoBoxReadView): OriginalFormatBox; //#endregion //#region src/readers/readFtyp.d.ts /** * Parse a `FileTypeBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `FileTypeBox` * * @public */ declare function readFtyp(view: IsoBoxReadView): FileTypeBox; //#endregion //#region src/readers/readHdlr.d.ts /** * Parse a `HandlerReferenceBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `HandlerReferenceBox` * * @public */ declare function readHdlr(view: IsoBoxReadView): HandlerReferenceBox; //#endregion //#region src/readers/readHev1.d.ts /** * Parse a `VisualSampleEntryBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `VisualSampleEntryBox` * * @public */ declare function readHev1(view: IsoBoxReadView): VisualSampleEntryBox<"hev1">; //#endregion //#region src/readers/readHvc1.d.ts /** * Parse a `VisualSampleEntryBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `VisualSampleEntryBox` * * @public */ declare function readHvc1(view: IsoBoxReadView): VisualSampleEntryBox<"hvc1">; //#endregion //#region src/readers/readIden.d.ts /** * Parse a `WebVttCueIdBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `WebVttCueIdBox` * * @public */ declare function readIden(view: IsoBoxReadView): WebVttCueIdBox; //#endregion //#region src/readers/readImda.d.ts /** * Parse a `IdentifiedMediaDataBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `IdentifiedMediaDataBox` * * @public */ declare function readImda(view: IsoBoxReadView): IdentifiedMediaDataBox; //#endregion //#region src/readers/readKind.d.ts /** * Parse a `TrackKindBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `TrackKindBox` * * @public */ declare function readKind(view: IsoBoxReadView): TrackKindBox; //#endregion //#region src/readers/readLabl.d.ts /** * Parse a `LabelBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `LabelBox` * * @public */ declare function readLabl(view: IsoBoxReadView): LabelBox; //#endregion //#region src/readers/readMdat.d.ts /** * Parse a `MediaDataBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `MediaDataBox` * * @public */ declare function readMdat(view: IsoBoxReadView): MediaDataBox; //#endregion //#region src/readers/readMdhd.d.ts /** * Parse a `MediaHeaderBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `MediaHeaderBox` * * @public */ declare function readMdhd(view: IsoBoxReadView): MediaHeaderBox; //#endregion //#region src/readers/readMehd.d.ts /** * Parse a `MovieExtendsHeaderBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `MovieExtendsHeaderBox` * * @public */ declare function readMehd(view: IsoBoxReadView): MovieExtendsHeaderBox; //#endregion //#region src/readers/readMeta.d.ts /** * Parse a `MetaBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `MetaBox` * * @public */ declare function readMeta(view: IsoBoxReadView): MetaBox; //#endregion //#region src/readers/readMfhd.d.ts /** * Parse a `MovieFragmentHeaderBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `MovieFragmentHeaderBox` * * @public */ declare function readMfhd(view: IsoBoxReadView): MovieFragmentHeaderBox; //#endregion //#region src/readers/readMfro.d.ts /** * Parse a `MovieFragmentRandomAccessOffsetBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `MovieFragmentRandomAccessOffsetBox` * * @public */ declare function readMfro(view: IsoBoxReadView): MovieFragmentRandomAccessOffsetBox; //#endregion //#region src/readers/readMp4a.d.ts /** * Parse an `AudioSampleEntryBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `AudioSampleEntryBox` * * @public */ declare function readMp4a(view: IsoBoxReadView): AudioSampleEntryBox<"mp4a">; //#endregion //#region src/readers/readMvhd.d.ts /** * Parse a `MovieHeaderBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `MovieHeaderBox` * * @public */ declare function readMvhd(view: IsoBoxReadView): MovieHeaderBox; //#endregion //#region src/readers/readPayl.d.ts /** * Parse a `WebVttCuePayloadBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `WebVttCuePayloadBox` * * @public */ declare function readPayl(view: IsoBoxReadView): WebVttCuePayloadBox; //#endregion //#region src/readers/readPrft.d.ts /** * Parse a `ProducerReferenceTimeBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `ProducerReferenceTimeBox` * * @public */ declare function readPrft(view: IsoBoxReadView): ProducerReferenceTimeBox; //#endregion //#region src/readers/readPrsl.d.ts /** * Parse a `PreselectionGroupBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `PreselectionGroupBox` * * @public */ declare function readPrsl(view: IsoBoxReadView): PreselectionGroupBox; //#endregion //#region src/readers/readPssh.d.ts /** * Parse a `ProtectionSystemSpecificHeaderBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `ProtectionSystemSpecificHeaderBox` * * @public */ declare function readPssh(view: IsoBoxReadView): ProtectionSystemSpecificHeaderBox; //#endregion //#region src/readers/readSchm.d.ts /** * Parse a `SchemeTypeBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `SchemeTypeBox` * * @public */ declare function readSchm(view: IsoBoxReadView): SchemeTypeBox; //#endregion //#region src/readers/readSdtp.d.ts /** * Parse a `SampleDependencyTypeBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `SampleDependencyTypeBox` * * @public */ declare function readSdtp(view: IsoBoxReadView): SampleDependencyTypeBox; //#endregion //#region src/readers/readSidx.d.ts /** * Parse a `SegmentIndexBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `SegmentIndexBox` * * @public */ declare function readSidx(view: IsoBoxReadView): SegmentIndexBox; //#endregion //#region src/readers/readSkip.d.ts /** * Parse a `FreeSpaceBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `FreeSpaceBox` * * @public */ declare function readSkip(view: IsoBoxReadView): FreeSpaceBox<"skip">; //#endregion //#region src/readers/readSmhd.d.ts /** * Parse a `SoundMediaHeaderBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `SoundMediaHeaderBox` * * @public */ declare function readSmhd(view: IsoBoxReadView): SoundMediaHeaderBox; //#endregion //#region src/readers/readSsix.d.ts /** * Parse a `SubsegmentIndexBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `SubsegmentIndexBox` * * @public */ declare function readSsix(view: IsoBoxReadView): SubsegmentIndexBox; //#endregion //#region src/readers/readSthd.d.ts /** * Parse a `SubtitleMediaHeaderBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `SubtitleMediaHeaderBox` * * @public */ declare function readSthd(view: IsoBoxReadView): SubtitleMediaHeaderBox; //#endregion //#region src/readers/readStsd.d.ts /** * Parse a `SampleDescriptionBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `SampleDescriptionBox` * * @public */ declare function readStsd(view: IsoBoxReadView): SampleDescriptionBox; //#endregion //#region src/readers/readStss.d.ts /** * Parse a `SyncSampleBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `SyncSampleBox` * * @public */ declare function readStss(view: IsoBoxReadView): SyncSampleBox; //#endregion //#region src/readers/readSttg.d.ts /** * Parse a `WebVttSettingsBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `WebVttSettingsBox` * * @public */ declare function readSttg(view: IsoBoxReadView): WebVttSettingsBox; //#endregion //#region src/readers/readStts.d.ts /** * Parse a `DecodingTimeToSampleBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `DecodingTimeToSampleBox` * * @public */ declare function readStts(view: IsoBoxReadView): DecodingTimeToSampleBox; //#endregion //#region src/readers/readStyp.d.ts /** * Parse a `SegmentTypeBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `SegmentTypeBox` * * @public */ declare function readStyp(view: IsoBoxReadView): SegmentTypeBox; //#endregion //#region src/readers/readSubs.d.ts /** * Parse a `SubsampleInformationBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `SubsampleInformationBox` * * @public */ declare function readSubs(view: IsoBoxReadView): SubsampleInformationBox; //#endregion //#region src/readers/readTenc.d.ts /** * Parse a `TrackEncryptionBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `TrackEncryptionBox` * * @public */ declare function readTenc(view: IsoBoxReadView): TrackEncryptionBox; //#endregion //#region src/readers/readTfdt.d.ts /** * Parse a `TrackFragmentBaseMediaDecodeTimeBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `TrackFragmentBaseMediaDecodeTimeBox` * * @public */ declare function readTfdt(view: IsoBoxReadView): TrackFragmentBaseMediaDecodeTimeBox; //#endregion //#region src/readers/readTfhd.d.ts /** * Parse a `TrackFragmentHeaderBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `TrackFragmentHeaderBox` * * @public */ declare function readTfhd(view: IsoBoxReadView): TrackFragmentHeaderBox; //#endregion //#region src/readers/readTfra.d.ts /** * Parse a `TrackFragmentRandomAccessBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `TrackFragmentRandomAccessBox` * * @public */ declare function readTfra(view: IsoBoxReadView): TrackFragmentRandomAccessBox; //#endregion //#region src/readers/readTkhd.d.ts /** * Parse a `TrackHeaderBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `TrackHeaderBox` * * @public */ declare function readTkhd(view: IsoBoxReadView): TrackHeaderBox; //#endregion //#region src/readers/readTrex.d.ts /** * Parse a `TrackExtendsBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `TrackExtendsBox` * * @public */ declare function readTrex(view: IsoBoxReadView): TrackExtendsBox; //#endregion //#region src/readers/readTrun.d.ts /** * Parse a `TrackRunBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `TrackRunBox` * * @public */ declare function readTrun(view: IsoBoxReadView): TrackRunBox; //#endregion //#region src/readers/readUrl.d.ts /** * Parse a `DataEntryUrlBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `DataEntryUrlBox` * * @public */ declare function readUrl(view: IsoBoxReadView): DataEntryUrlBox; //#endregion //#region src/readers/readUrn.d.ts /** * Parse a `DataEntryUrnBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `DataEntryUrnBox` * * @public */ declare function readUrn(view: IsoBoxReadView): DataEntryUrnBox; //#endregion //#region src/readers/readVisualSampleEntryBox.d.ts /** * Parse a `VisualSampleEntryBox` from an `IsoBoxReadView`. * * @param type - The type of `VisualSampleEntryBox` to read * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `VisualSampleEntryBox` * * @public */ declare function readVisualSampleEntryBox(type: T$1, view: IsoBoxReadView): VisualSampleEntryBox; //#endregion //#region src/readers/readVlab.d.ts /** * Parse a `WebVttSourceLabelBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `WebVttSourceLabelBox` * * @public */ declare function readVlab(view: IsoBoxReadView): WebVttSourceLabelBox; //#endregion //#region src/readers/readVmhd.d.ts /** * Parse a `VideoMediaHeaderBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `VideoMediaHeaderBox` * * @public */ declare function readVmhd(view: IsoBoxReadView): VideoMediaHeaderBox; //#endregion //#region src/readers/readVttC.d.ts /** * Parse a `WebVttConfigurationBox` from an `IsoBoxReadView`. * * @param view - The `IsoBoxReadView` to read data from * * @returns A parsed `WebVttConfigurationBox` * * @public */ declare function readVttC(view: IsoBoxReadView): WebVttConfigurationBox; //#endregion //#region src/readers/readVtte.d.ts /** * Parse a `WebVttEmptySampleBox` from an `IsoBoxReadView`. * * @returns A parsed `WebVttEmptySampleBox` * * @public */ declare function readVtte(_: IsoBoxReadView): WebVttEmptySampleBox; //#endregion //#region src/utils/CONTAINERS.d.ts /** * List of container box types * * @public */ declare const CONTAINERS: string[]; //#endregion //#region src/utils/fourCcToUint32.d.ts /** * Converts a 4-character string (e.g., FourCC code) to a Uint32 number. * Each character's code point is treated as a byte in big-endian order. * * @param str - A 4-character FourCC string * @returns The uint32 representation of the FourCC code * * @public * * @example * {@includeCode ../../test/fourCcToUint32.test.ts#example} */ declare function fourCcToUint32(str: string): number; //#endregion //#region src/utils/isContainer.d.ts /** * Check if a box is a container * * @param box - The box to check * * @returns `true` if the box is a container, `false` otherwise * * @public */ declare function isContainer>(box: T$1): box is T$1 & IsoBoxContainer; //#endregion //#region src/utils/isFullBox.d.ts /** * Check if a box is a full box * * @param box - The box to check * * @returns `true` if the box is a full box, `false` otherwise * * @public */ declare function isFullBox(box: any): box is FullBox; //#endregion //#region src/writers/defaultWriterConfig.d.ts /** * Create a default writer configuration with all available writers pre-configured. * * @returns An `IsoBoxWriteViewConfig` with all available writers pre-configured * * @public */ declare function defaultWriterConfig(): IsoBoxWriteViewConfig; //#endregion //#region src/writers/writeArdi.d.ts /** * Write an `AudioRenderingIndicationBox` to an `IsoBoxWriteView`. * * @param box - The `AudioRenderingIndicationBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeArdi(box: AudioRenderingIndicationBox): IsoBoxWriteView; //#endregion //#region src/writers/writeAudioSampleEntryBox.d.ts /** * Write an `AudioSampleEntryBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 12.2.3 Audio Sample Entry * * @param box - The `AudioSampleEntryBox` fields to write * @param config - The `IsoBoxWriteViewConfig` to use * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeAudioSampleEntryBox(box: AudioSampleEntryBox, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeAvc1.d.ts /** * Write a `VisualSampleEntryBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 12.1.3 Visual Sample Entry * * @param box - The `VisualSampleEntryBox` fields to write * @param config - The `IsoBoxWriteViewConfig` to use * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeAvc1(box: VisualSampleEntryBox<"avc1">, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeAvc2.d.ts /** * Write a `VisualSampleEntryBox` (avc2) to an `IsoBoxWriteView`. * * @param box - The `VisualSampleEntryBox` fields to write * @param config - The `IsoBoxWriteViewConfig` to use * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeAvc2(box: VisualSampleEntryBox<"avc2">, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeAvc3.d.ts /** * Write a `VisualSampleEntryBox` (avc3) to an `IsoBoxWriteView`. * * @param box - The `VisualSampleEntryBox` fields to write * @param config - The IsoBoxWriteViewConfig to use * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeAvc3(box: VisualSampleEntryBox<"avc3">, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeAvc4.d.ts /** * Write a `VisualSampleEntryBox` (avc4) to an `IsoBoxWriteView`. * * @param box - The `VisualSampleEntryBox` fields to write * @param config - The `IsoBoxWriteViewConfig` to use * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeAvc4(box: VisualSampleEntryBox<"avc4">, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeCtts.d.ts /** * Write a `CompositionTimeToSampleBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.6.1.3 Composition Time to Sample Box * * @param box - The `CompositionTimeToSampleBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeCtts(box: CompositionTimeToSampleBox): IsoBoxWriteView; //#endregion //#region src/writers/writeDref.d.ts /** * Write a `DataReferenceBox` to an `IsoBoxWriteView`. * * @param box - The `DataReferenceBox` fields to write * @param config - The IsoBoxWriteViewConfig to use * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeDref(box: DataReferenceBox, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeElng.d.ts /** * Write an `ExtendedLanguageBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.4.6 Extended Language Tag * * @param box - The `ExtendedLanguageBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeElng(box: ExtendedLanguageBox): IsoBoxWriteView; //#endregion //#region src/writers/writeElst.d.ts /** * Write an `EditListBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.6.6 Edit List Box * * @param box - The `EditListBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeElst(box: EditListBox): IsoBoxWriteView; //#endregion //#region src/writers/writeEmsg.d.ts /** * Write an `EventMessageBox` to an `IsoBoxWriteView`. * * ISO/IEC 23009-1 - 5.10.3.3 Event Message Box * * @param box - The `EventMessageBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeEmsg(box: EventMessageBox): IsoBoxWriteView; //#endregion //#region src/writers/writeEnca.d.ts /** * Write an `AudioSampleEntryBox` (enca) to an `IsoBoxWriteView`. * * @param box - The `AudioSampleEntryBox` fields to write * @param config - The `IsoBoxWriteViewConfig` to use * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeEnca(box: AudioSampleEntryBox<"enca">, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeEncv.d.ts /** * Write a `VisualSampleEntryBox` (encv) to an `IsoBoxWriteView`. * * @param box - The `VisualSampleEntryBox` fields to write * @param config - The `IsoBoxWriteViewConfig` to use * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeEncv(box: VisualSampleEntryBox<"encv">, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeFree.d.ts /** * Write a `FreeSpaceBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.1.2 Free Space Box * * @param box - The `FreeSpaceBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeFree(box: FreeSpaceBox<"free">): IsoBoxWriteView; //#endregion //#region src/writers/writeFrma.d.ts /** * Write an `OriginalFormatBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.12.2 Original Format Box * * @param box - The `OriginalFormatBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeFrma(box: OriginalFormatBox): IsoBoxWriteView; //#endregion //#region src/writers/writeFtyp.d.ts /** * Write a `FileTypeBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 4.3 File Type Box * * @param box - The `FileTypeBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeFtyp(box: FileTypeBox): IsoBoxWriteView; //#endregion //#region src/writers/writeHdlr.d.ts /** * Write a `HandlerReferenceBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.4.3 Handler Reference Box * * @param box - The `HandlerReferenceBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeHdlr(box: HandlerReferenceBox): IsoBoxWriteView; //#endregion //#region src/writers/writeHev1.d.ts /** * Write a `VisualSampleEntryBox` (hev1) to an `IsoBoxWriteView`. * * @param box - The `VisualSampleEntryBox` fields to write * @param config - The `IsoBoxWriteViewConfig` to use * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeHev1(box: VisualSampleEntryBox<"hev1">, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeHvc1.d.ts /** * Write a `VisualSampleEntryBox` (hvc1) to an `IsoBoxWriteView`. * * @param box - The `VisualSampleEntryBox` fields to write * @param config - The `IsoBoxWriteViewConfig` to use * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeHvc1(box: VisualSampleEntryBox<"hvc1">, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeIden.d.ts /** * Write a `WebVttCueIdBox` to an `IsoBoxWriteView`. * * @param box - The `WebVttCueIdBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeIden(box: WebVttCueIdBox): IsoBoxWriteView; //#endregion //#region src/writers/writeImda.d.ts /** * Write an `IdentifiedMediaDataBox` to an `IsoBoxWriteView`. * * @param box - The `IdentifiedMediaDataBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeImda(box: IdentifiedMediaDataBox): IsoBoxWriteView; //#endregion //#region src/writers/writeKind.d.ts /** * Write a `TrackKindBox` to an `IsoBoxWriteView`. * * @param box - The `TrackKindBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeKind(box: TrackKindBox): IsoBoxWriteView; //#endregion //#region src/writers/writeLabl.d.ts /** * Write a `LabelBox` to an `IsoBoxWriteView`. * * @param box - The `LabelBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeLabl(box: LabelBox): IsoBoxWriteView; //#endregion //#region src/writers/writeMdat.d.ts /** * Write a `MediaDataBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.1.1 Media Data Box * * @param box - The `MediaDataBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeMdat(box: MediaDataBox): IsoBoxWriteView; //#endregion //#region src/writers/writeMdhd.d.ts /** * Write a `MediaHeaderBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.4.2 Media Header Box * * @param box - The `MediaHeaderBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeMdhd(box: MediaHeaderBox): IsoBoxWriteView; //#endregion //#region src/writers/writeMehd.d.ts /** * Write a `MovieExtendsHeaderBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.8.2 Movie Extends Header Box * * @param box - The `MovieExtendsHeaderBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeMehd(box: MovieExtendsHeaderBox): IsoBoxWriteView; //#endregion //#region src/writers/writeMeta.d.ts /** * Write a `MetaBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.11.1 Meta Box * * @param box - The `MetaBox` fields to write * @param config - The `IsoBoxWriteViewConfig` to use * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeMeta(box: MetaBox, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeMfhd.d.ts /** * Write a `MovieFragmentHeaderBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.8.5 Movie Fragment Header Box * * @param box - The `MovieFragmentHeaderBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeMfhd(box: MovieFragmentHeaderBox): IsoBoxWriteView; //#endregion //#region src/writers/writeMfro.d.ts /** * Write a `MovieFragmentRandomAccessOffsetBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.8.11 Movie Fragment Random Access Offset Box * * @param box - The `MovieFragmentRandomAccessOffsetBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeMfro(box: MovieFragmentRandomAccessOffsetBox): IsoBoxWriteView; //#endregion //#region src/writers/writeMp4a.d.ts /** * Write an `AudioSampleEntryBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 12.2.3 Audio Sample Entry * * @param box - The `AudioSampleEntryBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeMp4a(box: AudioSampleEntryBox<"mp4a">, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeMvhd.d.ts /** * Write a `MovieHeaderBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.2.2 Movie Header Box * * @param box - The `MovieHeaderBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeMvhd(box: MovieHeaderBox): IsoBoxWriteView; //#endregion //#region src/writers/writePayl.d.ts /** * Write a `WebVttCuePayloadBox` to an `IsoBoxWriteView`. * * @param box - The `WebVttCuePayloadBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writePayl(box: WebVttCuePayloadBox): IsoBoxWriteView; //#endregion //#region src/writers/writePrft.d.ts /** * Write a `ProducerReferenceTimeBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.16.5 Producer Reference Time Box * * @param box - The `ProducerReferenceTimeBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writePrft(box: ProducerReferenceTimeBox): IsoBoxWriteView; //#endregion //#region src/writers/writePrsl.d.ts /** * Write a `PreselectionGroupBox` to an `IsoBoxWriteView`. * * @param box - The `PreselectionGroupBox` fields to write * @param config - The `IsoBoxWriteViewConfig` to use * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writePrsl(box: PreselectionGroupBox, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writePssh.d.ts /** * Write a `ProtectionSystemSpecificHeaderBox` to an `IsoBoxWriteView`. * * ISO/IEC 23001-7 - 8.1 Protection System Specific Header Box * * @param box - The `ProtectionSystemSpecificHeaderBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writePssh(box: ProtectionSystemSpecificHeaderBox): IsoBoxWriteView; //#endregion //#region src/writers/writeSchm.d.ts /** * Write a `SchemeTypeBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.12.5 Scheme Type Box * * @param box - The `SchemeTypeBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeSchm(box: SchemeTypeBox): IsoBoxWriteView; //#endregion //#region src/writers/writeSdtp.d.ts /** * Write a `SampleDependencyTypeBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.6.4 Independent and Disposable Samples Box * * @param box - The `SampleDependencyTypeBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeSdtp(box: SampleDependencyTypeBox): IsoBoxWriteView; //#endregion //#region src/writers/writeSidx.d.ts /** * Write a `SegmentIndexBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.16.3 Segment Index Box * * @param box - The `SegmentIndexBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeSidx(box: SegmentIndexBox): IsoBoxWriteView; //#endregion //#region src/writers/writeSkip.d.ts /** * Write a `FreeSpaceBox` (skip variant) to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.1.2 Free Space Box * * @param box - The `FreeSpaceBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeSkip(box: FreeSpaceBox<"skip">): IsoBoxWriteView; //#endregion //#region src/writers/writeSmhd.d.ts /** * Write a `SoundMediaHeaderBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 12.2.2 Sound Media Header Box * * @param box - The `SoundMediaHeaderBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeSmhd(box: SoundMediaHeaderBox): IsoBoxWriteView; //#endregion //#region src/writers/writeSsix.d.ts /** * Write a `SubsegmentIndexBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.16.4 Subsegment Index Box * * @param box - The `SubsegmentIndexBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeSsix(box: SubsegmentIndexBox): IsoBoxWriteView; //#endregion //#region src/writers/writeStco.d.ts /** * Write a `ChunkOffsetBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.7.5 Chunk Offset Box * * @param box - The `ChunkOffsetBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeStco(box: ChunkOffsetBox): IsoBoxWriteView; //#endregion //#region src/writers/writeSthd.d.ts /** * Write a `SubtitleMediaHeaderBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 12.6.2 Subtitle Media Header Box * * @param box - The `SubtitleMediaHeaderBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeSthd(box: SubtitleMediaHeaderBox): IsoBoxWriteView; //#endregion //#region src/writers/writeStsc.d.ts /** * Write a `SampleToChunkBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.7.4 Sample to Chunk Box * * @param box - The `SampleToChunkBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeStsc(box: SampleToChunkBox): IsoBoxWriteView; //#endregion //#region src/writers/writeStsd.d.ts /** * Write a `SampleDescriptionBox` to an `IsoBoxWriteView`. * * @param box - The `SampleDescriptionBox` fields to write * @param config - The IsoBoxWriteViewConfig to use * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeStsd(box: SampleDescriptionBox, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeStss.d.ts /** * Write a `SyncSampleBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.6.2 Sync Sample Box * * @param box - The `SyncSampleBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeStss(box: SyncSampleBox): IsoBoxWriteView; //#endregion //#region src/writers/writeStsz.d.ts /** * Write a `SampleSizeBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.7.3 Sample Size Box * * @param box - The `SampleSizeBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeStsz(box: SampleSizeBox): IsoBoxWriteView; //#endregion //#region src/writers/writeSttg.d.ts /** * Write a `WebVttSettingsBox` to an `IsoBoxWriteView`. * * @param box - The `WebVttSettingsBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeSttg(box: WebVttSettingsBox): IsoBoxWriteView; //#endregion //#region src/writers/writeStts.d.ts /** * Write a `DecodingTimeToSampleBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.6.1.2 Decoding Time to Sample Box * * @param box - The `DecodingTimeToSampleBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeStts(box: DecodingTimeToSampleBox): IsoBoxWriteView; //#endregion //#region src/writers/writeStyp.d.ts /** * Write a `SegmentTypeBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.16.2 Segment Type Box * * @param box - The `SegmentTypeBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeStyp(box: SegmentTypeBox): IsoBoxWriteView; //#endregion //#region src/writers/writeSubs.d.ts /** * Write a `SubsampleInformationBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.7.7 Sub-Sample Information Box * * @param box - The `SubsampleInformationBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeSubs(box: SubsampleInformationBox): IsoBoxWriteView; //#endregion //#region src/writers/writeTenc.d.ts /** * Write a `TrackEncryptionBox` to an `IsoBoxWriteView`. * * ISO/IEC 23001-7 - 8.2 Track Encryption Box * * @param box - The `TrackEncryptionBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeTenc(box: TrackEncryptionBox): IsoBoxWriteView; //#endregion //#region src/writers/writeTfdt.d.ts /** * Write a `TrackFragmentBaseMediaDecodeTimeBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.8.12 Track Fragment Base Media Decode Time Box * * @param box - The `TrackFragmentBaseMediaDecodeTimeBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeTfdt(box: TrackFragmentBaseMediaDecodeTimeBox): IsoBoxWriteView; //#endregion //#region src/writers/writeTfhd.d.ts /** * Write a `TrackFragmentHeaderBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.8.7 Track Fragment Header Box * * @param box - The `TrackFragmentHeaderBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeTfhd(box: TrackFragmentHeaderBox): IsoBoxWriteView; //#endregion //#region src/writers/writeTfra.d.ts /** * Write a `TrackFragmentRandomAccessBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.8.10 Track Fragment Random Access Box * * @param box - The `TrackFragmentRandomAccessBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeTfra(box: TrackFragmentRandomAccessBox): IsoBoxWriteView; //#endregion //#region src/writers/writeTkhd.d.ts /** * Write a `TrackHeaderBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.3.2 Track Header Box * * @param box - The `TrackHeaderBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeTkhd(box: TrackHeaderBox): IsoBoxWriteView; //#endregion //#region src/writers/writeTrex.d.ts /** * Write a `TrackExtendsBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.8.3 Track Extends Box * * @param box - The `TrackExtendsBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeTrex(box: TrackExtendsBox): IsoBoxWriteView; //#endregion //#region src/writers/writeTrun.d.ts /** * Write a `TrackRunBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.8.8 Track Run Box * * @param box - The `TrackRunBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeTrun(box: TrackRunBox): IsoBoxWriteView; //#endregion //#region src/writers/writeUrl.d.ts /** * Write a `DataEntryUrlBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.7.2 Data Reference Box * * @param box - The `DataEntryUrlBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeUrl(box: DataEntryUrlBox): IsoBoxWriteView; //#endregion //#region src/writers/writeUrn.d.ts /** * Write a `DataEntryUrnBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 8.7.2 Data Reference Box * * @param box - The `DataEntryUrnBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeUrn(box: DataEntryUrnBox): IsoBoxWriteView; //#endregion //#region src/writers/writeVisualSampleEntryBox.d.ts /** * Write a `VisualSampleEntryBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 12.1.3 Visual Sample Entry * * @param box - The `VisualSampleEntryBox` fields to write * @param config - The configuration for the writer * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeVisualSampleEntryBox(box: VisualSampleEntryBox, config: IsoBoxWriteViewConfig): IsoBoxWriteView; //#endregion //#region src/writers/writeVlab.d.ts /** * Write a `WebVttSourceLabelBox` to an `IsoBoxWriteView`. * * @param box - The `WebVttSourceLabelBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeVlab(box: WebVttSourceLabelBox): IsoBoxWriteView; //#endregion //#region src/writers/writeVmhd.d.ts /** * Write a `VideoMediaHeaderBox` to an `IsoBoxWriteView`. * * ISO/IEC 14496-12:2012 - 12.1.2 Video Media Header Box * * @param box - The `VideoMediaHeaderBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeVmhd(box: VideoMediaHeaderBox): IsoBoxWriteView; //#endregion //#region src/writers/writeVttC.d.ts /** * Write a `WebVttConfigurationBox` to an `IsoBoxWriteView`. * * @param box - The `WebVttConfigurationBox` fields to write * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeVttC(box: WebVttConfigurationBox): IsoBoxWriteView; //#endregion //#region src/writers/writeVtte.d.ts /** * Write a `WebVttEmptySampleBox` to an `IsoBoxWriteView`. * * @returns An `IsoBoxWriteView` containing the encoded box * * @public */ declare function writeVtte(_: WebVttEmptySampleBox): IsoBoxWriteView; //#endregion export { AdditionalMetadataContainerBox, AdditionalMetadataContainerBoxChild, AudioRenderingIndicationBox, AudioSampleEntryBox, AudioSampleEntryBoxChild, AudioSampleEntryType, Box, CONTAINERS, ChunkLargeOffsetBox, ChunkOffsetBox, CompactSampleSizeBox, CompositionTimeToSampleBox, CompositionTimeToSampleEntry, DATA, DataEntryUrlBox, DataEntryUrnBox, DataInformationBox, DataInformationBoxChild, DataReferenceBox, DecodingTimeSample, DecodingTimeToSampleBox, DegradationPriorityBox, EditBox, EditBoxChild, EditListBox, EditListEntry, EncryptedSample, Entity, EventMessageBox, EventMessageBoxBase, EventMessageBoxV0, EventMessageBoxV1, ExtendedLanguageBox, FileTypeBox, FreeSpaceBox, FullBox, GroupsListBox, GroupsListBoxChild, HandlerReferenceBox, HintMediaHeaderBox, INT, IdentifiedMediaDataBox, IpmpInfoBox, IsoBox, IsoBoxContainer, IsoBoxContainerMap, IsoBoxData, IsoBoxFields, IsoBoxMap, IsoBoxReadView, IsoBoxReadViewConfig, IsoBoxReadableStream, IsoBoxReader, IsoBoxReaderMap, IsoBoxReaderReturn, IsoBoxStreamable, IsoBoxType, IsoBoxWriteView, IsoBoxWriteViewConfig, IsoBoxWriter, IsoBoxWriterMap, IsoFieldTypeMap, IsoTypedParsedBox, ItemExtent, ItemInfoBox, ItemInfoBoxChild, ItemInfoEntry, ItemLocation, ItemLocationBox, ItemProtectionBox, ItemProtectionBoxChild, ItemReferenceBox, ItemReferenceBoxChild, LabelBox, MediaBox, MediaBoxChild, MediaDataBox, MediaHeaderBox, MediaInformationBox, MediaInformationBoxChild, MetaBox, MetaBoxChild, MovieBox, MovieBoxChild, MovieExtendsBox, MovieExtendsBoxChild, MovieExtendsHeaderBox, MovieFragmentBox, MovieFragmentBoxChild, MovieFragmentHeaderBox, MovieFragmentRandomAccessBox, MovieFragmentRandomAccessBoxChild, MovieFragmentRandomAccessOffsetBox, MovieHeaderBox, NullMediaHeaderBox, OriginalFormatBox, ParsedBox, ParsedIsoBox, PreselectionGroupBox, PreselectionGroupBoxChild, PrimaryItemBox, ProducerReferenceTimeBox, ProtectionSchemeInformationBox, ProtectionSchemeInformationBoxChild, ProtectionSystemSpecificHeaderBox, STRING, SampleAuxiliaryInformationOffsetsBox, SampleAuxiliaryInformationSizesBox, SampleDependencyTypeBox, SampleDescriptionBox, SampleEncryptionBox, SampleEntryBox, SampleGroupDescriptionBox, SampleSizeBox, SampleTableBox, SampleTableBoxChild, SampleToChunkBox, SampleToChunkEntry, SampleToGroupBox, SampleToGroupEntry, SchemeInformationBox, SchemeInformationBoxChild, SchemeTypeBox, SegmentIndexBox, SegmentIndexReference, SegmentTypeBox, ShadowSyncEntry, ShadowSyncSampleBox, SingleItemTypeReferenceBox, SoundMediaHeaderBox, SubTrackBox, SubTrackBoxChild, Subsample, SubsampleEncryption, SubsampleEntry, SubsampleInformationBox, Subsegment, SubsegmentIndexBox, SubsegmentRange, SubtitleMediaHeaderBox, SyncSample, SyncSampleBox, TEMPLATE, TrackBox, TrackBoxChild, TrackEncryptionBox, TrackExtendsBox, TrackFragmentBaseMediaDecodeTimeBox, TrackFragmentBox, TrackFragmentBoxChild, TrackFragmentHeaderBox, TrackFragmentRandomAccessBox, TrackFragmentRandomAccessEntry, TrackHeaderBox, TrackKindBox, TrackReferenceBox, TrackReferenceBoxChild, TrackReferenceTypeBox, TrackRunBox, TrackRunSample, TraverseIsoBoxesConfig, TypeBox, UINT, UTF8, UserDataBox, UserDataBoxChild, VideoMediaHeaderBox, VisualSampleEntryBox, VisualSampleEntryBoxChild, VisualSampleEntryType, WebVttConfigurationBox, WebVttCueBox, WebVttCueChild, WebVttCueIdBox, WebVttCuePayloadBox, WebVttEmptySampleBox, WebVttSettingsBox, WebVttSourceLabelBox, co64, createAudioSampleEntryReader, createIsoBoxReadableStream, createVisualSampleEntryReader, defaultReaderConfig, defaultWriterConfig, filterIsoBoxes, findIsoBox, fourCcToUint32, isContainer, isFullBox, isIsoBoxType, readArdi, readAudioSampleEntryBox, readAvc1, readAvc2, readAvc3, readAvc4, readCtts, readDref, readElng, readElst, readEmsg, readEnca, readEncv, readFree, readFrma, readFtyp, readHdlr, readHev1, readHvc1, readIden, readImda, readIsoBoxes, readKind, readLabl, readMdat, readMdhd, readMehd, readMeta, readMfhd, readMfro, readMp4a, readMvhd, readPayl, readPrft, readPrsl, readPssh, readSchm, readSdtp, readSidx, readSkip, readSmhd, readSsix, readSthd, readStsd, readStss, readSttg, readStts, readStyp, readSubs, readTenc, readTfdt, readTfhd, readTfra, readTkhd, readTrex, readTrun, readUrl, readUrn, readVisualSampleEntryBox, readVlab, readVmhd, readVttC, readVtte, stz2, traverseIsoBoxes, url, urn, writeArdi, writeAudioSampleEntryBox, writeAvc1, writeAvc2, writeAvc3, writeAvc4, writeCtts, writeDref, writeElng, writeElst, writeEmsg, writeEnca, writeEncv, writeFree, writeFrma, writeFtyp, writeHdlr, writeHev1, writeHvc1, writeIden, writeImda, writeIsoBox, writeIsoBoxes, writeKind, writeLabl, writeMdat, writeMdhd, writeMehd, writeMeta, writeMfhd, writeMfro, writeMp4a, writeMvhd, writePayl, writePrft, writePrsl, writePssh, writeSchm, writeSdtp, writeSidx, writeSkip, writeSmhd, writeSsix, writeStco, writeSthd, writeStsc, writeStsd, writeStss, writeStsz, writeSttg, writeStts, writeStyp, writeSubs, writeTenc, writeTfdt, writeTfhd, writeTfra, writeTkhd, writeTrex, writeTrun, writeUrl, writeUrn, writeVisualSampleEntryBox, writeVlab, writeVmhd, writeVttC, writeVtte }; //# sourceMappingURL=index.d.ts.map