@svta/cml-iso-bmff 0.19.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -0
- package/dist/index.d.ts +2825 -204
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1896 -67
- package/dist/index.js.map +1 -1
- package/package.json +4 -23
- package/NOTICE +0 -33
- package/dist/BoxFilter.d.ts +0 -9
- package/dist/BoxFilter.d.ts.map +0 -1
- package/dist/BoxFilter.js +0 -2
- package/dist/BoxFilter.js.map +0 -1
- package/dist/BoxParser.d.ts +0 -12
- package/dist/BoxParser.d.ts.map +0 -1
- package/dist/BoxParser.js +0 -2
- package/dist/BoxParser.js.map +0 -1
- package/dist/BoxParserMap.d.ts +0 -9
- package/dist/BoxParserMap.d.ts.map +0 -1
- package/dist/BoxParserMap.js +0 -2
- package/dist/BoxParserMap.js.map +0 -1
- package/dist/CONTAINERS.d.ts +0 -2
- package/dist/CONTAINERS.d.ts.map +0 -1
- package/dist/CONTAINERS.js +0 -26
- package/dist/CONTAINERS.js.map +0 -1
- package/dist/IsoData.d.ts +0 -8
- package/dist/IsoData.d.ts.map +0 -1
- package/dist/IsoData.js +0 -2
- package/dist/IsoData.js.map +0 -1
- package/dist/IsoView.d.ts +0 -145
- package/dist/IsoView.d.ts.map +0 -1
- package/dist/IsoView.js +0 -285
- package/dist/IsoView.js.map +0 -1
- package/dist/IsoViewConfig.d.ts +0 -18
- package/dist/IsoViewConfig.d.ts.map +0 -1
- package/dist/IsoViewConfig.js +0 -2
- package/dist/IsoViewConfig.js.map +0 -1
- package/dist/boxes/AudioRenderingIndicationBox.d.ts +0 -12
- package/dist/boxes/AudioRenderingIndicationBox.d.ts.map +0 -1
- package/dist/boxes/AudioRenderingIndicationBox.js +0 -2
- package/dist/boxes/AudioRenderingIndicationBox.js.map +0 -1
- package/dist/boxes/AudioSampleEntryBox.d.ts +0 -18
- package/dist/boxes/AudioSampleEntryBox.d.ts.map +0 -1
- package/dist/boxes/AudioSampleEntryBox.js +0 -2
- package/dist/boxes/AudioSampleEntryBox.js.map +0 -1
- package/dist/boxes/Box.d.ts +0 -15
- package/dist/boxes/Box.d.ts.map +0 -1
- package/dist/boxes/Box.js +0 -2
- package/dist/boxes/Box.js.map +0 -1
- package/dist/boxes/ChunkLargeOffsetBox.d.ts +0 -13
- package/dist/boxes/ChunkLargeOffsetBox.d.ts.map +0 -1
- package/dist/boxes/ChunkLargeOffsetBox.js +0 -2
- package/dist/boxes/ChunkLargeOffsetBox.js.map +0 -1
- package/dist/boxes/ChunkOffsetBox.d.ts +0 -13
- package/dist/boxes/ChunkOffsetBox.d.ts.map +0 -1
- package/dist/boxes/ChunkOffsetBox.js +0 -2
- package/dist/boxes/ChunkOffsetBox.js.map +0 -1
- package/dist/boxes/CompTimeToSampleEntry.d.ts +0 -11
- package/dist/boxes/CompTimeToSampleEntry.d.ts.map +0 -1
- package/dist/boxes/CompTimeToSampleEntry.js +0 -2
- package/dist/boxes/CompTimeToSampleEntry.js.map +0 -1
- package/dist/boxes/CompactSampleSizeBox.d.ts +0 -14
- package/dist/boxes/CompactSampleSizeBox.d.ts.map +0 -1
- package/dist/boxes/CompactSampleSizeBox.js +0 -2
- package/dist/boxes/CompactSampleSizeBox.js.map +0 -1
- package/dist/boxes/CompositionTimeToSampleBox.d.ts +0 -14
- package/dist/boxes/CompositionTimeToSampleBox.d.ts.map +0 -1
- package/dist/boxes/CompositionTimeToSampleBox.js +0 -2
- package/dist/boxes/CompositionTimeToSampleBox.js.map +0 -1
- package/dist/boxes/CompositionTimeToSampleEntry.d.ts +0 -11
- package/dist/boxes/CompositionTimeToSampleEntry.d.ts.map +0 -1
- package/dist/boxes/CompositionTimeToSampleEntry.js +0 -2
- package/dist/boxes/CompositionTimeToSampleEntry.js.map +0 -1
- package/dist/boxes/ContainerBox.d.ts +0 -11
- package/dist/boxes/ContainerBox.d.ts.map +0 -1
- package/dist/boxes/ContainerBox.js +0 -2
- package/dist/boxes/ContainerBox.js.map +0 -1
- package/dist/boxes/DataEntryUrlBox.d.ts +0 -12
- package/dist/boxes/DataEntryUrlBox.d.ts.map +0 -1
- package/dist/boxes/DataEntryUrlBox.js +0 -2
- package/dist/boxes/DataEntryUrlBox.js.map +0 -1
- package/dist/boxes/DataEntryUrnBox.d.ts +0 -13
- package/dist/boxes/DataEntryUrnBox.d.ts.map +0 -1
- package/dist/boxes/DataEntryUrnBox.js +0 -2
- package/dist/boxes/DataEntryUrnBox.js.map +0 -1
- package/dist/boxes/DataInformationBox.d.ts +0 -12
- package/dist/boxes/DataInformationBox.d.ts.map +0 -1
- package/dist/boxes/DataInformationBox.js +0 -2
- package/dist/boxes/DataInformationBox.js.map +0 -1
- package/dist/boxes/DataReferenceBox.d.ts +0 -15
- package/dist/boxes/DataReferenceBox.d.ts.map +0 -1
- package/dist/boxes/DataReferenceBox.js +0 -2
- package/dist/boxes/DataReferenceBox.js.map +0 -1
- package/dist/boxes/DecodingTimeSample.d.ts +0 -13
- package/dist/boxes/DecodingTimeSample.d.ts.map +0 -1
- package/dist/boxes/DecodingTimeSample.js +0 -2
- package/dist/boxes/DecodingTimeSample.js.map +0 -1
- package/dist/boxes/DecodingTimeToSampleBox.d.ts +0 -16
- package/dist/boxes/DecodingTimeToSampleBox.d.ts.map +0 -1
- package/dist/boxes/DecodingTimeToSampleBox.js +0 -2
- package/dist/boxes/DecodingTimeToSampleBox.js.map +0 -1
- package/dist/boxes/DegradationPriorityBox.d.ts +0 -12
- package/dist/boxes/DegradationPriorityBox.d.ts.map +0 -1
- package/dist/boxes/DegradationPriorityBox.js +0 -2
- package/dist/boxes/DegradationPriorityBox.js.map +0 -1
- package/dist/boxes/EditBox.d.ts +0 -12
- package/dist/boxes/EditBox.d.ts.map +0 -1
- package/dist/boxes/EditBox.js +0 -2
- package/dist/boxes/EditBox.js.map +0 -1
- package/dist/boxes/EditListBox.d.ts +0 -14
- package/dist/boxes/EditListBox.d.ts.map +0 -1
- package/dist/boxes/EditListBox.js +0 -2
- package/dist/boxes/EditListBox.js.map +0 -1
- package/dist/boxes/EditListEntry.d.ts +0 -13
- package/dist/boxes/EditListEntry.d.ts.map +0 -1
- package/dist/boxes/EditListEntry.js +0 -2
- package/dist/boxes/EditListEntry.js.map +0 -1
- package/dist/boxes/EncryptedSample.d.ts +0 -12
- package/dist/boxes/EncryptedSample.d.ts.map +0 -1
- package/dist/boxes/EncryptedSample.js +0 -2
- package/dist/boxes/EncryptedSample.js.map +0 -1
- package/dist/boxes/Entity.d.ts +0 -11
- package/dist/boxes/Entity.d.ts.map +0 -1
- package/dist/boxes/Entity.js +0 -2
- package/dist/boxes/Entity.js.map +0 -1
- package/dist/boxes/EventMessageBox.d.ts +0 -19
- package/dist/boxes/EventMessageBox.d.ts.map +0 -1
- package/dist/boxes/EventMessageBox.js +0 -2
- package/dist/boxes/EventMessageBox.js.map +0 -1
- package/dist/boxes/ExtendedLanguageBox.d.ts +0 -12
- package/dist/boxes/ExtendedLanguageBox.d.ts.map +0 -1
- package/dist/boxes/ExtendedLanguageBox.js +0 -2
- package/dist/boxes/ExtendedLanguageBox.js.map +0 -1
- package/dist/boxes/Fields.d.ts +0 -9
- package/dist/boxes/Fields.d.ts.map +0 -1
- package/dist/boxes/Fields.js +0 -2
- package/dist/boxes/Fields.js.map +0 -1
- package/dist/boxes/FileTypeBox.d.ts +0 -9
- package/dist/boxes/FileTypeBox.d.ts.map +0 -1
- package/dist/boxes/FileTypeBox.js +0 -2
- package/dist/boxes/FileTypeBox.js.map +0 -1
- package/dist/boxes/FreeSpaceBox.d.ts +0 -12
- package/dist/boxes/FreeSpaceBox.d.ts.map +0 -1
- package/dist/boxes/FreeSpaceBox.js +0 -2
- package/dist/boxes/FreeSpaceBox.js.map +0 -1
- package/dist/boxes/FullBox.d.ts +0 -12
- package/dist/boxes/FullBox.d.ts.map +0 -1
- package/dist/boxes/FullBox.js +0 -2
- package/dist/boxes/FullBox.js.map +0 -1
- package/dist/boxes/HandlerReferenceBox.d.ts +0 -15
- package/dist/boxes/HandlerReferenceBox.d.ts.map +0 -1
- package/dist/boxes/HandlerReferenceBox.js +0 -2
- package/dist/boxes/HandlerReferenceBox.js.map +0 -1
- package/dist/boxes/HintMediaHeaderBox.d.ts +0 -15
- package/dist/boxes/HintMediaHeaderBox.d.ts.map +0 -1
- package/dist/boxes/HintMediaHeaderBox.js +0 -2
- package/dist/boxes/HintMediaHeaderBox.js.map +0 -1
- package/dist/boxes/IdentifiedMediaDataBox.d.ts +0 -13
- package/dist/boxes/IdentifiedMediaDataBox.d.ts.map +0 -1
- package/dist/boxes/IdentifiedMediaDataBox.js +0 -2
- package/dist/boxes/IdentifiedMediaDataBox.js.map +0 -1
- package/dist/boxes/IpmpInfoBox.d.ts +0 -12
- package/dist/boxes/IpmpInfoBox.d.ts.map +0 -1
- package/dist/boxes/IpmpInfoBox.js +0 -2
- package/dist/boxes/IpmpInfoBox.js.map +0 -1
- package/dist/boxes/IsoBmffBox.d.ts +0 -10
- package/dist/boxes/IsoBmffBox.d.ts.map +0 -1
- package/dist/boxes/IsoBmffBox.js +0 -2
- package/dist/boxes/IsoBmffBox.js.map +0 -1
- package/dist/boxes/IsoBmffBoxMap.d.ts +0 -193
- package/dist/boxes/IsoBmffBoxMap.d.ts.map +0 -1
- package/dist/boxes/IsoBmffBoxMap.js +0 -2
- package/dist/boxes/IsoBmffBoxMap.js.map +0 -1
- package/dist/boxes/IsoBox.d.ts +0 -80
- package/dist/boxes/IsoBox.d.ts.map +0 -1
- package/dist/boxes/IsoBox.js +0 -2
- package/dist/boxes/IsoBox.js.map +0 -1
- package/dist/boxes/IsoContainerBox.d.ts +0 -27
- package/dist/boxes/IsoContainerBox.d.ts.map +0 -1
- package/dist/boxes/IsoContainerBox.js +0 -2
- package/dist/boxes/IsoContainerBox.js.map +0 -1
- package/dist/boxes/ItemExtent.d.ts +0 -12
- package/dist/boxes/ItemExtent.d.ts.map +0 -1
- package/dist/boxes/ItemExtent.js +0 -2
- package/dist/boxes/ItemExtent.js.map +0 -1
- package/dist/boxes/ItemInfoBox.d.ts +0 -13
- package/dist/boxes/ItemInfoBox.d.ts.map +0 -1
- package/dist/boxes/ItemInfoBox.js +0 -2
- package/dist/boxes/ItemInfoBox.js.map +0 -1
- package/dist/boxes/ItemInfoEntry.d.ts +0 -17
- package/dist/boxes/ItemInfoEntry.d.ts.map +0 -1
- package/dist/boxes/ItemInfoEntry.js +0 -2
- package/dist/boxes/ItemInfoEntry.js.map +0 -1
- package/dist/boxes/ItemLocation.d.ts +0 -15
- package/dist/boxes/ItemLocation.d.ts.map +0 -1
- package/dist/boxes/ItemLocation.js +0 -2
- package/dist/boxes/ItemLocation.js.map +0 -1
- package/dist/boxes/ItemLocationBox.d.ts +0 -18
- package/dist/boxes/ItemLocationBox.d.ts.map +0 -1
- package/dist/boxes/ItemLocationBox.js +0 -2
- package/dist/boxes/ItemLocationBox.js.map +0 -1
- package/dist/boxes/ItemProtectionBox.d.ts +0 -13
- package/dist/boxes/ItemProtectionBox.d.ts.map +0 -1
- package/dist/boxes/ItemProtectionBox.js +0 -2
- package/dist/boxes/ItemProtectionBox.js.map +0 -1
- package/dist/boxes/ItemReferenceBox.d.ts +0 -12
- package/dist/boxes/ItemReferenceBox.d.ts.map +0 -1
- package/dist/boxes/ItemReferenceBox.js +0 -2
- package/dist/boxes/ItemReferenceBox.js.map +0 -1
- package/dist/boxes/LabelBox.d.ts +0 -15
- package/dist/boxes/LabelBox.d.ts.map +0 -1
- package/dist/boxes/LabelBox.js +0 -2
- package/dist/boxes/LabelBox.js.map +0 -1
- package/dist/boxes/MediaBox.d.ts +0 -14
- package/dist/boxes/MediaBox.d.ts.map +0 -1
- package/dist/boxes/MediaBox.js +0 -2
- package/dist/boxes/MediaBox.js.map +0 -1
- package/dist/boxes/MediaDataBox.d.ts +0 -12
- package/dist/boxes/MediaDataBox.d.ts.map +0 -1
- package/dist/boxes/MediaDataBox.js +0 -2
- package/dist/boxes/MediaDataBox.js.map +0 -1
- package/dist/boxes/MediaHeaderBox.d.ts +0 -23
- package/dist/boxes/MediaHeaderBox.d.ts.map +0 -1
- package/dist/boxes/MediaHeaderBox.js +0 -2
- package/dist/boxes/MediaHeaderBox.js.map +0 -1
- package/dist/boxes/MediaInformationBox.d.ts +0 -17
- package/dist/boxes/MediaInformationBox.d.ts.map +0 -1
- package/dist/boxes/MediaInformationBox.js +0 -2
- package/dist/boxes/MediaInformationBox.js.map +0 -1
- package/dist/boxes/MetaBox.d.ts +0 -19
- package/dist/boxes/MetaBox.d.ts.map +0 -1
- package/dist/boxes/MetaBox.js +0 -2
- package/dist/boxes/MetaBox.js.map +0 -1
- package/dist/boxes/MovieBox.d.ts +0 -15
- package/dist/boxes/MovieBox.d.ts.map +0 -1
- package/dist/boxes/MovieBox.js +0 -2
- package/dist/boxes/MovieBox.js.map +0 -1
- package/dist/boxes/MovieExtendsBox.d.ts +0 -13
- package/dist/boxes/MovieExtendsBox.d.ts.map +0 -1
- package/dist/boxes/MovieExtendsBox.js +0 -2
- package/dist/boxes/MovieExtendsBox.js.map +0 -1
- package/dist/boxes/MovieExtendsHeaderBox.d.ts +0 -12
- package/dist/boxes/MovieExtendsHeaderBox.d.ts.map +0 -1
- package/dist/boxes/MovieExtendsHeaderBox.js +0 -2
- package/dist/boxes/MovieExtendsHeaderBox.js.map +0 -1
- package/dist/boxes/MovieFragmentBox.d.ts +0 -13
- package/dist/boxes/MovieFragmentBox.d.ts.map +0 -1
- package/dist/boxes/MovieFragmentBox.js +0 -2
- package/dist/boxes/MovieFragmentBox.js.map +0 -1
- package/dist/boxes/MovieFragmentHeaderBox.d.ts +0 -12
- package/dist/boxes/MovieFragmentHeaderBox.d.ts.map +0 -1
- package/dist/boxes/MovieFragmentHeaderBox.js +0 -2
- package/dist/boxes/MovieFragmentHeaderBox.js.map +0 -1
- package/dist/boxes/MovieFragmentRandomAccessBox.d.ts +0 -13
- package/dist/boxes/MovieFragmentRandomAccessBox.d.ts.map +0 -1
- package/dist/boxes/MovieFragmentRandomAccessBox.js +0 -2
- package/dist/boxes/MovieFragmentRandomAccessBox.js.map +0 -1
- package/dist/boxes/MovieFragmentRandomAccessOffsetBox.d.ts +0 -12
- package/dist/boxes/MovieFragmentRandomAccessOffsetBox.d.ts.map +0 -1
- package/dist/boxes/MovieFragmentRandomAccessOffsetBox.js +0 -2
- package/dist/boxes/MovieFragmentRandomAccessOffsetBox.js.map +0 -1
- package/dist/boxes/MovieHeaderBox.d.ts +0 -22
- package/dist/boxes/MovieHeaderBox.d.ts.map +0 -1
- package/dist/boxes/MovieHeaderBox.js +0 -2
- package/dist/boxes/MovieHeaderBox.js.map +0 -1
- package/dist/boxes/NullMediaHeaderBox.d.ts +0 -11
- package/dist/boxes/NullMediaHeaderBox.d.ts.map +0 -1
- package/dist/boxes/NullMediaHeaderBox.js +0 -2
- package/dist/boxes/NullMediaHeaderBox.js.map +0 -1
- package/dist/boxes/OriginalFormatBox.d.ts +0 -12
- package/dist/boxes/OriginalFormatBox.d.ts.map +0 -1
- package/dist/boxes/OriginalFormatBox.js +0 -2
- package/dist/boxes/OriginalFormatBox.js.map +0 -1
- package/dist/boxes/PreselectionGroupBox.d.ts +0 -21
- package/dist/boxes/PreselectionGroupBox.d.ts.map +0 -1
- package/dist/boxes/PreselectionGroupBox.js +0 -2
- package/dist/boxes/PreselectionGroupBox.js.map +0 -1
- package/dist/boxes/PrimaryItemBox.d.ts +0 -12
- package/dist/boxes/PrimaryItemBox.d.ts.map +0 -1
- package/dist/boxes/PrimaryItemBox.js +0 -2
- package/dist/boxes/PrimaryItemBox.js.map +0 -1
- package/dist/boxes/ProducerReferenceTimeBox.d.ts +0 -15
- package/dist/boxes/ProducerReferenceTimeBox.d.ts.map +0 -1
- package/dist/boxes/ProducerReferenceTimeBox.js +0 -2
- package/dist/boxes/ProducerReferenceTimeBox.js.map +0 -1
- package/dist/boxes/ProtectionSchemeInformationBox.d.ts +0 -15
- package/dist/boxes/ProtectionSchemeInformationBox.d.ts.map +0 -1
- package/dist/boxes/ProtectionSchemeInformationBox.js +0 -2
- package/dist/boxes/ProtectionSchemeInformationBox.js.map +0 -1
- package/dist/boxes/ProtectionSystemSpecificHeaderBox.d.ts +0 -16
- package/dist/boxes/ProtectionSystemSpecificHeaderBox.d.ts.map +0 -1
- package/dist/boxes/ProtectionSystemSpecificHeaderBox.js +0 -2
- package/dist/boxes/ProtectionSystemSpecificHeaderBox.js.map +0 -1
- package/dist/boxes/SampleAuxiliaryInformationOffsetsBox.d.ts +0 -15
- package/dist/boxes/SampleAuxiliaryInformationOffsetsBox.d.ts.map +0 -1
- package/dist/boxes/SampleAuxiliaryInformationOffsetsBox.js +0 -2
- package/dist/boxes/SampleAuxiliaryInformationOffsetsBox.js.map +0 -1
- package/dist/boxes/SampleAuxiliaryInformationSizesBox.d.ts +0 -16
- package/dist/boxes/SampleAuxiliaryInformationSizesBox.d.ts.map +0 -1
- package/dist/boxes/SampleAuxiliaryInformationSizesBox.js +0 -2
- package/dist/boxes/SampleAuxiliaryInformationSizesBox.js.map +0 -1
- package/dist/boxes/SampleDependencyTypeBox.d.ts +0 -12
- package/dist/boxes/SampleDependencyTypeBox.d.ts.map +0 -1
- package/dist/boxes/SampleDependencyTypeBox.js +0 -2
- package/dist/boxes/SampleDependencyTypeBox.js.map +0 -1
- package/dist/boxes/SampleDescriptionBox.d.ts +0 -14
- package/dist/boxes/SampleDescriptionBox.d.ts.map +0 -1
- package/dist/boxes/SampleDescriptionBox.js +0 -2
- package/dist/boxes/SampleDescriptionBox.js.map +0 -1
- package/dist/boxes/SampleEncryptionBox.d.ts +0 -14
- package/dist/boxes/SampleEncryptionBox.d.ts.map +0 -1
- package/dist/boxes/SampleEncryptionBox.js +0 -2
- package/dist/boxes/SampleEncryptionBox.js.map +0 -1
- package/dist/boxes/SampleEntryBox.d.ts +0 -12
- package/dist/boxes/SampleEntryBox.d.ts.map +0 -1
- package/dist/boxes/SampleEntryBox.js +0 -2
- package/dist/boxes/SampleEntryBox.js.map +0 -1
- package/dist/boxes/SampleGroupDescriptionBox.d.ts +0 -15
- package/dist/boxes/SampleGroupDescriptionBox.d.ts.map +0 -1
- package/dist/boxes/SampleGroupDescriptionBox.js +0 -2
- package/dist/boxes/SampleGroupDescriptionBox.js.map +0 -1
- package/dist/boxes/SampleSizeBox.d.ts +0 -14
- package/dist/boxes/SampleSizeBox.d.ts.map +0 -1
- package/dist/boxes/SampleSizeBox.js +0 -2
- package/dist/boxes/SampleSizeBox.js.map +0 -1
- package/dist/boxes/SampleTableBox.d.ts +0 -23
- package/dist/boxes/SampleTableBox.d.ts.map +0 -1
- package/dist/boxes/SampleTableBox.js +0 -2
- package/dist/boxes/SampleTableBox.js.map +0 -1
- package/dist/boxes/SampleToChunkBox.d.ts +0 -14
- package/dist/boxes/SampleToChunkBox.d.ts.map +0 -1
- package/dist/boxes/SampleToChunkBox.js +0 -2
- package/dist/boxes/SampleToChunkBox.js.map +0 -1
- package/dist/boxes/SampleToChunkEntry.d.ts +0 -12
- package/dist/boxes/SampleToChunkEntry.d.ts.map +0 -1
- package/dist/boxes/SampleToChunkEntry.js +0 -2
- package/dist/boxes/SampleToChunkEntry.js.map +0 -1
- package/dist/boxes/SampleToGroupBox.d.ts +0 -16
- package/dist/boxes/SampleToGroupBox.d.ts.map +0 -1
- package/dist/boxes/SampleToGroupBox.js +0 -2
- package/dist/boxes/SampleToGroupBox.js.map +0 -1
- package/dist/boxes/SampleToGroupEntry.d.ts +0 -11
- package/dist/boxes/SampleToGroupEntry.d.ts.map +0 -1
- package/dist/boxes/SampleToGroupEntry.js +0 -2
- package/dist/boxes/SampleToGroupEntry.js.map +0 -1
- package/dist/boxes/SchemeInformationBox.d.ts +0 -13
- package/dist/boxes/SchemeInformationBox.d.ts.map +0 -1
- package/dist/boxes/SchemeInformationBox.js +0 -2
- package/dist/boxes/SchemeInformationBox.js.map +0 -1
- package/dist/boxes/SchemeTypeBox.d.ts +0 -14
- package/dist/boxes/SchemeTypeBox.d.ts.map +0 -1
- package/dist/boxes/SchemeTypeBox.js +0 -2
- package/dist/boxes/SchemeTypeBox.js.map +0 -1
- package/dist/boxes/SegmentIndexBox.d.ts +0 -18
- package/dist/boxes/SegmentIndexBox.d.ts.map +0 -1
- package/dist/boxes/SegmentIndexBox.js +0 -2
- package/dist/boxes/SegmentIndexBox.js.map +0 -1
- package/dist/boxes/SegmentIndexReference.d.ts +0 -17
- package/dist/boxes/SegmentIndexReference.d.ts.map +0 -1
- package/dist/boxes/SegmentIndexReference.js +0 -2
- package/dist/boxes/SegmentIndexReference.js.map +0 -1
- package/dist/boxes/SegmentTypeBox.d.ts +0 -9
- package/dist/boxes/SegmentTypeBox.d.ts.map +0 -1
- package/dist/boxes/SegmentTypeBox.js +0 -2
- package/dist/boxes/SegmentTypeBox.js.map +0 -1
- package/dist/boxes/ShadowSyncEntry.d.ts +0 -11
- package/dist/boxes/ShadowSyncEntry.d.ts.map +0 -1
- package/dist/boxes/ShadowSyncEntry.js +0 -2
- package/dist/boxes/ShadowSyncEntry.js.map +0 -1
- package/dist/boxes/ShadowSyncSampleBox.d.ts +0 -14
- package/dist/boxes/ShadowSyncSampleBox.d.ts.map +0 -1
- package/dist/boxes/ShadowSyncSampleBox.js +0 -2
- package/dist/boxes/ShadowSyncSampleBox.js.map +0 -1
- package/dist/boxes/SingleItemTypeReferenceBox.d.ts +0 -13
- package/dist/boxes/SingleItemTypeReferenceBox.d.ts.map +0 -1
- package/dist/boxes/SingleItemTypeReferenceBox.js +0 -2
- package/dist/boxes/SingleItemTypeReferenceBox.js.map +0 -1
- package/dist/boxes/SoundMediaHeaderBox.d.ts +0 -13
- package/dist/boxes/SoundMediaHeaderBox.d.ts.map +0 -1
- package/dist/boxes/SoundMediaHeaderBox.js +0 -2
- package/dist/boxes/SoundMediaHeaderBox.js.map +0 -1
- package/dist/boxes/Subsample.d.ts +0 -13
- package/dist/boxes/Subsample.d.ts.map +0 -1
- package/dist/boxes/Subsample.js +0 -2
- package/dist/boxes/Subsample.js.map +0 -1
- package/dist/boxes/SubsampleEncryption.d.ts +0 -11
- package/dist/boxes/SubsampleEncryption.d.ts.map +0 -1
- package/dist/boxes/SubsampleEncryption.js +0 -2
- package/dist/boxes/SubsampleEncryption.js.map +0 -1
- package/dist/boxes/SubsampleEntry.d.ts +0 -13
- package/dist/boxes/SubsampleEntry.d.ts.map +0 -1
- package/dist/boxes/SubsampleEntry.js +0 -2
- package/dist/boxes/SubsampleEntry.js.map +0 -1
- package/dist/boxes/SubsampleInformationBox.d.ts +0 -14
- package/dist/boxes/SubsampleInformationBox.d.ts.map +0 -1
- package/dist/boxes/SubsampleInformationBox.js +0 -2
- package/dist/boxes/SubsampleInformationBox.js.map +0 -1
- package/dist/boxes/Subsegment.d.ts +0 -12
- package/dist/boxes/Subsegment.d.ts.map +0 -1
- package/dist/boxes/Subsegment.js +0 -2
- package/dist/boxes/Subsegment.js.map +0 -1
- package/dist/boxes/SubsegmentIndexBox.d.ts +0 -14
- package/dist/boxes/SubsegmentIndexBox.d.ts.map +0 -1
- package/dist/boxes/SubsegmentIndexBox.js +0 -2
- package/dist/boxes/SubsegmentIndexBox.js.map +0 -1
- package/dist/boxes/SubsegmentRange.d.ts +0 -11
- package/dist/boxes/SubsegmentRange.d.ts.map +0 -1
- package/dist/boxes/SubsegmentRange.js +0 -2
- package/dist/boxes/SubsegmentRange.js.map +0 -1
- package/dist/boxes/SubtitleMediaHeaderBox.d.ts +0 -11
- package/dist/boxes/SubtitleMediaHeaderBox.d.ts.map +0 -1
- package/dist/boxes/SubtitleMediaHeaderBox.js +0 -2
- package/dist/boxes/SubtitleMediaHeaderBox.js.map +0 -1
- package/dist/boxes/SyncSample.d.ts +0 -10
- package/dist/boxes/SyncSample.d.ts.map +0 -1
- package/dist/boxes/SyncSample.js +0 -2
- package/dist/boxes/SyncSample.js.map +0 -1
- package/dist/boxes/SyncSampleBox.d.ts +0 -14
- package/dist/boxes/SyncSampleBox.d.ts.map +0 -1
- package/dist/boxes/SyncSampleBox.js +0 -2
- package/dist/boxes/SyncSampleBox.js.map +0 -1
- package/dist/boxes/TrackBox.d.ts +0 -16
- package/dist/boxes/TrackBox.d.ts.map +0 -1
- package/dist/boxes/TrackBox.js +0 -2
- package/dist/boxes/TrackBox.js.map +0 -1
- package/dist/boxes/TrackEncryptionBox.d.ts +0 -14
- package/dist/boxes/TrackEncryptionBox.d.ts.map +0 -1
- package/dist/boxes/TrackEncryptionBox.js +0 -2
- package/dist/boxes/TrackEncryptionBox.js.map +0 -1
- package/dist/boxes/TrackExtendsBox.d.ts +0 -16
- package/dist/boxes/TrackExtendsBox.d.ts.map +0 -1
- package/dist/boxes/TrackExtendsBox.js +0 -2
- package/dist/boxes/TrackExtendsBox.js.map +0 -1
- package/dist/boxes/TrackFragmentBaseMediaDecodeTimeBox.d.ts +0 -12
- package/dist/boxes/TrackFragmentBaseMediaDecodeTimeBox.d.ts.map +0 -1
- package/dist/boxes/TrackFragmentBaseMediaDecodeTimeBox.js +0 -2
- package/dist/boxes/TrackFragmentBaseMediaDecodeTimeBox.js.map +0 -1
- package/dist/boxes/TrackFragmentBox.d.ts +0 -17
- package/dist/boxes/TrackFragmentBox.d.ts.map +0 -1
- package/dist/boxes/TrackFragmentBox.js +0 -2
- package/dist/boxes/TrackFragmentBox.js.map +0 -1
- package/dist/boxes/TrackFragmentHeaderBox.d.ts +0 -17
- package/dist/boxes/TrackFragmentHeaderBox.d.ts.map +0 -1
- package/dist/boxes/TrackFragmentHeaderBox.js +0 -2
- package/dist/boxes/TrackFragmentHeaderBox.js.map +0 -1
- package/dist/boxes/TrackFragmentRandomAccessBox.d.ts +0 -19
- package/dist/boxes/TrackFragmentRandomAccessBox.d.ts.map +0 -1
- package/dist/boxes/TrackFragmentRandomAccessBox.js +0 -2
- package/dist/boxes/TrackFragmentRandomAccessBox.js.map +0 -1
- package/dist/boxes/TrackFragmentRandomAccessEntry.d.ts +0 -14
- package/dist/boxes/TrackFragmentRandomAccessEntry.d.ts.map +0 -1
- package/dist/boxes/TrackFragmentRandomAccessEntry.js +0 -2
- package/dist/boxes/TrackFragmentRandomAccessEntry.js.map +0 -1
- package/dist/boxes/TrackHeaderBox.d.ts +0 -24
- package/dist/boxes/TrackHeaderBox.d.ts.map +0 -1
- package/dist/boxes/TrackHeaderBox.js +0 -2
- package/dist/boxes/TrackHeaderBox.js.map +0 -1
- package/dist/boxes/TrackKindBox.d.ts +0 -13
- package/dist/boxes/TrackKindBox.d.ts.map +0 -1
- package/dist/boxes/TrackKindBox.js +0 -2
- package/dist/boxes/TrackKindBox.js.map +0 -1
- package/dist/boxes/TrackReferenceBox.d.ts +0 -12
- package/dist/boxes/TrackReferenceBox.d.ts.map +0 -1
- package/dist/boxes/TrackReferenceBox.js +0 -2
- package/dist/boxes/TrackReferenceBox.js.map +0 -1
- package/dist/boxes/TrackReferenceTypeBox.d.ts +0 -12
- package/dist/boxes/TrackReferenceTypeBox.d.ts.map +0 -1
- package/dist/boxes/TrackReferenceTypeBox.js +0 -2
- package/dist/boxes/TrackReferenceTypeBox.js.map +0 -1
- package/dist/boxes/TrackRunBox.d.ts +0 -19
- package/dist/boxes/TrackRunBox.d.ts.map +0 -1
- package/dist/boxes/TrackRunBox.js +0 -2
- package/dist/boxes/TrackRunBox.js.map +0 -1
- package/dist/boxes/TrackRunSample.d.ts +0 -13
- package/dist/boxes/TrackRunSample.d.ts.map +0 -1
- package/dist/boxes/TrackRunSample.js +0 -2
- package/dist/boxes/TrackRunSample.js.map +0 -1
- package/dist/boxes/TypeBox.d.ts +0 -14
- package/dist/boxes/TypeBox.d.ts.map +0 -1
- package/dist/boxes/TypeBox.js +0 -2
- package/dist/boxes/TypeBox.js.map +0 -1
- package/dist/boxes/UrlBox.d.ts +0 -12
- package/dist/boxes/UrlBox.d.ts.map +0 -1
- package/dist/boxes/UrlBox.js +0 -2
- package/dist/boxes/UrlBox.js.map +0 -1
- package/dist/boxes/UrnBox.d.ts +0 -13
- package/dist/boxes/UrnBox.d.ts.map +0 -1
- package/dist/boxes/UrnBox.js +0 -2
- package/dist/boxes/UrnBox.js.map +0 -1
- package/dist/boxes/UserDataBox.d.ts +0 -12
- package/dist/boxes/UserDataBox.d.ts.map +0 -1
- package/dist/boxes/UserDataBox.js +0 -2
- package/dist/boxes/UserDataBox.js.map +0 -1
- package/dist/boxes/VideoMediaHeaderBox.d.ts +0 -13
- package/dist/boxes/VideoMediaHeaderBox.d.ts.map +0 -1
- package/dist/boxes/VideoMediaHeaderBox.js +0 -2
- package/dist/boxes/VideoMediaHeaderBox.js.map +0 -1
- package/dist/boxes/VisualSampleEntryBox.d.ts +0 -24
- package/dist/boxes/VisualSampleEntryBox.d.ts.map +0 -1
- package/dist/boxes/VisualSampleEntryBox.js +0 -2
- package/dist/boxes/VisualSampleEntryBox.js.map +0 -1
- package/dist/boxes/WebVttConfigurationBox.d.ts +0 -12
- package/dist/boxes/WebVttConfigurationBox.d.ts.map +0 -1
- package/dist/boxes/WebVttConfigurationBox.js +0 -2
- package/dist/boxes/WebVttConfigurationBox.js.map +0 -1
- package/dist/boxes/WebVttCueIdBox.d.ts +0 -12
- package/dist/boxes/WebVttCueIdBox.d.ts.map +0 -1
- package/dist/boxes/WebVttCueIdBox.js +0 -2
- package/dist/boxes/WebVttCueIdBox.js.map +0 -1
- package/dist/boxes/WebVttCuePayloadBox.d.ts +0 -12
- package/dist/boxes/WebVttCuePayloadBox.d.ts.map +0 -1
- package/dist/boxes/WebVttCuePayloadBox.js +0 -2
- package/dist/boxes/WebVttCuePayloadBox.js.map +0 -1
- package/dist/boxes/WebVttEmptySampleBox.d.ts +0 -11
- package/dist/boxes/WebVttEmptySampleBox.d.ts.map +0 -1
- package/dist/boxes/WebVttEmptySampleBox.js +0 -2
- package/dist/boxes/WebVttEmptySampleBox.js.map +0 -1
- package/dist/boxes/WebVttSettingsBox.d.ts +0 -12
- package/dist/boxes/WebVttSettingsBox.d.ts.map +0 -1
- package/dist/boxes/WebVttSettingsBox.js +0 -2
- package/dist/boxes/WebVttSettingsBox.js.map +0 -1
- package/dist/boxes/WebVttSourceLabelBox.d.ts +0 -12
- package/dist/boxes/WebVttSourceLabelBox.d.ts.map +0 -1
- package/dist/boxes/WebVttSourceLabelBox.js +0 -2
- package/dist/boxes/WebVttSourceLabelBox.js.map +0 -1
- package/dist/createIsoView.d.ts +0 -16
- package/dist/createIsoView.d.ts.map +0 -1
- package/dist/createIsoView.js +0 -16
- package/dist/createIsoView.js.map +0 -1
- package/dist/fields/DATA.d.ts +0 -8
- package/dist/fields/DATA.d.ts.map +0 -1
- package/dist/fields/DATA.js +0 -8
- package/dist/fields/DATA.js.map +0 -1
- package/dist/fields/INT.d.ts +0 -8
- package/dist/fields/INT.d.ts.map +0 -1
- package/dist/fields/INT.js +0 -8
- package/dist/fields/INT.js.map +0 -1
- package/dist/fields/STRING.d.ts +0 -8
- package/dist/fields/STRING.d.ts.map +0 -1
- package/dist/fields/STRING.js +0 -8
- package/dist/fields/STRING.js.map +0 -1
- package/dist/fields/TEMPLATE.d.ts +0 -8
- package/dist/fields/TEMPLATE.d.ts.map +0 -1
- package/dist/fields/TEMPLATE.js +0 -8
- package/dist/fields/TEMPLATE.js.map +0 -1
- package/dist/fields/UINT.d.ts +0 -8
- package/dist/fields/UINT.d.ts.map +0 -1
- package/dist/fields/UINT.js +0 -8
- package/dist/fields/UINT.js.map +0 -1
- package/dist/fields/UTF8.d.ts +0 -8
- package/dist/fields/UTF8.d.ts.map +0 -1
- package/dist/fields/UTF8.js +0 -8
- package/dist/fields/UTF8.js.map +0 -1
- package/dist/filterBoxes.d.ts +0 -16
- package/dist/filterBoxes.d.ts.map +0 -1
- package/dist/filterBoxes.js +0 -32
- package/dist/filterBoxes.js.map +0 -1
- package/dist/filterBoxesByType.d.ts +0 -17
- package/dist/filterBoxesByType.d.ts.map +0 -1
- package/dist/filterBoxesByType.js +0 -20
- package/dist/filterBoxesByType.js.map +0 -1
- package/dist/findBox.d.ts +0 -18
- package/dist/findBox.d.ts.map +0 -1
- package/dist/findBox.js +0 -37
- package/dist/findBox.js.map +0 -1
- package/dist/findBoxByType.d.ts +0 -17
- package/dist/findBoxByType.d.ts.map +0 -1
- package/dist/findBoxByType.js +0 -17
- package/dist/findBoxByType.js.map +0 -1
- package/dist/parseBoxes.d.ts +0 -16
- package/dist/parseBoxes.d.ts.map +0 -1
- package/dist/parseBoxes.js +0 -20
- package/dist/parseBoxes.js.map +0 -1
- package/dist/parsers/ardi.d.ts +0 -15
- package/dist/parsers/ardi.d.ts.map +0 -1
- package/dist/parsers/ardi.js +0 -18
- package/dist/parsers/ardi.js.map +0 -1
- package/dist/parsers/avc1.d.ts +0 -15
- package/dist/parsers/avc1.d.ts.map +0 -1
- package/dist/parsers/avc1.js +0 -33
- package/dist/parsers/avc1.js.map +0 -1
- package/dist/parsers/avc2.d.ts +0 -15
- package/dist/parsers/avc2.d.ts.map +0 -1
- package/dist/parsers/avc2.js +0 -15
- package/dist/parsers/avc2.js.map +0 -1
- package/dist/parsers/avc3.d.ts +0 -15
- package/dist/parsers/avc3.d.ts.map +0 -1
- package/dist/parsers/avc3.js +0 -15
- package/dist/parsers/avc3.js.map +0 -1
- package/dist/parsers/avc4.d.ts +0 -15
- package/dist/parsers/avc4.d.ts.map +0 -1
- package/dist/parsers/avc4.js +0 -15
- package/dist/parsers/avc4.js.map +0 -1
- package/dist/parsers/ctts.d.ts +0 -15
- package/dist/parsers/ctts.d.ts.map +0 -1
- package/dist/parsers/ctts.js +0 -27
- package/dist/parsers/ctts.js.map +0 -1
- package/dist/parsers/dref.d.ts +0 -15
- package/dist/parsers/dref.d.ts.map +0 -1
- package/dist/parsers/dref.js +0 -23
- package/dist/parsers/dref.js.map +0 -1
- package/dist/parsers/elng.d.ts +0 -15
- package/dist/parsers/elng.d.ts.map +0 -1
- package/dist/parsers/elng.js +0 -18
- package/dist/parsers/elng.js.map +0 -1
- package/dist/parsers/elst.d.ts +0 -15
- package/dist/parsers/elst.d.ts.map +0 -1
- package/dist/parsers/elst.js +0 -30
- package/dist/parsers/elst.js.map +0 -1
- package/dist/parsers/emsg.d.ts +0 -15
- package/dist/parsers/emsg.d.ts.map +0 -1
- package/dist/parsers/emsg.js +0 -33
- package/dist/parsers/emsg.js.map +0 -1
- package/dist/parsers/enca.d.ts +0 -15
- package/dist/parsers/enca.d.ts.map +0 -1
- package/dist/parsers/enca.js +0 -15
- package/dist/parsers/enca.js.map +0 -1
- package/dist/parsers/encv.d.ts +0 -15
- package/dist/parsers/encv.d.ts.map +0 -1
- package/dist/parsers/encv.js +0 -15
- package/dist/parsers/encv.js.map +0 -1
- package/dist/parsers/free.d.ts +0 -15
- package/dist/parsers/free.d.ts.map +0 -1
- package/dist/parsers/free.js +0 -17
- package/dist/parsers/free.js.map +0 -1
- package/dist/parsers/frma.d.ts +0 -15
- package/dist/parsers/frma.d.ts.map +0 -1
- package/dist/parsers/frma.js +0 -17
- package/dist/parsers/frma.js.map +0 -1
- package/dist/parsers/ftyp.d.ts +0 -15
- package/dist/parsers/ftyp.d.ts.map +0 -1
- package/dist/parsers/ftyp.js +0 -24
- package/dist/parsers/ftyp.js.map +0 -1
- package/dist/parsers/hdlr.d.ts +0 -15
- package/dist/parsers/hdlr.d.ts.map +0 -1
- package/dist/parsers/hdlr.js +0 -22
- package/dist/parsers/hdlr.js.map +0 -1
- package/dist/parsers/hev1.d.ts +0 -15
- package/dist/parsers/hev1.d.ts.map +0 -1
- package/dist/parsers/hev1.js +0 -15
- package/dist/parsers/hev1.js.map +0 -1
- package/dist/parsers/hvc1.d.ts +0 -15
- package/dist/parsers/hvc1.d.ts.map +0 -1
- package/dist/parsers/hvc1.js +0 -15
- package/dist/parsers/hvc1.js.map +0 -1
- package/dist/parsers/iden.d.ts +0 -15
- package/dist/parsers/iden.d.ts.map +0 -1
- package/dist/parsers/iden.js +0 -17
- package/dist/parsers/iden.js.map +0 -1
- package/dist/parsers/imda.d.ts +0 -15
- package/dist/parsers/imda.d.ts.map +0 -1
- package/dist/parsers/imda.js +0 -18
- package/dist/parsers/imda.js.map +0 -1
- package/dist/parsers/kind.d.ts +0 -15
- package/dist/parsers/kind.d.ts.map +0 -1
- package/dist/parsers/kind.js +0 -19
- package/dist/parsers/kind.js.map +0 -1
- package/dist/parsers/labl.d.ts +0 -15
- package/dist/parsers/labl.d.ts.map +0 -1
- package/dist/parsers/labl.js +0 -22
- package/dist/parsers/labl.js.map +0 -1
- package/dist/parsers/mdat.d.ts +0 -15
- package/dist/parsers/mdat.d.ts.map +0 -1
- package/dist/parsers/mdat.js +0 -17
- package/dist/parsers/mdat.js.map +0 -1
- package/dist/parsers/mdhd.d.ts +0 -15
- package/dist/parsers/mdhd.d.ts.map +0 -1
- package/dist/parsers/mdhd.js +0 -31
- package/dist/parsers/mdhd.js.map +0 -1
- package/dist/parsers/mehd.d.ts +0 -15
- package/dist/parsers/mehd.d.ts.map +0 -1
- package/dist/parsers/mehd.js +0 -20
- package/dist/parsers/mehd.js.map +0 -1
- package/dist/parsers/meta.d.ts +0 -15
- package/dist/parsers/meta.d.ts.map +0 -1
- package/dist/parsers/meta.js +0 -15
- package/dist/parsers/meta.js.map +0 -1
- package/dist/parsers/mfhd.d.ts +0 -15
- package/dist/parsers/mfhd.d.ts.map +0 -1
- package/dist/parsers/mfhd.js +0 -18
- package/dist/parsers/mfhd.js.map +0 -1
- package/dist/parsers/mfro.d.ts +0 -15
- package/dist/parsers/mfro.d.ts.map +0 -1
- package/dist/parsers/mfro.js +0 -18
- package/dist/parsers/mfro.js.map +0 -1
- package/dist/parsers/mp4a.d.ts +0 -15
- package/dist/parsers/mp4a.d.ts.map +0 -1
- package/dist/parsers/mp4a.js +0 -27
- package/dist/parsers/mp4a.js.map +0 -1
- package/dist/parsers/mvhd.d.ts +0 -15
- package/dist/parsers/mvhd.d.ts.map +0 -1
- package/dist/parsers/mvhd.js +0 -33
- package/dist/parsers/mvhd.js.map +0 -1
- package/dist/parsers/payl.d.ts +0 -15
- package/dist/parsers/payl.d.ts.map +0 -1
- package/dist/parsers/payl.js +0 -17
- package/dist/parsers/payl.js.map +0 -1
- package/dist/parsers/prft.d.ts +0 -15
- package/dist/parsers/prft.d.ts.map +0 -1
- package/dist/parsers/prft.js +0 -23
- package/dist/parsers/prft.js.map +0 -1
- package/dist/parsers/prsl.d.ts +0 -15
- package/dist/parsers/prsl.d.ts.map +0 -1
- package/dist/parsers/prsl.js +0 -32
- package/dist/parsers/prsl.js.map +0 -1
- package/dist/parsers/pssh.d.ts +0 -15
- package/dist/parsers/pssh.d.ts.map +0 -1
- package/dist/parsers/pssh.js +0 -35
- package/dist/parsers/pssh.js.map +0 -1
- package/dist/parsers/schm.d.ts +0 -15
- package/dist/parsers/schm.d.ts.map +0 -1
- package/dist/parsers/schm.js +0 -22
- package/dist/parsers/schm.js.map +0 -1
- package/dist/parsers/sdtp.d.ts +0 -15
- package/dist/parsers/sdtp.d.ts.map +0 -1
- package/dist/parsers/sdtp.js +0 -19
- package/dist/parsers/sdtp.js.map +0 -1
- package/dist/parsers/sidx.d.ts +0 -15
- package/dist/parsers/sidx.d.ts.map +0 -1
- package/dist/parsers/sidx.js +0 -46
- package/dist/parsers/sidx.js.map +0 -1
- package/dist/parsers/skip.d.ts +0 -15
- package/dist/parsers/skip.d.ts.map +0 -1
- package/dist/parsers/skip.js +0 -16
- package/dist/parsers/skip.js.map +0 -1
- package/dist/parsers/smhd.d.ts +0 -15
- package/dist/parsers/smhd.d.ts.map +0 -1
- package/dist/parsers/smhd.js +0 -19
- package/dist/parsers/smhd.js.map +0 -1
- package/dist/parsers/ssix.d.ts +0 -15
- package/dist/parsers/ssix.d.ts.map +0 -1
- package/dist/parsers/ssix.js +0 -30
- package/dist/parsers/ssix.js.map +0 -1
- package/dist/parsers/sthd.d.ts +0 -15
- package/dist/parsers/sthd.d.ts.map +0 -1
- package/dist/parsers/sthd.js +0 -15
- package/dist/parsers/sthd.js.map +0 -1
- package/dist/parsers/stsd.d.ts +0 -16
- package/dist/parsers/stsd.d.ts.map +0 -1
- package/dist/parsers/stsd.js +0 -22
- package/dist/parsers/stsd.js.map +0 -1
- package/dist/parsers/stss.d.ts +0 -15
- package/dist/parsers/stss.d.ts.map +0 -1
- package/dist/parsers/stss.js +0 -24
- package/dist/parsers/stss.js.map +0 -1
- package/dist/parsers/sttg.d.ts +0 -15
- package/dist/parsers/sttg.d.ts.map +0 -1
- package/dist/parsers/sttg.js +0 -17
- package/dist/parsers/sttg.js.map +0 -1
- package/dist/parsers/stts.d.ts +0 -15
- package/dist/parsers/stts.d.ts.map +0 -1
- package/dist/parsers/stts.js +0 -26
- package/dist/parsers/stts.js.map +0 -1
- package/dist/parsers/styp.d.ts +0 -15
- package/dist/parsers/styp.d.ts.map +0 -1
- package/dist/parsers/styp.js +0 -15
- package/dist/parsers/styp.js.map +0 -1
- package/dist/parsers/subs.d.ts +0 -15
- package/dist/parsers/subs.d.ts.map +0 -1
- package/dist/parsers/subs.js +0 -37
- package/dist/parsers/subs.js.map +0 -1
- package/dist/parsers/tenc.d.ts +0 -15
- package/dist/parsers/tenc.d.ts.map +0 -1
- package/dist/parsers/tenc.js +0 -21
- package/dist/parsers/tenc.js.map +0 -1
- package/dist/parsers/tfdt.d.ts +0 -15
- package/dist/parsers/tfdt.d.ts.map +0 -1
- package/dist/parsers/tfdt.js +0 -20
- package/dist/parsers/tfdt.js.map +0 -1
- package/dist/parsers/tfhd.d.ts +0 -15
- package/dist/parsers/tfhd.d.ts.map +0 -1
- package/dist/parsers/tfhd.js +0 -25
- package/dist/parsers/tfhd.js.map +0 -1
- package/dist/parsers/tfra.d.ts +0 -15
- package/dist/parsers/tfra.d.ts.map +0 -1
- package/dist/parsers/tfra.js +0 -39
- package/dist/parsers/tfra.js.map +0 -1
- package/dist/parsers/tkhd.d.ts +0 -15
- package/dist/parsers/tkhd.d.ts.map +0 -1
- package/dist/parsers/tkhd.js +0 -35
- package/dist/parsers/tkhd.js.map +0 -1
- package/dist/parsers/trex.d.ts +0 -15
- package/dist/parsers/trex.d.ts.map +0 -1
- package/dist/parsers/trex.js +0 -22
- package/dist/parsers/trex.js.map +0 -1
- package/dist/parsers/trun.d.ts +0 -15
- package/dist/parsers/trun.d.ts.map +0 -1
- package/dist/parsers/trun.js +0 -48
- package/dist/parsers/trun.js.map +0 -1
- package/dist/parsers/url.d.ts +0 -15
- package/dist/parsers/url.d.ts.map +0 -1
- package/dist/parsers/url.js +0 -18
- package/dist/parsers/url.js.map +0 -1
- package/dist/parsers/urn.d.ts +0 -15
- package/dist/parsers/urn.d.ts.map +0 -1
- package/dist/parsers/urn.js +0 -19
- package/dist/parsers/urn.js.map +0 -1
- package/dist/parsers/vlab.d.ts +0 -15
- package/dist/parsers/vlab.d.ts.map +0 -1
- package/dist/parsers/vlab.js +0 -17
- package/dist/parsers/vlab.js.map +0 -1
- package/dist/parsers/vmhd.d.ts +0 -15
- package/dist/parsers/vmhd.d.ts.map +0 -1
- package/dist/parsers/vmhd.js +0 -20
- package/dist/parsers/vmhd.js.map +0 -1
- package/dist/parsers/vttC.d.ts +0 -15
- package/dist/parsers/vttC.d.ts.map +0 -1
- package/dist/parsers/vttC.js +0 -17
- package/dist/parsers/vttC.js.map +0 -1
- package/dist/parsers/vtte.d.ts +0 -12
- package/dist/parsers/vtte.d.ts.map +0 -1
- package/dist/parsers/vtte.js +0 -14
- package/dist/parsers/vtte.js.map +0 -1
- package/dist/readers/IsoFieldTypeMap.d.ts +0 -16
- package/dist/readers/IsoFieldTypeMap.d.ts.map +0 -1
- package/dist/readers/IsoFieldTypeMap.js +0 -2
- package/dist/readers/IsoFieldTypeMap.js.map +0 -1
- package/dist/readers/readData.d.ts +0 -2
- package/dist/readers/readData.d.ts.map +0 -1
- package/dist/readers/readData.js +0 -6
- package/dist/readers/readData.js.map +0 -1
- package/dist/readers/readInt.d.ts +0 -2
- package/dist/readers/readInt.d.ts.map +0 -1
- package/dist/readers/readInt.js +0 -25
- package/dist/readers/readInt.js.map +0 -1
- package/dist/readers/readString.d.ts +0 -2
- package/dist/readers/readString.d.ts.map +0 -1
- package/dist/readers/readString.js +0 -11
- package/dist/readers/readString.js.map +0 -1
- package/dist/readers/readTemplate.d.ts +0 -2
- package/dist/readers/readTemplate.d.ts.map +0 -1
- package/dist/readers/readTemplate.js +0 -9
- package/dist/readers/readTemplate.js.map +0 -1
- package/dist/readers/readTerminatedString.d.ts +0 -2
- package/dist/readers/readTerminatedString.d.ts.map +0 -1
- package/dist/readers/readTerminatedString.js +0 -16
- package/dist/readers/readTerminatedString.js.map +0 -1
- package/dist/readers/readUint.d.ts +0 -2
- package/dist/readers/readUint.d.ts.map +0 -1
- package/dist/readers/readUint.js +0 -32
- package/dist/readers/readUint.js.map +0 -1
- package/dist/readers/readUtf8String.d.ts +0 -11
- package/dist/readers/readUtf8String.d.ts.map +0 -1
- package/dist/readers/readUtf8String.js +0 -17
- package/dist/readers/readUtf8String.js.map +0 -1
- package/dist/readers/readUtf8TerminatedString.d.ts +0 -11
- package/dist/readers/readUtf8TerminatedString.d.ts.map +0 -1
- package/dist/readers/readUtf8TerminatedString.js +0 -29
- package/dist/readers/readUtf8TerminatedString.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/index.js
CHANGED
|
@@ -1,68 +1,1897 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
1
|
+
import { UTF_8, decodeText } from "@svta/cml-utils";
|
|
2
|
+
|
|
3
|
+
//#region src/CONTAINERS.ts
|
|
4
|
+
const CONTAINERS = [
|
|
5
|
+
"dinf",
|
|
6
|
+
"edts",
|
|
7
|
+
"enca",
|
|
8
|
+
"encv",
|
|
9
|
+
"grpl",
|
|
10
|
+
"mdia",
|
|
11
|
+
"meco",
|
|
12
|
+
"meta",
|
|
13
|
+
"mfra",
|
|
14
|
+
"minf",
|
|
15
|
+
"moof",
|
|
16
|
+
"moov",
|
|
17
|
+
"mvex",
|
|
18
|
+
"prsl",
|
|
19
|
+
"schi",
|
|
20
|
+
"sinf",
|
|
21
|
+
"stbl",
|
|
22
|
+
"strk",
|
|
23
|
+
"traf",
|
|
24
|
+
"trak",
|
|
25
|
+
"tref",
|
|
26
|
+
"udta",
|
|
27
|
+
"vttc"
|
|
28
|
+
];
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/fields/DATA.ts
|
|
32
|
+
/**
|
|
33
|
+
* The data field type
|
|
34
|
+
*
|
|
35
|
+
*
|
|
36
|
+
* @beta
|
|
37
|
+
*/
|
|
38
|
+
const DATA = "data";
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/fields/INT.ts
|
|
42
|
+
/**
|
|
43
|
+
* The integer field type
|
|
44
|
+
*
|
|
45
|
+
*
|
|
46
|
+
* @beta
|
|
47
|
+
*/
|
|
48
|
+
const INT = "int";
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/fields/STRING.ts
|
|
52
|
+
/**
|
|
53
|
+
* The string field type
|
|
54
|
+
*
|
|
55
|
+
*
|
|
56
|
+
* @beta
|
|
57
|
+
*/
|
|
58
|
+
const STRING = "string";
|
|
59
|
+
|
|
60
|
+
//#endregion
|
|
61
|
+
//#region src/fields/TEMPLATE.ts
|
|
62
|
+
/**
|
|
63
|
+
* The template field type
|
|
64
|
+
*
|
|
65
|
+
*
|
|
66
|
+
* @beta
|
|
67
|
+
*/
|
|
68
|
+
const TEMPLATE = "template";
|
|
69
|
+
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region src/fields/UINT.ts
|
|
72
|
+
/**
|
|
73
|
+
* The unsigned integer field type
|
|
74
|
+
*
|
|
75
|
+
*
|
|
76
|
+
* @beta
|
|
77
|
+
*/
|
|
78
|
+
const UINT = "uint";
|
|
79
|
+
|
|
80
|
+
//#endregion
|
|
81
|
+
//#region src/fields/UTF8.ts
|
|
82
|
+
/**
|
|
83
|
+
* The UTF8 field type
|
|
84
|
+
*
|
|
85
|
+
*
|
|
86
|
+
* @beta
|
|
87
|
+
*/
|
|
88
|
+
const UTF8 = "utf8";
|
|
89
|
+
|
|
90
|
+
//#endregion
|
|
91
|
+
//#region src/readers/readData.ts
|
|
92
|
+
function readData(dataView, offset, size) {
|
|
93
|
+
const length = size > 0 ? size : dataView.byteLength - (offset - dataView.byteOffset);
|
|
94
|
+
return new Uint8Array(dataView.buffer, offset, Math.max(length, 0));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region src/readers/readInt.ts
|
|
99
|
+
function readInt(dataView, offset, size) {
|
|
100
|
+
let result = NaN;
|
|
101
|
+
const cursor = offset - dataView.byteOffset;
|
|
102
|
+
switch (size) {
|
|
103
|
+
case 1:
|
|
104
|
+
result = dataView.getInt8(cursor);
|
|
105
|
+
break;
|
|
106
|
+
case 2:
|
|
107
|
+
result = dataView.getInt16(cursor);
|
|
108
|
+
break;
|
|
109
|
+
case 4:
|
|
110
|
+
result = dataView.getInt32(cursor);
|
|
111
|
+
break;
|
|
112
|
+
case 8:
|
|
113
|
+
const s1 = dataView.getInt32(cursor);
|
|
114
|
+
const s2 = dataView.getInt32(cursor + 4);
|
|
115
|
+
result = s1 * Math.pow(2, 32) + s2;
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
return result;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
//#endregion
|
|
122
|
+
//#region src/readers/readUint.ts
|
|
123
|
+
function readUint(dataView, offset, size) {
|
|
124
|
+
const cursor = offset - dataView.byteOffset;
|
|
125
|
+
let value = NaN;
|
|
126
|
+
let s1;
|
|
127
|
+
let s2;
|
|
128
|
+
switch (size) {
|
|
129
|
+
case 1:
|
|
130
|
+
value = dataView.getUint8(cursor);
|
|
131
|
+
break;
|
|
132
|
+
case 2:
|
|
133
|
+
value = dataView.getUint16(cursor);
|
|
134
|
+
break;
|
|
135
|
+
case 3:
|
|
136
|
+
s1 = dataView.getUint16(cursor);
|
|
137
|
+
s2 = dataView.getUint8(cursor + 2);
|
|
138
|
+
value = (s1 << 8) + s2;
|
|
139
|
+
break;
|
|
140
|
+
case 4:
|
|
141
|
+
value = dataView.getUint32(cursor);
|
|
142
|
+
break;
|
|
143
|
+
case 8:
|
|
144
|
+
s1 = dataView.getUint32(cursor);
|
|
145
|
+
s2 = dataView.getUint32(cursor + 4);
|
|
146
|
+
value = s1 * Math.pow(2, 32) + s2;
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
return value;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
//#endregion
|
|
153
|
+
//#region src/readers/readString.ts
|
|
154
|
+
function readString(dataView, offset, length) {
|
|
155
|
+
let str = "";
|
|
156
|
+
for (let c = 0; c < length; c++) {
|
|
157
|
+
const char = readUint(dataView, offset + c, 1);
|
|
158
|
+
str += String.fromCharCode(char);
|
|
159
|
+
}
|
|
160
|
+
return str;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
//#endregion
|
|
164
|
+
//#region src/readers/readTemplate.ts
|
|
165
|
+
function readTemplate(dataView, offset, size) {
|
|
166
|
+
const half = size / 2;
|
|
167
|
+
return readUint(dataView, offset, half) + readUint(dataView, offset + half, half) / Math.pow(2, half);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
//#endregion
|
|
171
|
+
//#region src/readers/readTerminatedString.ts
|
|
172
|
+
function readTerminatedString(dataView, offset) {
|
|
173
|
+
let str = "";
|
|
174
|
+
let cursor = offset;
|
|
175
|
+
while (cursor - dataView.byteOffset < dataView.byteLength) {
|
|
176
|
+
const char = readUint(dataView, cursor, 1);
|
|
177
|
+
if (char === 0) break;
|
|
178
|
+
str += String.fromCharCode(char);
|
|
179
|
+
cursor++;
|
|
180
|
+
}
|
|
181
|
+
return str;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
//#endregion
|
|
185
|
+
//#region src/readers/readUtf8String.ts
|
|
186
|
+
/**
|
|
187
|
+
* Reads a UTF-8 string from a data view.
|
|
188
|
+
*
|
|
189
|
+
* @param dataView - The data view to read from.
|
|
190
|
+
* @param offset - The offset to start reading from.
|
|
191
|
+
* @returns The UTF-8 string.
|
|
192
|
+
*
|
|
193
|
+
* @internal
|
|
194
|
+
*/
|
|
195
|
+
function readUtf8String(dataView, offset) {
|
|
196
|
+
const length = dataView.byteLength - (offset - dataView.byteOffset);
|
|
197
|
+
return length > 0 ? decodeText(new DataView(dataView.buffer, offset, length), { encoding: UTF_8 }) : "";
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
//#endregion
|
|
201
|
+
//#region src/readers/readUtf8TerminatedString.ts
|
|
202
|
+
/**
|
|
203
|
+
* Reads a UTF-8 terminated string from a data view.
|
|
204
|
+
*
|
|
205
|
+
* @param dataView - The data view to read from.
|
|
206
|
+
* @param offset - The offset to start reading from.
|
|
207
|
+
* @returns The UTF-8 terminated string.
|
|
208
|
+
*
|
|
209
|
+
* @internal
|
|
210
|
+
*/
|
|
211
|
+
function readUtf8TerminatedString(dataView, offset) {
|
|
212
|
+
const length = dataView.byteLength - (offset - dataView.byteOffset);
|
|
213
|
+
let data = "";
|
|
214
|
+
if (length > 0) {
|
|
215
|
+
const view = new DataView(dataView.buffer, offset, length);
|
|
216
|
+
let l = 0;
|
|
217
|
+
for (; l < length; l++) if (view.getUint8(l) === 0) break;
|
|
218
|
+
data = decodeText(new DataView(dataView.buffer, offset, l), { encoding: UTF_8 });
|
|
219
|
+
}
|
|
220
|
+
return data;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
//#endregion
|
|
224
|
+
//#region src/IsoView.ts
|
|
225
|
+
/**
|
|
226
|
+
* ISO BMFF data view. Similar to DataView, but with additional methods for reading ISO BMFF data.
|
|
227
|
+
* It implements the iterator protocol, so it can be used in a for...of loop.
|
|
228
|
+
*
|
|
229
|
+
*
|
|
230
|
+
* @beta
|
|
231
|
+
*/
|
|
232
|
+
var IsoView = class IsoView {
|
|
233
|
+
/**
|
|
234
|
+
* Creates a new IsoView instance. Similar to DataView, but with additional
|
|
235
|
+
* methods for reading ISO BMFF data. It implements the iterator protocol,
|
|
236
|
+
* so it can be used in a for...of loop.
|
|
237
|
+
*
|
|
238
|
+
* @param raw - The raw data to view.
|
|
239
|
+
* @param config - The configuration for the IsoView.
|
|
240
|
+
*/
|
|
241
|
+
constructor(raw, config) {
|
|
242
|
+
this.truncated = false;
|
|
243
|
+
this.slice = (size) => {
|
|
244
|
+
const dataView = new DataView(this.dataView.buffer, this.offset, size);
|
|
245
|
+
this.offset += size;
|
|
246
|
+
return new IsoView(dataView, this.config);
|
|
247
|
+
};
|
|
248
|
+
this.read = (type, size = 0) => {
|
|
249
|
+
const { dataView, offset } = this;
|
|
250
|
+
let result;
|
|
251
|
+
let cursor = size;
|
|
252
|
+
switch (type) {
|
|
253
|
+
case UINT:
|
|
254
|
+
result = readUint(dataView, offset, size);
|
|
255
|
+
break;
|
|
256
|
+
case INT:
|
|
257
|
+
result = readInt(dataView, offset, size);
|
|
258
|
+
break;
|
|
259
|
+
case TEMPLATE:
|
|
260
|
+
result = readTemplate(dataView, offset, size);
|
|
261
|
+
break;
|
|
262
|
+
case STRING:
|
|
263
|
+
if (size === -1) {
|
|
264
|
+
result = readTerminatedString(dataView, offset);
|
|
265
|
+
cursor = result.length + 1;
|
|
266
|
+
} else result = readString(dataView, offset, size);
|
|
267
|
+
break;
|
|
268
|
+
case DATA:
|
|
269
|
+
result = readData(dataView, offset, size);
|
|
270
|
+
cursor = result.length;
|
|
271
|
+
break;
|
|
272
|
+
case UTF8:
|
|
273
|
+
if (size === -1) {
|
|
274
|
+
result = readUtf8TerminatedString(dataView, offset);
|
|
275
|
+
cursor = result.length + 1;
|
|
276
|
+
} else result = readUtf8String(dataView, offset);
|
|
277
|
+
break;
|
|
278
|
+
default: result = -1;
|
|
279
|
+
}
|
|
280
|
+
this.offset += cursor;
|
|
281
|
+
return result;
|
|
282
|
+
};
|
|
283
|
+
this.readUint = (size) => {
|
|
284
|
+
return this.read(UINT, size);
|
|
285
|
+
};
|
|
286
|
+
this.readInt = (size) => {
|
|
287
|
+
return this.read(INT, size);
|
|
288
|
+
};
|
|
289
|
+
this.readString = (size) => {
|
|
290
|
+
return this.read(STRING, size);
|
|
291
|
+
};
|
|
292
|
+
this.readTemplate = (size) => {
|
|
293
|
+
return this.read(TEMPLATE, size);
|
|
294
|
+
};
|
|
295
|
+
this.readData = (size) => {
|
|
296
|
+
return this.read(DATA, size);
|
|
297
|
+
};
|
|
298
|
+
this.readUtf8 = (size) => {
|
|
299
|
+
return this.read(UTF8, size);
|
|
300
|
+
};
|
|
301
|
+
this.readFullBox = () => {
|
|
302
|
+
return {
|
|
303
|
+
version: this.readUint(1),
|
|
304
|
+
flags: this.readUint(3)
|
|
305
|
+
};
|
|
306
|
+
};
|
|
307
|
+
this.readArray = (type, size, length) => {
|
|
308
|
+
const value = [];
|
|
309
|
+
for (let i = 0; i < length; i++) value.push(this.read(type, size));
|
|
310
|
+
return value;
|
|
311
|
+
};
|
|
312
|
+
this.readBox = () => {
|
|
313
|
+
const { dataView, offset } = this;
|
|
314
|
+
let cursor = 0;
|
|
315
|
+
const box = {
|
|
316
|
+
size: readUint(dataView, offset, 4),
|
|
317
|
+
type: readString(dataView, offset + 4, 4)
|
|
318
|
+
};
|
|
319
|
+
cursor += 8;
|
|
320
|
+
if (box.size === 1) {
|
|
321
|
+
box.largesize = readUint(dataView, offset + cursor, 8);
|
|
322
|
+
cursor += 8;
|
|
323
|
+
}
|
|
324
|
+
const actualSize = box.largesize || box.size;
|
|
325
|
+
if (this.cursor + actualSize > dataView.byteLength) {
|
|
326
|
+
this.truncated = true;
|
|
327
|
+
throw new Error("Truncated box");
|
|
328
|
+
}
|
|
329
|
+
this.offset += cursor;
|
|
330
|
+
if (box.type === "uuid") box.usertype = this.readArray("uint", 1, 16);
|
|
331
|
+
const viewSize = box.size === 0 ? this.bytesRemaining : actualSize - cursor;
|
|
332
|
+
box.data = this.slice(viewSize);
|
|
333
|
+
return box;
|
|
334
|
+
};
|
|
335
|
+
this.readBoxes = (length) => {
|
|
336
|
+
const result = [];
|
|
337
|
+
for (const box of this) {
|
|
338
|
+
result.push(box);
|
|
339
|
+
if (length > 0 && result.length >= length) break;
|
|
340
|
+
}
|
|
341
|
+
return result;
|
|
342
|
+
};
|
|
343
|
+
this.readEntries = (length, map) => {
|
|
344
|
+
const result = [];
|
|
345
|
+
for (let i = 0; i < length; i++) result.push(map());
|
|
346
|
+
return result;
|
|
347
|
+
};
|
|
348
|
+
this.dataView = raw instanceof ArrayBuffer ? new DataView(raw) : raw instanceof Uint8Array ? new DataView(raw.buffer, raw.byteOffset, raw.byteLength) : raw;
|
|
349
|
+
this.offset = this.dataView.byteOffset;
|
|
350
|
+
this.config = config || {
|
|
351
|
+
recursive: false,
|
|
352
|
+
parsers: {}
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* The current byteoffset in the data view.
|
|
357
|
+
*/
|
|
358
|
+
get cursor() {
|
|
359
|
+
return this.offset - this.dataView.byteOffset;
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Whether the end of the data view has been reached.
|
|
363
|
+
*/
|
|
364
|
+
get done() {
|
|
365
|
+
return this.cursor >= this.dataView.byteLength || this.truncated;
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* The number of bytes remaining in the data view.
|
|
369
|
+
*/
|
|
370
|
+
get bytesRemaining() {
|
|
371
|
+
return this.dataView.byteLength - this.cursor;
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Iterates over the boxes in the data view.
|
|
375
|
+
*
|
|
376
|
+
* @returns A generator of boxes.
|
|
377
|
+
*/
|
|
378
|
+
*[Symbol.iterator]() {
|
|
379
|
+
const { parsers = {}, recursive = false } = this.config;
|
|
380
|
+
while (!this.done) try {
|
|
381
|
+
const { type, data,...rest } = this.readBox();
|
|
382
|
+
const box = {
|
|
383
|
+
type,
|
|
384
|
+
...rest
|
|
385
|
+
};
|
|
386
|
+
const parser = parsers[type] || parsers[type.trim()];
|
|
387
|
+
if (parser) Object.assign(box, parser(data, this.config));
|
|
388
|
+
box.view = data;
|
|
389
|
+
if (CONTAINERS.includes(type)) {
|
|
390
|
+
const boxes = [];
|
|
391
|
+
for (const child of data) {
|
|
392
|
+
if (recursive) yield child;
|
|
393
|
+
boxes.push(child);
|
|
394
|
+
}
|
|
395
|
+
box.boxes = boxes;
|
|
396
|
+
}
|
|
397
|
+
yield box;
|
|
398
|
+
} catch (error) {
|
|
399
|
+
break;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
};
|
|
403
|
+
|
|
404
|
+
//#endregion
|
|
405
|
+
//#region src/createIsoView.ts
|
|
406
|
+
/**
|
|
407
|
+
* Create an IsoView from a raw ISO data.
|
|
408
|
+
*
|
|
409
|
+
* @param raw - The raw ISO data
|
|
410
|
+
* @param config - The configuration for the IsoView
|
|
411
|
+
*
|
|
412
|
+
* @returns The created IsoView
|
|
413
|
+
*
|
|
414
|
+
*
|
|
415
|
+
* @beta
|
|
416
|
+
*/
|
|
417
|
+
function createIsoView(raw, config) {
|
|
418
|
+
return new IsoView(raw, config);
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
//#endregion
|
|
422
|
+
//#region src/filterBoxes.ts
|
|
423
|
+
function filter(iterator, fn, recursive, result) {
|
|
424
|
+
for (const box of iterator) {
|
|
425
|
+
if (fn(box)) result.push(box);
|
|
426
|
+
const { boxes } = box;
|
|
427
|
+
if (recursive && Array.isArray(boxes)) filter(boxes, fn, recursive, result);
|
|
428
|
+
}
|
|
429
|
+
return result;
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* Filters boxes based on the given filter function.
|
|
433
|
+
*
|
|
434
|
+
* @param raw - The raw boxes to filter.
|
|
435
|
+
* @param config - The box parser configuration.
|
|
436
|
+
* @param fn - The filter function.
|
|
437
|
+
* @returns The filtered boxes.
|
|
438
|
+
*
|
|
439
|
+
* @beta
|
|
440
|
+
*/
|
|
441
|
+
function filterBoxes(raw, fn, config) {
|
|
442
|
+
if (raw instanceof DataView || raw instanceof Uint8Array || raw instanceof ArrayBuffer) raw = createIsoView(raw, {
|
|
443
|
+
...config,
|
|
444
|
+
recursive: false
|
|
445
|
+
});
|
|
446
|
+
const recursive = config?.recursive ?? true;
|
|
447
|
+
return filter(raw, fn, recursive, []);
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
//#endregion
|
|
451
|
+
//#region src/filterBoxesByType.ts
|
|
452
|
+
/**
|
|
453
|
+
* Filter boxes by type from an IsoView
|
|
454
|
+
*
|
|
455
|
+
* @param type - The type(s) of boxes to filter
|
|
456
|
+
* @param raw - The raw ISO data
|
|
457
|
+
* @param config - The configuration for the IsoView
|
|
458
|
+
*
|
|
459
|
+
* @returns The filtered boxes
|
|
460
|
+
*
|
|
461
|
+
*
|
|
462
|
+
* @beta
|
|
463
|
+
*/
|
|
464
|
+
function filterBoxesByType(raw, type, config = {}) {
|
|
465
|
+
if (!Array.isArray(type)) type = [type];
|
|
466
|
+
return filterBoxes(raw, (box) => type.includes(box.type), config);
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
//#endregion
|
|
470
|
+
//#region src/findBox.ts
|
|
471
|
+
function find(iterator, recursive, fn) {
|
|
472
|
+
for (const box of iterator) {
|
|
473
|
+
if (fn(box)) return box;
|
|
474
|
+
const { boxes } = box;
|
|
475
|
+
if (recursive && Array.isArray(boxes)) {
|
|
476
|
+
const result = find(boxes, recursive, fn);
|
|
477
|
+
if (result) return result;
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
return null;
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Find a box from an IsoView that matches a filter function
|
|
484
|
+
*
|
|
485
|
+
* @param raw - The raw ISO data
|
|
486
|
+
* @param config - The configuration for the IsoView
|
|
487
|
+
* @param fn - The filter function
|
|
488
|
+
*
|
|
489
|
+
* @returns The first box that matches the filter function
|
|
490
|
+
*
|
|
491
|
+
*
|
|
492
|
+
* @beta
|
|
493
|
+
*/
|
|
494
|
+
function findBox(raw, fn, config) {
|
|
495
|
+
const recursive = config?.recursive ?? true;
|
|
496
|
+
if (raw instanceof DataView || raw instanceof Uint8Array || raw instanceof ArrayBuffer) raw = createIsoView(raw, {
|
|
497
|
+
...config,
|
|
498
|
+
recursive: false
|
|
499
|
+
});
|
|
500
|
+
return find(raw, recursive, fn);
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
//#endregion
|
|
504
|
+
//#region src/findBoxByType.ts
|
|
505
|
+
/**
|
|
506
|
+
* Find a box from an IsoView that matches a given type
|
|
507
|
+
*
|
|
508
|
+
* @param type - The type of box to find
|
|
509
|
+
* @param raw - The raw ISO data
|
|
510
|
+
* @param config - The configuration for the IsoView
|
|
511
|
+
*
|
|
512
|
+
* @returns The first box that matches the type
|
|
513
|
+
*
|
|
514
|
+
*
|
|
515
|
+
* @beta
|
|
516
|
+
*/
|
|
517
|
+
function findBoxByType(raw, type, config = {}) {
|
|
518
|
+
return findBox(raw, (box) => box.type === type, config);
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
//#endregion
|
|
522
|
+
//#region src/parseBoxes.ts
|
|
523
|
+
/**
|
|
524
|
+
* Parse boxes from an IsoView
|
|
525
|
+
*
|
|
526
|
+
* @param raw - The raw ISO data
|
|
527
|
+
* @param config - The configuration for the IsoView
|
|
528
|
+
*
|
|
529
|
+
* @returns The parsed boxes
|
|
530
|
+
*
|
|
531
|
+
*
|
|
532
|
+
* @beta
|
|
533
|
+
*/
|
|
534
|
+
function parseBoxes(raw, config) {
|
|
535
|
+
const boxes = [];
|
|
536
|
+
for (const box of createIsoView(raw, config)) boxes.push(box);
|
|
537
|
+
return boxes;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
//#endregion
|
|
541
|
+
//#region src/parsers/ardi.ts
|
|
542
|
+
/**
|
|
543
|
+
* Parse a AudioRenderingIndicationBox from an IsoView
|
|
544
|
+
*
|
|
545
|
+
* @param view - The IsoView to read data from
|
|
546
|
+
*
|
|
547
|
+
* @returns A parsed AudioRenderingIndicationBox
|
|
548
|
+
*
|
|
549
|
+
*
|
|
550
|
+
* @beta
|
|
551
|
+
*/
|
|
552
|
+
function ardi(view) {
|
|
553
|
+
return {
|
|
554
|
+
...view.readFullBox(),
|
|
555
|
+
audioRenderingIndication: view.readUint(1)
|
|
556
|
+
};
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
//#endregion
|
|
560
|
+
//#region src/parsers/avc1.ts
|
|
561
|
+
/**
|
|
562
|
+
* Parse a VisualSampleEntryBox from an IsoView
|
|
563
|
+
*
|
|
564
|
+
* @param view - The IsoView to read data from
|
|
565
|
+
*
|
|
566
|
+
* @returns A parsed VisualSampleEntryBox
|
|
567
|
+
*
|
|
568
|
+
*
|
|
569
|
+
* @beta
|
|
570
|
+
*/
|
|
571
|
+
function avc1(view) {
|
|
572
|
+
const { readArray, readUint: readUint$1, readInt: readInt$1, readTemplate: readTemplate$1, readData: readData$1 } = view;
|
|
573
|
+
return {
|
|
574
|
+
reserved1: readArray(UINT, 1, 6),
|
|
575
|
+
dataReferenceIndex: readUint$1(2),
|
|
576
|
+
preDefined1: readUint$1(2),
|
|
577
|
+
reserved2: readUint$1(2),
|
|
578
|
+
preDefined2: readArray(UINT, 4, 3),
|
|
579
|
+
width: readUint$1(2),
|
|
580
|
+
height: readUint$1(2),
|
|
581
|
+
horizresolution: readTemplate$1(4),
|
|
582
|
+
vertresolution: readTemplate$1(4),
|
|
583
|
+
reserved3: readUint$1(4),
|
|
584
|
+
frameCount: readUint$1(2),
|
|
585
|
+
compressorName: readArray(UINT, 1, 32),
|
|
586
|
+
depth: readUint$1(2),
|
|
587
|
+
preDefined3: readInt$1(2),
|
|
588
|
+
config: readData$1(-1)
|
|
589
|
+
};
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
//#endregion
|
|
593
|
+
//#region src/parsers/avc2.ts
|
|
594
|
+
/**
|
|
595
|
+
* Parse a VisualSampleEntryBox from an IsoView
|
|
596
|
+
*
|
|
597
|
+
* @param view - The IsoView to read data from
|
|
598
|
+
*
|
|
599
|
+
* @returns A parsed VisualSampleEntryBox
|
|
600
|
+
*
|
|
601
|
+
*
|
|
602
|
+
* @beta
|
|
603
|
+
*/
|
|
604
|
+
function avc2(view) {
|
|
605
|
+
return avc1(view);
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
//#endregion
|
|
609
|
+
//#region src/parsers/avc3.ts
|
|
610
|
+
/**
|
|
611
|
+
* Parse a VisualSampleEntryBox from an IsoView
|
|
612
|
+
*
|
|
613
|
+
* @param view - The IsoView to read data from
|
|
614
|
+
*
|
|
615
|
+
* @returns A parsed VisualSampleEntryBox
|
|
616
|
+
*
|
|
617
|
+
*
|
|
618
|
+
* @beta
|
|
619
|
+
*/
|
|
620
|
+
function avc3(view) {
|
|
621
|
+
return avc1(view);
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
//#endregion
|
|
625
|
+
//#region src/parsers/avc4.ts
|
|
626
|
+
/**
|
|
627
|
+
* Parse a VisualSampleEntryBox from an IsoView
|
|
628
|
+
*
|
|
629
|
+
* @param view - The IsoView to read data from
|
|
630
|
+
*
|
|
631
|
+
* @returns A parsed VisualSampleEntryBox
|
|
632
|
+
*
|
|
633
|
+
*
|
|
634
|
+
* @beta
|
|
635
|
+
*/
|
|
636
|
+
function avc4(view) {
|
|
637
|
+
return avc1(view);
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
//#endregion
|
|
641
|
+
//#region src/parsers/ctts.ts
|
|
642
|
+
/**
|
|
643
|
+
* Parse a CompositionTimeToSampleBox from an IsoView
|
|
644
|
+
*
|
|
645
|
+
* @param view - The IsoView to read data from
|
|
646
|
+
*
|
|
647
|
+
* @returns A parsed CompositionTimeToSampleBox
|
|
648
|
+
*
|
|
649
|
+
*
|
|
650
|
+
* @beta
|
|
651
|
+
*/
|
|
652
|
+
function ctts(view) {
|
|
653
|
+
const { version, flags } = view.readFullBox();
|
|
654
|
+
const read = version === 1 ? view.readInt : view.readUint;
|
|
655
|
+
const entryCount = view.readUint(4);
|
|
656
|
+
return {
|
|
657
|
+
version,
|
|
658
|
+
flags,
|
|
659
|
+
entryCount,
|
|
660
|
+
entries: view.readEntries(entryCount, () => ({
|
|
661
|
+
sampleCount: view.readUint(4),
|
|
662
|
+
sampleOffset: read(4)
|
|
663
|
+
}))
|
|
664
|
+
};
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
//#endregion
|
|
668
|
+
//#region src/parsers/dref.ts
|
|
669
|
+
/**
|
|
670
|
+
* Parse a DataReferenceBox from an IsoView
|
|
671
|
+
*
|
|
672
|
+
* @param view - The IsoView to read data from
|
|
673
|
+
*
|
|
674
|
+
* @returns A parsed DataReferenceBox
|
|
675
|
+
*
|
|
676
|
+
*
|
|
677
|
+
* @beta
|
|
678
|
+
*/
|
|
679
|
+
function dref(view) {
|
|
680
|
+
const { version, flags } = view.readFullBox();
|
|
681
|
+
const entryCount = view.readUint(4);
|
|
682
|
+
return {
|
|
683
|
+
version,
|
|
684
|
+
flags,
|
|
685
|
+
entryCount,
|
|
686
|
+
entries: view.readBoxes(entryCount)
|
|
687
|
+
};
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
//#endregion
|
|
691
|
+
//#region src/parsers/elng.ts
|
|
692
|
+
/**
|
|
693
|
+
* Parse a ExtendedLanguageBox from an IsoView
|
|
694
|
+
*
|
|
695
|
+
* @param view - The IsoView to read data from
|
|
696
|
+
*
|
|
697
|
+
* @returns A parsed ExtendedLanguageBox
|
|
698
|
+
*
|
|
699
|
+
*
|
|
700
|
+
* @beta
|
|
701
|
+
*/
|
|
702
|
+
function elng(view) {
|
|
703
|
+
return {
|
|
704
|
+
...view.readFullBox(),
|
|
705
|
+
extendedLanguage: view.readUtf8(-1)
|
|
706
|
+
};
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
//#endregion
|
|
710
|
+
//#region src/parsers/elst.ts
|
|
711
|
+
/**
|
|
712
|
+
* Parse a Box from an IsoView
|
|
713
|
+
*
|
|
714
|
+
* @param view - The IsoView to read data from
|
|
715
|
+
*
|
|
716
|
+
* @returns A parsed Box
|
|
717
|
+
*
|
|
718
|
+
*
|
|
719
|
+
* @beta
|
|
720
|
+
*/
|
|
721
|
+
function elst(view) {
|
|
722
|
+
const { version, flags } = view.readFullBox();
|
|
723
|
+
const size = version === 1 ? 8 : 4;
|
|
724
|
+
const entryCount = view.readUint(4);
|
|
725
|
+
return {
|
|
726
|
+
version,
|
|
727
|
+
flags,
|
|
728
|
+
entryCount,
|
|
729
|
+
entries: view.readEntries(entryCount, () => ({
|
|
730
|
+
segmentDuration: view.readUint(size),
|
|
731
|
+
mediaTime: view.readInt(size),
|
|
732
|
+
mediaRateInteger: view.readInt(2),
|
|
733
|
+
mediaRateFraction: view.readInt(2)
|
|
734
|
+
}))
|
|
735
|
+
};
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
//#endregion
|
|
739
|
+
//#region src/parsers/emsg.ts
|
|
740
|
+
/**
|
|
741
|
+
* Parse an EventMessageBox from an IsoView
|
|
742
|
+
*
|
|
743
|
+
* @param view - The IsoView to read data from
|
|
744
|
+
*
|
|
745
|
+
* @returns A parsed EventMessageBox
|
|
746
|
+
*
|
|
747
|
+
*
|
|
748
|
+
* @beta
|
|
749
|
+
*/
|
|
750
|
+
function emsg(view) {
|
|
751
|
+
const { readUint: readUint$1, readString: readString$1, readData: readData$1 } = view;
|
|
752
|
+
const result = { ...view.readFullBox() };
|
|
753
|
+
if (result.version == 1) {
|
|
754
|
+
result.timescale = readUint$1(4);
|
|
755
|
+
result.presentationTime = readUint$1(8);
|
|
756
|
+
result.eventDuration = readUint$1(4);
|
|
757
|
+
result.id = readUint$1(4);
|
|
758
|
+
result.schemeIdUri = readString$1(-1);
|
|
759
|
+
result.value = readString$1(-1);
|
|
760
|
+
} else {
|
|
761
|
+
result.schemeIdUri = readString$1(-1);
|
|
762
|
+
result.value = readString$1(-1);
|
|
763
|
+
result.timescale = readUint$1(4);
|
|
764
|
+
result.presentationTimeDelta = readUint$1(4);
|
|
765
|
+
result.eventDuration = readUint$1(4);
|
|
766
|
+
result.id = readUint$1(4);
|
|
767
|
+
}
|
|
768
|
+
result.messageData = readData$1(-1);
|
|
769
|
+
return result;
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
//#endregion
|
|
773
|
+
//#region src/parsers/mp4a.ts
|
|
774
|
+
/**
|
|
775
|
+
* Parse an AudioSampleEntry from an IsoView
|
|
776
|
+
*
|
|
777
|
+
* @param view - The IsoView to read data from
|
|
778
|
+
*
|
|
779
|
+
* @returns A parsed AudioSampleEntry
|
|
780
|
+
*
|
|
781
|
+
*
|
|
782
|
+
* @beta
|
|
783
|
+
*/
|
|
784
|
+
function mp4a(view) {
|
|
785
|
+
const { readArray, readUint: readUint$1, readTemplate: readTemplate$1, readData: readData$1 } = view;
|
|
786
|
+
return {
|
|
787
|
+
reserved1: readArray(UINT, 1, 6),
|
|
788
|
+
dataReferenceIndex: readUint$1(2),
|
|
789
|
+
reserved2: readArray(UINT, 4, 2),
|
|
790
|
+
channelcount: readUint$1(2),
|
|
791
|
+
samplesize: readUint$1(2),
|
|
792
|
+
preDefined: readUint$1(2),
|
|
793
|
+
reserved3: readUint$1(2),
|
|
794
|
+
samplerate: readTemplate$1(4),
|
|
795
|
+
esds: readData$1(-1)
|
|
796
|
+
};
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
//#endregion
|
|
800
|
+
//#region src/parsers/enca.ts
|
|
801
|
+
/**
|
|
802
|
+
* Parse an AudioSampleEntry from an IsoView
|
|
803
|
+
*
|
|
804
|
+
* @param view - The IsoView to read data from
|
|
805
|
+
*
|
|
806
|
+
* @returns A parsed AudioSampleEntry
|
|
807
|
+
*
|
|
808
|
+
*
|
|
809
|
+
* @beta
|
|
810
|
+
*/
|
|
811
|
+
function enca(view) {
|
|
812
|
+
return mp4a(view);
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
//#endregion
|
|
816
|
+
//#region src/parsers/encv.ts
|
|
817
|
+
/**
|
|
818
|
+
* Parse a VisualSampleEntryBox from an IsoView
|
|
819
|
+
*
|
|
820
|
+
* @param view - The IsoView to read data from
|
|
821
|
+
*
|
|
822
|
+
* @returns A parsed VisualSampleEntryBox
|
|
823
|
+
*
|
|
824
|
+
*
|
|
825
|
+
* @beta
|
|
826
|
+
*/
|
|
827
|
+
function encv(view) {
|
|
828
|
+
return avc1(view);
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
//#endregion
|
|
832
|
+
//#region src/parsers/free.ts
|
|
833
|
+
/**
|
|
834
|
+
* Parse a Box from an IsoView
|
|
835
|
+
*
|
|
836
|
+
* @param view - The IsoView to read data from
|
|
837
|
+
*
|
|
838
|
+
* @returns A parsed Box
|
|
839
|
+
*
|
|
840
|
+
*
|
|
841
|
+
* @beta
|
|
842
|
+
*/
|
|
843
|
+
function free(view) {
|
|
844
|
+
return { data: view.readData(-1) };
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
//#endregion
|
|
848
|
+
//#region src/parsers/frma.ts
|
|
849
|
+
/**
|
|
850
|
+
* Parse an OriginalFormatBox from an IsoView
|
|
851
|
+
*
|
|
852
|
+
* @param view - The IsoView to read data from
|
|
853
|
+
*
|
|
854
|
+
* @returns A parsed OriginalFormatBox
|
|
855
|
+
*
|
|
856
|
+
*
|
|
857
|
+
* @beta
|
|
858
|
+
*/
|
|
859
|
+
function frma(view) {
|
|
860
|
+
return { dataFormat: view.readUint(4) };
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
//#endregion
|
|
864
|
+
//#region src/parsers/ftyp.ts
|
|
865
|
+
/**
|
|
866
|
+
* Parse a FileTypeBox from an IsoView
|
|
867
|
+
*
|
|
868
|
+
* @param view - The IsoView to read data from
|
|
869
|
+
*
|
|
870
|
+
* @returns A parsed FileTypeBox
|
|
871
|
+
*
|
|
872
|
+
*
|
|
873
|
+
* @beta
|
|
874
|
+
*/
|
|
875
|
+
function ftyp(view) {
|
|
876
|
+
const size = 4;
|
|
877
|
+
const majorBrand = view.readString(4);
|
|
878
|
+
const minorVersion = view.readUint(4);
|
|
879
|
+
const length = view.bytesRemaining / size;
|
|
880
|
+
return {
|
|
881
|
+
majorBrand,
|
|
882
|
+
minorVersion,
|
|
883
|
+
compatibleBrands: view.readArray(STRING, size, length)
|
|
884
|
+
};
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
//#endregion
|
|
888
|
+
//#region src/parsers/hdlr.ts
|
|
889
|
+
/**
|
|
890
|
+
* Parse a HandlerReferenceBox from an IsoView
|
|
891
|
+
*
|
|
892
|
+
* @param view - The IsoView to read data from
|
|
893
|
+
*
|
|
894
|
+
* @returns A parsed HandlerReferenceBox
|
|
895
|
+
*
|
|
896
|
+
*
|
|
897
|
+
* @beta
|
|
898
|
+
*/
|
|
899
|
+
function hdlr(view) {
|
|
900
|
+
return {
|
|
901
|
+
...view.readFullBox(),
|
|
902
|
+
preDefined: view.readUint(4),
|
|
903
|
+
handlerType: view.readString(4),
|
|
904
|
+
reserved: view.readArray(UINT, 4, 3),
|
|
905
|
+
name: view.readString(-1)
|
|
906
|
+
};
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
//#endregion
|
|
910
|
+
//#region src/parsers/hev1.ts
|
|
911
|
+
/**
|
|
912
|
+
* Parse a VisualSampleEntryBox from an IsoView
|
|
913
|
+
*
|
|
914
|
+
* @param view - The IsoView to read data from
|
|
915
|
+
*
|
|
916
|
+
* @returns A parsed VisualSampleEntryBox
|
|
917
|
+
*
|
|
918
|
+
*
|
|
919
|
+
* @beta
|
|
920
|
+
*/
|
|
921
|
+
function hev1(view) {
|
|
922
|
+
return avc1(view);
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
//#endregion
|
|
926
|
+
//#region src/parsers/hvc1.ts
|
|
927
|
+
/**
|
|
928
|
+
* Parse a VisualSampleEntryBox from an IsoView
|
|
929
|
+
*
|
|
930
|
+
* @param view - The IsoView to read data from
|
|
931
|
+
*
|
|
932
|
+
* @returns A parsed VisualSampleEntryBox
|
|
933
|
+
*
|
|
934
|
+
*
|
|
935
|
+
* @beta
|
|
936
|
+
*/
|
|
937
|
+
function hvc1(view) {
|
|
938
|
+
return avc1(view);
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
//#endregion
|
|
942
|
+
//#region src/parsers/iden.ts
|
|
943
|
+
/**
|
|
944
|
+
* Parse a WebVTTCueIdBox from an IsoView
|
|
945
|
+
*
|
|
946
|
+
* @param view - The IsoView to read data from
|
|
947
|
+
*
|
|
948
|
+
* @returns A parsed WebVTTCueIdBox
|
|
949
|
+
*
|
|
950
|
+
*
|
|
951
|
+
* @beta
|
|
952
|
+
*/
|
|
953
|
+
function iden(view) {
|
|
954
|
+
return { cueId: view.readUtf8(-1) };
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
//#endregion
|
|
958
|
+
//#region src/parsers/imda.ts
|
|
959
|
+
/**
|
|
960
|
+
* Parse a IdentifiedMediaDataBox from an IsoView
|
|
961
|
+
*
|
|
962
|
+
* @param view - The IsoView to read data from
|
|
963
|
+
*
|
|
964
|
+
* @returns A parsed IdentifiedMediaDataBox
|
|
965
|
+
*
|
|
966
|
+
*
|
|
967
|
+
* @beta
|
|
968
|
+
*/
|
|
969
|
+
function imda(view) {
|
|
970
|
+
return {
|
|
971
|
+
imdaIdentifier: view.readUint(4),
|
|
972
|
+
data: view.readData(-1)
|
|
973
|
+
};
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
//#endregion
|
|
977
|
+
//#region src/parsers/kind.ts
|
|
978
|
+
/**
|
|
979
|
+
* Parse a TrackKinBox from an IsoView
|
|
980
|
+
*
|
|
981
|
+
* @param view - The IsoView to read data from
|
|
982
|
+
*
|
|
983
|
+
* @returns A parsed TrackKindBox
|
|
984
|
+
*
|
|
985
|
+
*
|
|
986
|
+
* @beta
|
|
987
|
+
*/
|
|
988
|
+
function kind(view) {
|
|
989
|
+
return {
|
|
990
|
+
...view.readFullBox(),
|
|
991
|
+
schemeUri: view.readUtf8(-1),
|
|
992
|
+
value: view.readUtf8(-1)
|
|
993
|
+
};
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
//#endregion
|
|
997
|
+
//#region src/parsers/labl.ts
|
|
998
|
+
/**
|
|
999
|
+
* Parse a LabelBox from an IsoView
|
|
1000
|
+
*
|
|
1001
|
+
* @param view - The IsoView to read data from
|
|
1002
|
+
*
|
|
1003
|
+
* @returns A parsed LabelBox
|
|
1004
|
+
*
|
|
1005
|
+
*
|
|
1006
|
+
* @beta
|
|
1007
|
+
*/
|
|
1008
|
+
function labl(view) {
|
|
1009
|
+
const { version, flags } = view.readFullBox();
|
|
1010
|
+
return {
|
|
1011
|
+
version,
|
|
1012
|
+
flags,
|
|
1013
|
+
isGroupLabel: (flags & 1) !== 0,
|
|
1014
|
+
labelId: view.readUint(2),
|
|
1015
|
+
language: view.readUtf8(-1),
|
|
1016
|
+
label: view.readUtf8(-1)
|
|
1017
|
+
};
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
//#endregion
|
|
1021
|
+
//#region src/parsers/mdat.ts
|
|
1022
|
+
/**
|
|
1023
|
+
* Parse a MediaDataBox from an IsoView
|
|
1024
|
+
*
|
|
1025
|
+
* @param view - The IsoView to read data from
|
|
1026
|
+
*
|
|
1027
|
+
* @returns A parsed MediaDataBox
|
|
1028
|
+
*
|
|
1029
|
+
*
|
|
1030
|
+
* @beta
|
|
1031
|
+
*/
|
|
1032
|
+
function mdat(view) {
|
|
1033
|
+
return { data: view.readData(-1) };
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
//#endregion
|
|
1037
|
+
//#region src/parsers/mdhd.ts
|
|
1038
|
+
/**
|
|
1039
|
+
* Parse a MediaHeaderBox from an IsoView
|
|
1040
|
+
*
|
|
1041
|
+
* @param view - The IsoView to read data from
|
|
1042
|
+
*
|
|
1043
|
+
* @returns A parsed MediaHeaderBox
|
|
1044
|
+
*
|
|
1045
|
+
*
|
|
1046
|
+
* @beta
|
|
1047
|
+
*/
|
|
1048
|
+
function mdhd(view) {
|
|
1049
|
+
const { version, flags } = view.readFullBox();
|
|
1050
|
+
const creationTime = view.readUint(version == 1 ? 8 : 4);
|
|
1051
|
+
const modificationTime = view.readUint(version == 1 ? 8 : 4);
|
|
1052
|
+
const timescale = view.readUint(4);
|
|
1053
|
+
const duration = view.readUint(version == 1 ? 8 : 4);
|
|
1054
|
+
const lang = view.readUint(2);
|
|
1055
|
+
return {
|
|
1056
|
+
version,
|
|
1057
|
+
flags,
|
|
1058
|
+
creationTime,
|
|
1059
|
+
modificationTime,
|
|
1060
|
+
timescale,
|
|
1061
|
+
duration,
|
|
1062
|
+
language: String.fromCharCode((lang >> 10 & 31) + 96, (lang >> 5 & 31) + 96, (lang & 31) + 96),
|
|
1063
|
+
preDefined: view.readUint(2)
|
|
1064
|
+
};
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
//#endregion
|
|
1068
|
+
//#region src/parsers/mehd.ts
|
|
1069
|
+
/**
|
|
1070
|
+
* Parse a MovieExtendsHeaderBox from an IsoView
|
|
1071
|
+
*
|
|
1072
|
+
* @param view - The IsoView to read data from
|
|
1073
|
+
*
|
|
1074
|
+
* @returns A parsed MovieExtendsHeaderBox
|
|
1075
|
+
*
|
|
1076
|
+
*
|
|
1077
|
+
* @beta
|
|
1078
|
+
*/
|
|
1079
|
+
function mehd(view) {
|
|
1080
|
+
const { version, flags } = view.readFullBox();
|
|
1081
|
+
return {
|
|
1082
|
+
version,
|
|
1083
|
+
flags,
|
|
1084
|
+
fragmentDuration: view.readUint(version === 1 ? 8 : 4)
|
|
1085
|
+
};
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
//#endregion
|
|
1089
|
+
//#region src/parsers/meta.ts
|
|
1090
|
+
/**
|
|
1091
|
+
* Parse a MetaBox from an IsoView
|
|
1092
|
+
*
|
|
1093
|
+
* @param view - The IsoView to read data from
|
|
1094
|
+
*
|
|
1095
|
+
* @returns A parsed MetaBox
|
|
1096
|
+
*
|
|
1097
|
+
*
|
|
1098
|
+
* @beta
|
|
1099
|
+
*/
|
|
1100
|
+
function meta(view) {
|
|
1101
|
+
return view.readFullBox();
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
//#endregion
|
|
1105
|
+
//#region src/parsers/mfhd.ts
|
|
1106
|
+
/**
|
|
1107
|
+
* Parse a MovieFragmentHeaderBox from an IsoView
|
|
1108
|
+
*
|
|
1109
|
+
* @param view - The IsoView to read data from
|
|
1110
|
+
*
|
|
1111
|
+
* @returns A parsed MovieFragmentHeaderBox
|
|
1112
|
+
*
|
|
1113
|
+
*
|
|
1114
|
+
* @beta
|
|
1115
|
+
*/
|
|
1116
|
+
function mfhd(view) {
|
|
1117
|
+
return {
|
|
1118
|
+
...view.readFullBox(),
|
|
1119
|
+
sequenceNumber: view.readUint(4)
|
|
1120
|
+
};
|
|
1121
|
+
}
|
|
1122
|
+
|
|
1123
|
+
//#endregion
|
|
1124
|
+
//#region src/parsers/mfro.ts
|
|
1125
|
+
/**
|
|
1126
|
+
* Parse a MovieFragmentRandomAccessBox from an IsoView
|
|
1127
|
+
*
|
|
1128
|
+
* @param view - The IsoView to read data from
|
|
1129
|
+
*
|
|
1130
|
+
* @returns A parsed MovieFragmentRandomAccessBox
|
|
1131
|
+
*
|
|
1132
|
+
*
|
|
1133
|
+
* @beta
|
|
1134
|
+
*/
|
|
1135
|
+
function mfro(view) {
|
|
1136
|
+
return {
|
|
1137
|
+
...view.readFullBox(),
|
|
1138
|
+
mfraSize: view.readUint(4)
|
|
1139
|
+
};
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
//#endregion
|
|
1143
|
+
//#region src/parsers/mvhd.ts
|
|
1144
|
+
/**
|
|
1145
|
+
* Parse a Box from an IsoView
|
|
1146
|
+
*
|
|
1147
|
+
* @param view - The IsoView to read data from
|
|
1148
|
+
*
|
|
1149
|
+
* @returns A parsed Box
|
|
1150
|
+
*
|
|
1151
|
+
*
|
|
1152
|
+
* @beta
|
|
1153
|
+
*/
|
|
1154
|
+
function mvhd(view) {
|
|
1155
|
+
const { readUint: readUint$1, readTemplate: readTemplate$1, readArray } = view;
|
|
1156
|
+
const { version, flags } = view.readFullBox();
|
|
1157
|
+
const size = version == 1 ? 8 : 4;
|
|
1158
|
+
return {
|
|
1159
|
+
version,
|
|
1160
|
+
flags,
|
|
1161
|
+
creationTime: readUint$1(size),
|
|
1162
|
+
modificationTime: readUint$1(size),
|
|
1163
|
+
timescale: readUint$1(4),
|
|
1164
|
+
duration: readUint$1(size),
|
|
1165
|
+
rate: readTemplate$1(4),
|
|
1166
|
+
volume: readTemplate$1(2),
|
|
1167
|
+
reserved1: readUint$1(2),
|
|
1168
|
+
reserved2: readArray(UINT, 4, 2),
|
|
1169
|
+
matrix: readArray(UINT, 4, 9),
|
|
1170
|
+
preDefined: readArray(UINT, 4, 6),
|
|
1171
|
+
nextTrackId: readUint$1(4)
|
|
1172
|
+
};
|
|
1173
|
+
}
|
|
1174
|
+
|
|
1175
|
+
//#endregion
|
|
1176
|
+
//#region src/parsers/payl.ts
|
|
1177
|
+
/**
|
|
1178
|
+
* Parse a WebVTTCuePayloadBox from an IsoView
|
|
1179
|
+
*
|
|
1180
|
+
* @param view - The IsoView to read data from
|
|
1181
|
+
*
|
|
1182
|
+
* @returns A parsed WebVTTCuePayloadBox
|
|
1183
|
+
*
|
|
1184
|
+
*
|
|
1185
|
+
* @beta
|
|
1186
|
+
*/
|
|
1187
|
+
function payl(view) {
|
|
1188
|
+
return { cueText: view.readUtf8(-1) };
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
//#endregion
|
|
1192
|
+
//#region src/parsers/prft.ts
|
|
1193
|
+
/**
|
|
1194
|
+
* Parse a ProducerReferenceTimeBox from an IsoView
|
|
1195
|
+
*
|
|
1196
|
+
* @param view - The IsoView to read data from
|
|
1197
|
+
*
|
|
1198
|
+
* @returns A parsed ProducerReferenceTimeBox
|
|
1199
|
+
*
|
|
1200
|
+
*
|
|
1201
|
+
* @beta
|
|
1202
|
+
*/
|
|
1203
|
+
function prft(view) {
|
|
1204
|
+
const { version, flags } = view.readFullBox();
|
|
1205
|
+
return {
|
|
1206
|
+
version,
|
|
1207
|
+
flags,
|
|
1208
|
+
referenceTrackId: view.readUint(4),
|
|
1209
|
+
ntpTimestampSec: view.readUint(4),
|
|
1210
|
+
ntpTimestampFrac: view.readUint(4),
|
|
1211
|
+
mediaTime: view.readUint(version === 1 ? 8 : 4)
|
|
1212
|
+
};
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
//#endregion
|
|
1216
|
+
//#region src/parsers/prsl.ts
|
|
1217
|
+
/**
|
|
1218
|
+
* Parse a PreselectionGroupBox from an IsoView
|
|
1219
|
+
*
|
|
1220
|
+
* @param view - The IsoView to read data from
|
|
1221
|
+
*
|
|
1222
|
+
* @returns A parsed PreselectionGroupBox
|
|
1223
|
+
*
|
|
1224
|
+
*
|
|
1225
|
+
* @beta
|
|
1226
|
+
*/
|
|
1227
|
+
function prsl(view) {
|
|
1228
|
+
const { version, flags } = view.readFullBox();
|
|
1229
|
+
const groupId = view.readUint(4);
|
|
1230
|
+
const numEntitiesInGroup = view.readUint(4);
|
|
1231
|
+
return {
|
|
1232
|
+
version,
|
|
1233
|
+
flags,
|
|
1234
|
+
groupId,
|
|
1235
|
+
numEntitiesInGroup,
|
|
1236
|
+
entities: view.readEntries(numEntitiesInGroup, () => ({ entityId: view.readUint(4) })),
|
|
1237
|
+
preselectionTag: flags & 4096 ? view.readUtf8(-1) : void 0,
|
|
1238
|
+
selectionPriority: flags & 8192 ? view.readUint(1) : void 0,
|
|
1239
|
+
interleavingTag: flags & 16384 ? view.readUtf8(-1) : void 0
|
|
1240
|
+
};
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1243
|
+
//#endregion
|
|
1244
|
+
//#region src/parsers/pssh.ts
|
|
1245
|
+
/**
|
|
1246
|
+
* Parse a ProtectionSystemSpecificHeaderBox from an IsoView
|
|
1247
|
+
*
|
|
1248
|
+
* @param view - The IsoView to read data from
|
|
1249
|
+
*
|
|
1250
|
+
* @returns A parsed ProtectionSystemSpecificHeaderBox
|
|
1251
|
+
*
|
|
1252
|
+
*
|
|
1253
|
+
* @beta
|
|
1254
|
+
*/
|
|
1255
|
+
function pssh(view) {
|
|
1256
|
+
const { readUint: readUint$1, readArray } = view;
|
|
1257
|
+
const { version, flags } = view.readFullBox();
|
|
1258
|
+
const systemId = readArray(UINT, 1, 16);
|
|
1259
|
+
let kidCount = 0;
|
|
1260
|
+
let kid = [];
|
|
1261
|
+
if (version > 0) {
|
|
1262
|
+
kidCount = readUint$1(4);
|
|
1263
|
+
kid = readArray(UINT, 1, kidCount);
|
|
1264
|
+
}
|
|
1265
|
+
const dataSize = readUint$1(4);
|
|
1266
|
+
const data = readArray(UINT, 1, dataSize);
|
|
1267
|
+
return {
|
|
1268
|
+
version,
|
|
1269
|
+
flags,
|
|
1270
|
+
systemId,
|
|
1271
|
+
kidCount,
|
|
1272
|
+
kid,
|
|
1273
|
+
dataSize,
|
|
1274
|
+
data
|
|
1275
|
+
};
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
//#endregion
|
|
1279
|
+
//#region src/parsers/schm.ts
|
|
1280
|
+
/**
|
|
1281
|
+
* Parse a SchemeTypeBox from an IsoView
|
|
1282
|
+
*
|
|
1283
|
+
* @param view - The IsoView to read data from
|
|
1284
|
+
*
|
|
1285
|
+
* @returns A parsed SchemeTypeBox
|
|
1286
|
+
*
|
|
1287
|
+
*
|
|
1288
|
+
* @beta
|
|
1289
|
+
*/
|
|
1290
|
+
function schm(view) {
|
|
1291
|
+
const { version, flags } = view.readFullBox();
|
|
1292
|
+
return {
|
|
1293
|
+
version,
|
|
1294
|
+
flags,
|
|
1295
|
+
schemeType: view.readUint(4),
|
|
1296
|
+
schemeVersion: view.readUint(4),
|
|
1297
|
+
schemeUri: flags & 1 ? view.readString(-1) : void 0
|
|
1298
|
+
};
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
//#endregion
|
|
1302
|
+
//#region src/parsers/sdtp.ts
|
|
1303
|
+
/**
|
|
1304
|
+
* Parse a SampleDependencyTypeBox from an IsoView
|
|
1305
|
+
*
|
|
1306
|
+
* @param view - The IsoView to read data from
|
|
1307
|
+
*
|
|
1308
|
+
* @returns A parsed SampleDependencyTypeBox
|
|
1309
|
+
*
|
|
1310
|
+
*
|
|
1311
|
+
* @beta
|
|
1312
|
+
*/
|
|
1313
|
+
function sdtp(view) {
|
|
1314
|
+
return {
|
|
1315
|
+
...view.readFullBox(),
|
|
1316
|
+
sampleDependencyTable: view.readArray(UINT, 1, view.bytesRemaining)
|
|
1317
|
+
};
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1320
|
+
//#endregion
|
|
1321
|
+
//#region src/parsers/sidx.ts
|
|
1322
|
+
/**
|
|
1323
|
+
* Parse a SegmentIndexBox from an IsoView
|
|
1324
|
+
*
|
|
1325
|
+
* @param view - The IsoView to read data from
|
|
1326
|
+
*
|
|
1327
|
+
* @returns A parsed SegmentIndexBox
|
|
1328
|
+
*
|
|
1329
|
+
*
|
|
1330
|
+
* @beta
|
|
1331
|
+
*/
|
|
1332
|
+
function sidx(view) {
|
|
1333
|
+
const { readUint: readUint$1 } = view;
|
|
1334
|
+
const { version, flags } = view.readFullBox();
|
|
1335
|
+
const size = version === 1 ? 8 : 4;
|
|
1336
|
+
const referenceId = readUint$1(4);
|
|
1337
|
+
const timescale = readUint$1(4);
|
|
1338
|
+
const earliestPresentationTime = readUint$1(size);
|
|
1339
|
+
const firstOffset = readUint$1(size);
|
|
1340
|
+
const reserved = readUint$1(2);
|
|
1341
|
+
const referenceCount = readUint$1(2);
|
|
1342
|
+
return {
|
|
1343
|
+
version,
|
|
1344
|
+
flags,
|
|
1345
|
+
referenceId,
|
|
1346
|
+
timescale,
|
|
1347
|
+
earliestPresentationTime,
|
|
1348
|
+
firstOffset,
|
|
1349
|
+
reserved,
|
|
1350
|
+
references: view.readEntries(referenceCount, () => {
|
|
1351
|
+
const entry = {};
|
|
1352
|
+
entry.reference = readUint$1(4);
|
|
1353
|
+
entry.subsegmentDuration = readUint$1(4);
|
|
1354
|
+
entry.sap = readUint$1(4);
|
|
1355
|
+
entry.referenceType = entry.reference >> 31 & 1;
|
|
1356
|
+
entry.referencedSize = entry.reference & 2147483647;
|
|
1357
|
+
entry.startsWithSap = entry.sap >> 31 & 1;
|
|
1358
|
+
entry.sapType = entry.sap >> 28 & 7;
|
|
1359
|
+
entry.sapDeltaTime = entry.sap & 268435455;
|
|
1360
|
+
return entry;
|
|
1361
|
+
})
|
|
1362
|
+
};
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
//#endregion
|
|
1366
|
+
//#region src/parsers/skip.ts
|
|
1367
|
+
/**
|
|
1368
|
+
* Parse a FreeSpaceBox from an IsoView
|
|
1369
|
+
*
|
|
1370
|
+
* @param view - The IsoView to read data from
|
|
1371
|
+
*
|
|
1372
|
+
* @returns A parsed FreeSpaceBox
|
|
1373
|
+
*
|
|
1374
|
+
*
|
|
1375
|
+
* @beta
|
|
1376
|
+
*/
|
|
1377
|
+
function skip(view) {
|
|
1378
|
+
return free(view);
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
//#endregion
|
|
1382
|
+
//#region src/parsers/smhd.ts
|
|
1383
|
+
/**
|
|
1384
|
+
* Parse a SoundMediaHeaderBox from an IsoView
|
|
1385
|
+
*
|
|
1386
|
+
* @param view - The IsoView to read data from
|
|
1387
|
+
*
|
|
1388
|
+
* @returns A parsed SoundMediaHeaderBox
|
|
1389
|
+
*
|
|
1390
|
+
*
|
|
1391
|
+
* @beta
|
|
1392
|
+
*/
|
|
1393
|
+
function smhd(view) {
|
|
1394
|
+
return {
|
|
1395
|
+
...view.readFullBox(),
|
|
1396
|
+
balance: view.readUint(2),
|
|
1397
|
+
reserved: view.readUint(2)
|
|
1398
|
+
};
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1401
|
+
//#endregion
|
|
1402
|
+
//#region src/parsers/ssix.ts
|
|
1403
|
+
/**
|
|
1404
|
+
* Parse a SubsegmentIndexBox from an IsoView
|
|
1405
|
+
*
|
|
1406
|
+
* @param view - The IsoView to read data from
|
|
1407
|
+
*
|
|
1408
|
+
* @returns A parsed SubsegmentIndexBox
|
|
1409
|
+
*
|
|
1410
|
+
*
|
|
1411
|
+
* @beta
|
|
1412
|
+
*/
|
|
1413
|
+
function ssix(view) {
|
|
1414
|
+
const { version, flags } = view.readFullBox();
|
|
1415
|
+
const subsegmentCount = view.readUint(4);
|
|
1416
|
+
return {
|
|
1417
|
+
version,
|
|
1418
|
+
flags,
|
|
1419
|
+
subsegmentCount,
|
|
1420
|
+
subsegments: view.readEntries(subsegmentCount, () => {
|
|
1421
|
+
const rangesCount = view.readUint(4);
|
|
1422
|
+
return {
|
|
1423
|
+
rangesCount,
|
|
1424
|
+
ranges: view.readEntries(rangesCount, () => ({
|
|
1425
|
+
level: view.readUint(1),
|
|
1426
|
+
rangeSize: view.readUint(3)
|
|
1427
|
+
}))
|
|
1428
|
+
};
|
|
1429
|
+
})
|
|
1430
|
+
};
|
|
1431
|
+
}
|
|
1432
|
+
|
|
1433
|
+
//#endregion
|
|
1434
|
+
//#region src/parsers/sthd.ts
|
|
1435
|
+
/**
|
|
1436
|
+
* Parse a SubtitleMediaHeaderBox from an IsoView
|
|
1437
|
+
*
|
|
1438
|
+
* @param view - The IsoView to read data from
|
|
1439
|
+
*
|
|
1440
|
+
* @returns A parsed SubtitleMediaHeaderBox
|
|
1441
|
+
*
|
|
1442
|
+
*
|
|
1443
|
+
* @beta
|
|
1444
|
+
*/
|
|
1445
|
+
function sthd(view) {
|
|
1446
|
+
return view.readFullBox();
|
|
1447
|
+
}
|
|
1448
|
+
|
|
1449
|
+
//#endregion
|
|
1450
|
+
//#region src/parsers/stsd.ts
|
|
1451
|
+
/**
|
|
1452
|
+
* Parse a SampleDescriptionBox from an IsoView
|
|
1453
|
+
*
|
|
1454
|
+
* @param view - The IsoView to read data from
|
|
1455
|
+
*
|
|
1456
|
+
* @returns A parsed SampleDescriptionBox
|
|
1457
|
+
*
|
|
1458
|
+
*
|
|
1459
|
+
* @beta
|
|
1460
|
+
*/
|
|
1461
|
+
function stsd(view) {
|
|
1462
|
+
const { version, flags } = view.readFullBox();
|
|
1463
|
+
const entryCount = view.readUint(4);
|
|
1464
|
+
return {
|
|
1465
|
+
version,
|
|
1466
|
+
flags,
|
|
1467
|
+
entryCount,
|
|
1468
|
+
entries: view.readBoxes(entryCount)
|
|
1469
|
+
};
|
|
1470
|
+
}
|
|
1471
|
+
|
|
1472
|
+
//#endregion
|
|
1473
|
+
//#region src/parsers/stss.ts
|
|
1474
|
+
/**
|
|
1475
|
+
* Parse a SyncSampleBox from an IsoView
|
|
1476
|
+
*
|
|
1477
|
+
* @param view - The IsoView to read data from
|
|
1478
|
+
*
|
|
1479
|
+
* @returns A parsed SyncSampleBox
|
|
1480
|
+
*
|
|
1481
|
+
*
|
|
1482
|
+
* @beta
|
|
1483
|
+
*/
|
|
1484
|
+
function stss(view) {
|
|
1485
|
+
const { version, flags } = view.readFullBox();
|
|
1486
|
+
const entryCount = view.readUint(4);
|
|
1487
|
+
return {
|
|
1488
|
+
version,
|
|
1489
|
+
flags,
|
|
1490
|
+
entryCount,
|
|
1491
|
+
entries: view.readEntries(entryCount, () => ({ sampleNumber: view.readUint(4) }))
|
|
1492
|
+
};
|
|
1493
|
+
}
|
|
1494
|
+
|
|
1495
|
+
//#endregion
|
|
1496
|
+
//#region src/parsers/sttg.ts
|
|
1497
|
+
/**
|
|
1498
|
+
* Parse a WebVTTSettingsBox from an IsoView
|
|
1499
|
+
*
|
|
1500
|
+
* @param view - The IsoView to read data from
|
|
1501
|
+
*
|
|
1502
|
+
* @returns A parsed WebVTTSettingsBox
|
|
1503
|
+
*
|
|
1504
|
+
*
|
|
1505
|
+
* @beta
|
|
1506
|
+
*/
|
|
1507
|
+
function sttg(view) {
|
|
1508
|
+
return { settings: view.readUtf8(-1) };
|
|
1509
|
+
}
|
|
1510
|
+
|
|
1511
|
+
//#endregion
|
|
1512
|
+
//#region src/parsers/stts.ts
|
|
1513
|
+
/**
|
|
1514
|
+
* Parse a DecodingTimeToSampleBox from an IsoView
|
|
1515
|
+
*
|
|
1516
|
+
* @param view - The IsoView to read data from
|
|
1517
|
+
*
|
|
1518
|
+
* @returns A parsed DecodingTimeToSampleBox
|
|
1519
|
+
*
|
|
1520
|
+
*
|
|
1521
|
+
* @beta
|
|
1522
|
+
*/
|
|
1523
|
+
function stts(view) {
|
|
1524
|
+
const { version, flags } = view.readFullBox();
|
|
1525
|
+
const entryCount = view.readUint(4);
|
|
1526
|
+
return {
|
|
1527
|
+
version,
|
|
1528
|
+
flags,
|
|
1529
|
+
entryCount,
|
|
1530
|
+
entries: view.readEntries(entryCount, () => ({
|
|
1531
|
+
sampleCount: view.readUint(4),
|
|
1532
|
+
sampleDelta: view.readUint(4)
|
|
1533
|
+
}))
|
|
1534
|
+
};
|
|
1535
|
+
}
|
|
1536
|
+
|
|
1537
|
+
//#endregion
|
|
1538
|
+
//#region src/parsers/styp.ts
|
|
1539
|
+
/**
|
|
1540
|
+
* Parse a SegmentTypeBox from an IsoView
|
|
1541
|
+
*
|
|
1542
|
+
* @param view - The IsoView to read data from
|
|
1543
|
+
*
|
|
1544
|
+
* @returns A parsed SegmentTypeBox
|
|
1545
|
+
*
|
|
1546
|
+
*
|
|
1547
|
+
* @beta
|
|
1548
|
+
*/
|
|
1549
|
+
function styp(view) {
|
|
1550
|
+
return ftyp(view);
|
|
1551
|
+
}
|
|
1552
|
+
|
|
1553
|
+
//#endregion
|
|
1554
|
+
//#region src/parsers/subs.ts
|
|
1555
|
+
/**
|
|
1556
|
+
* Parse a SubSampleInformationBox from an IsoView
|
|
1557
|
+
*
|
|
1558
|
+
* @param view - The IsoView to read data from
|
|
1559
|
+
*
|
|
1560
|
+
* @returns A parsed SubSampleInformationBox
|
|
1561
|
+
*
|
|
1562
|
+
*
|
|
1563
|
+
* @beta
|
|
1564
|
+
*/
|
|
1565
|
+
function subs(view) {
|
|
1566
|
+
const { version, flags } = view.readFullBox();
|
|
1567
|
+
const entryCount = view.readUint(4);
|
|
1568
|
+
return {
|
|
1569
|
+
version,
|
|
1570
|
+
flags,
|
|
1571
|
+
entryCount,
|
|
1572
|
+
entries: view.readEntries(entryCount, () => {
|
|
1573
|
+
const sampleDelta = view.readUint(4);
|
|
1574
|
+
const subsampleCount = view.readUint(2);
|
|
1575
|
+
return {
|
|
1576
|
+
sampleDelta,
|
|
1577
|
+
subsampleCount,
|
|
1578
|
+
subsamples: view.readEntries(subsampleCount, () => ({
|
|
1579
|
+
subsampleSize: view.readUint(version === 1 ? 4 : 2),
|
|
1580
|
+
subsamplePriority: view.readUint(1),
|
|
1581
|
+
discardable: view.readUint(1),
|
|
1582
|
+
codecSpecificParameters: view.readUint(4)
|
|
1583
|
+
}))
|
|
1584
|
+
};
|
|
1585
|
+
})
|
|
1586
|
+
};
|
|
1587
|
+
}
|
|
1588
|
+
|
|
1589
|
+
//#endregion
|
|
1590
|
+
//#region src/parsers/tenc.ts
|
|
1591
|
+
/**
|
|
1592
|
+
* Parse a TrackEncryptionBox from an IsoView
|
|
1593
|
+
*
|
|
1594
|
+
* @param view - The IsoView to read data from
|
|
1595
|
+
*
|
|
1596
|
+
* @returns A parsed TrackEncryptionBox
|
|
1597
|
+
*
|
|
1598
|
+
*
|
|
1599
|
+
* @beta
|
|
1600
|
+
*/
|
|
1601
|
+
function tenc(view) {
|
|
1602
|
+
return {
|
|
1603
|
+
...view.readFullBox(),
|
|
1604
|
+
defaultIsEncrypted: view.readUint(3),
|
|
1605
|
+
defaultIvSize: view.readUint(1),
|
|
1606
|
+
defaultKid: view.readArray(UINT, 1, 16)
|
|
1607
|
+
};
|
|
1608
|
+
}
|
|
1609
|
+
|
|
1610
|
+
//#endregion
|
|
1611
|
+
//#region src/parsers/tfdt.ts
|
|
1612
|
+
/**
|
|
1613
|
+
* Parse a TrackFragmentDecodeTimeBox from an IsoView
|
|
1614
|
+
*
|
|
1615
|
+
* @param view - The IsoView to read data from
|
|
1616
|
+
*
|
|
1617
|
+
* @returns A parsed TrackFragmentDecodeTimeBox
|
|
1618
|
+
*
|
|
1619
|
+
*
|
|
1620
|
+
* @beta
|
|
1621
|
+
*/
|
|
1622
|
+
function tfdt(view) {
|
|
1623
|
+
const { version, flags } = view.readFullBox();
|
|
1624
|
+
return {
|
|
1625
|
+
version,
|
|
1626
|
+
flags,
|
|
1627
|
+
baseMediaDecodeTime: view.readUint(version == 1 ? 8 : 4)
|
|
1628
|
+
};
|
|
1629
|
+
}
|
|
1630
|
+
|
|
1631
|
+
//#endregion
|
|
1632
|
+
//#region src/parsers/tfhd.ts
|
|
1633
|
+
/**
|
|
1634
|
+
* Parse a TrackFragmentHeaderBox from an IsoView
|
|
1635
|
+
*
|
|
1636
|
+
* @param view - The IsoView to read data from
|
|
1637
|
+
*
|
|
1638
|
+
* @returns A parsed TrackFragmentHeaderBox
|
|
1639
|
+
*
|
|
1640
|
+
*
|
|
1641
|
+
* @beta
|
|
1642
|
+
*/
|
|
1643
|
+
function tfhd(view) {
|
|
1644
|
+
const { version, flags } = view.readFullBox();
|
|
1645
|
+
return {
|
|
1646
|
+
version,
|
|
1647
|
+
flags,
|
|
1648
|
+
trackId: view.readUint(4),
|
|
1649
|
+
baseDataOffset: flags & 1 ? view.readUint(8) : void 0,
|
|
1650
|
+
sampleDescriptionIndex: flags & 2 ? view.readUint(4) : void 0,
|
|
1651
|
+
defaultSampleDuration: flags & 8 ? view.readUint(4) : void 0,
|
|
1652
|
+
defaultSampleSize: flags & 16 ? view.readUint(4) : void 0,
|
|
1653
|
+
defaultSampleFlags: flags & 32 ? view.readUint(4) : void 0
|
|
1654
|
+
};
|
|
1655
|
+
}
|
|
1656
|
+
|
|
1657
|
+
//#endregion
|
|
1658
|
+
//#region src/parsers/tfra.ts
|
|
1659
|
+
/**
|
|
1660
|
+
* Parse a TrackFragmentRandomAccessBox from an IsoView
|
|
1661
|
+
*
|
|
1662
|
+
* @param view - The IsoView to read data from
|
|
1663
|
+
*
|
|
1664
|
+
* @returns A parsed TrackFragmentRandomAccessBox
|
|
1665
|
+
*
|
|
1666
|
+
*
|
|
1667
|
+
* @beta
|
|
1668
|
+
*/
|
|
1669
|
+
function tfra(view) {
|
|
1670
|
+
const { version, flags } = view.readFullBox();
|
|
1671
|
+
const trackId = view.readUint(4);
|
|
1672
|
+
const reserved = view.readUint(4);
|
|
1673
|
+
const lengthSizeOfTrafNum = (reserved & 48) >> 4;
|
|
1674
|
+
const lengthSizeOfTrunNum = (reserved & 12) >> 2;
|
|
1675
|
+
const lengthSizeOfSampleNum = reserved & 3;
|
|
1676
|
+
const numberOfEntry = view.readUint(4);
|
|
1677
|
+
return {
|
|
1678
|
+
version,
|
|
1679
|
+
flags,
|
|
1680
|
+
trackId,
|
|
1681
|
+
reserved,
|
|
1682
|
+
lengthSizeOfTrafNum,
|
|
1683
|
+
lengthSizeOfTrunNum,
|
|
1684
|
+
lengthSizeOfSampleNum,
|
|
1685
|
+
numberOfEntry,
|
|
1686
|
+
entries: view.readEntries(numberOfEntry, () => ({
|
|
1687
|
+
time: view.readUint(version === 1 ? 8 : 4),
|
|
1688
|
+
moofOffset: view.readUint(version === 1 ? 8 : 4),
|
|
1689
|
+
trafNumber: view.readUint(lengthSizeOfTrafNum + 1),
|
|
1690
|
+
trunNumber: view.readUint(lengthSizeOfTrunNum + 1),
|
|
1691
|
+
sampleNumber: view.readUint(lengthSizeOfSampleNum + 1)
|
|
1692
|
+
}))
|
|
1693
|
+
};
|
|
1694
|
+
}
|
|
1695
|
+
|
|
1696
|
+
//#endregion
|
|
1697
|
+
//#region src/parsers/tkhd.ts
|
|
1698
|
+
/**
|
|
1699
|
+
* Parse a TrackHeaderBox from an IsoView
|
|
1700
|
+
*
|
|
1701
|
+
* @param view - The IsoView to read data from
|
|
1702
|
+
*
|
|
1703
|
+
* @returns A parsed TrackHeaderBox
|
|
1704
|
+
*
|
|
1705
|
+
*
|
|
1706
|
+
* @beta
|
|
1707
|
+
*/
|
|
1708
|
+
function tkhd(view) {
|
|
1709
|
+
const { version, flags } = view.readFullBox();
|
|
1710
|
+
const size = version === 1 ? 8 : 4;
|
|
1711
|
+
return {
|
|
1712
|
+
version,
|
|
1713
|
+
flags,
|
|
1714
|
+
creationTime: view.readUint(size),
|
|
1715
|
+
modificationTime: view.readUint(size),
|
|
1716
|
+
trackId: view.readUint(4),
|
|
1717
|
+
reserved1: view.readUint(4),
|
|
1718
|
+
duration: view.readUint(size),
|
|
1719
|
+
reserved2: view.readArray(UINT, 4, 2),
|
|
1720
|
+
layer: view.readUint(2),
|
|
1721
|
+
alternateGroup: view.readUint(2),
|
|
1722
|
+
volume: view.readTemplate(2),
|
|
1723
|
+
reserved3: view.readUint(2),
|
|
1724
|
+
matrix: view.readArray(TEMPLATE, 4, 9),
|
|
1725
|
+
width: view.readTemplate(4),
|
|
1726
|
+
height: view.readTemplate(4)
|
|
1727
|
+
};
|
|
1728
|
+
}
|
|
1729
|
+
|
|
1730
|
+
//#endregion
|
|
1731
|
+
//#region src/parsers/trex.ts
|
|
1732
|
+
/**
|
|
1733
|
+
* Parse a TrackExtendsBox from an IsoView
|
|
1734
|
+
*
|
|
1735
|
+
* @param view - The IsoView to read data from
|
|
1736
|
+
*
|
|
1737
|
+
* @returns A parsed TrackExtendsBox
|
|
1738
|
+
*
|
|
1739
|
+
*
|
|
1740
|
+
* @beta
|
|
1741
|
+
*/
|
|
1742
|
+
function trex(view) {
|
|
1743
|
+
return {
|
|
1744
|
+
...view.readFullBox(),
|
|
1745
|
+
trackId: view.readUint(4),
|
|
1746
|
+
defaultSampleDescriptionIndex: view.readUint(4),
|
|
1747
|
+
defaultSampleDuration: view.readUint(4),
|
|
1748
|
+
defaultSampleSize: view.readUint(4),
|
|
1749
|
+
defaultSampleFlags: view.readUint(4)
|
|
1750
|
+
};
|
|
1751
|
+
}
|
|
1752
|
+
|
|
1753
|
+
//#endregion
|
|
1754
|
+
//#region src/parsers/trun.ts
|
|
1755
|
+
/**
|
|
1756
|
+
* Parse a TrackRunBox from an IsoView
|
|
1757
|
+
*
|
|
1758
|
+
* @param view - The IsoView to read data from
|
|
1759
|
+
*
|
|
1760
|
+
* @returns A parsed TrackRunBox
|
|
1761
|
+
*
|
|
1762
|
+
*
|
|
1763
|
+
* @beta
|
|
1764
|
+
*/
|
|
1765
|
+
function trun(view) {
|
|
1766
|
+
const { version, flags } = view.readFullBox();
|
|
1767
|
+
const sampleCount = view.readUint(4);
|
|
1768
|
+
let dataOffset;
|
|
1769
|
+
let firstSampleFlags;
|
|
1770
|
+
if (flags & 1) dataOffset = view.readInt(4);
|
|
1771
|
+
if (flags & 4) firstSampleFlags = view.readUint(4);
|
|
1772
|
+
const samples = view.readEntries(sampleCount, () => {
|
|
1773
|
+
const sample = {};
|
|
1774
|
+
if (flags & 256) sample.sampleDuration = view.readUint(4);
|
|
1775
|
+
if (flags & 512) sample.sampleSize = view.readUint(4);
|
|
1776
|
+
if (flags & 1024) sample.sampleFlags = view.readUint(4);
|
|
1777
|
+
if (flags & 2048) sample.sampleCompositionTimeOffset = version === 1 ? view.readInt(4) : view.readUint(4);
|
|
1778
|
+
return sample;
|
|
1779
|
+
});
|
|
1780
|
+
return {
|
|
1781
|
+
version,
|
|
1782
|
+
flags,
|
|
1783
|
+
sampleCount,
|
|
1784
|
+
dataOffset,
|
|
1785
|
+
firstSampleFlags,
|
|
1786
|
+
samples
|
|
1787
|
+
};
|
|
1788
|
+
}
|
|
1789
|
+
|
|
1790
|
+
//#endregion
|
|
1791
|
+
//#region src/parsers/url.ts
|
|
1792
|
+
/**
|
|
1793
|
+
* Parse a UrlBox from an IsoView
|
|
1794
|
+
*
|
|
1795
|
+
* @param view - The IsoView to read data from
|
|
1796
|
+
*
|
|
1797
|
+
* @returns A parsed UrlBox
|
|
1798
|
+
*
|
|
1799
|
+
*
|
|
1800
|
+
* @beta
|
|
1801
|
+
*/
|
|
1802
|
+
function url(view) {
|
|
1803
|
+
return {
|
|
1804
|
+
...view.readFullBox(),
|
|
1805
|
+
location: view.readString(-1)
|
|
1806
|
+
};
|
|
1807
|
+
}
|
|
1808
|
+
|
|
1809
|
+
//#endregion
|
|
1810
|
+
//#region src/parsers/urn.ts
|
|
1811
|
+
/**
|
|
1812
|
+
* Parse a UrnBox from an IsoView
|
|
1813
|
+
*
|
|
1814
|
+
* @param view - The IsoView to read data from
|
|
1815
|
+
*
|
|
1816
|
+
* @returns A parsed UrnBox
|
|
1817
|
+
*
|
|
1818
|
+
*
|
|
1819
|
+
* @beta
|
|
1820
|
+
*/
|
|
1821
|
+
function urn(view) {
|
|
1822
|
+
return {
|
|
1823
|
+
...view.readFullBox(),
|
|
1824
|
+
name: view.readString(-1),
|
|
1825
|
+
location: view.readString(-1)
|
|
1826
|
+
};
|
|
1827
|
+
}
|
|
1828
|
+
|
|
1829
|
+
//#endregion
|
|
1830
|
+
//#region src/parsers/vlab.ts
|
|
1831
|
+
/**
|
|
1832
|
+
* Parse a WebVTTSourceLabelBox from an IsoView
|
|
1833
|
+
*
|
|
1834
|
+
* @param view - The IsoView to read data from
|
|
1835
|
+
*
|
|
1836
|
+
* @returns A parsed WebVTTSourceLabelBox
|
|
1837
|
+
*
|
|
1838
|
+
*
|
|
1839
|
+
* @beta
|
|
1840
|
+
*/
|
|
1841
|
+
function vlab(view) {
|
|
1842
|
+
return { sourceLabel: view.readUtf8(-1) };
|
|
1843
|
+
}
|
|
1844
|
+
|
|
1845
|
+
//#endregion
|
|
1846
|
+
//#region src/parsers/vmhd.ts
|
|
1847
|
+
/**
|
|
1848
|
+
* Parse a VideoMediaHeaderBox from an IsoView
|
|
1849
|
+
*
|
|
1850
|
+
* @param view - The IsoView to read data from
|
|
1851
|
+
*
|
|
1852
|
+
* @returns A parsed VideoMediaHeaderBox
|
|
1853
|
+
*
|
|
1854
|
+
*
|
|
1855
|
+
* @beta
|
|
1856
|
+
*/
|
|
1857
|
+
function vmhd(view) {
|
|
1858
|
+
return {
|
|
1859
|
+
...view.readFullBox(),
|
|
1860
|
+
graphicsmode: view.readUint(2),
|
|
1861
|
+
opcolor: view.readArray(UINT, 2, 3)
|
|
1862
|
+
};
|
|
1863
|
+
}
|
|
1864
|
+
|
|
1865
|
+
//#endregion
|
|
1866
|
+
//#region src/parsers/vttC.ts
|
|
1867
|
+
/**
|
|
1868
|
+
* Parse a WebVTTConfigurationBox from an IsoView
|
|
1869
|
+
*
|
|
1870
|
+
* @param view - The IsoView to read data from
|
|
1871
|
+
*
|
|
1872
|
+
* @returns A parsed WebVttConfigurationBox
|
|
1873
|
+
*
|
|
1874
|
+
*
|
|
1875
|
+
* @beta
|
|
1876
|
+
*/
|
|
1877
|
+
function vttC(view) {
|
|
1878
|
+
return { config: view.readUtf8() };
|
|
1879
|
+
}
|
|
1880
|
+
|
|
1881
|
+
//#endregion
|
|
1882
|
+
//#region src/parsers/vtte.ts
|
|
1883
|
+
/**
|
|
1884
|
+
* Parse a WebVTT Empty Sample Box from an IsoView
|
|
1885
|
+
*
|
|
1886
|
+
* @returns A parsed WebVTT Empty Sample Box
|
|
1887
|
+
*
|
|
1888
|
+
*
|
|
1889
|
+
* @beta
|
|
1890
|
+
*/
|
|
1891
|
+
function vtte() {
|
|
1892
|
+
return {};
|
|
1893
|
+
}
|
|
1894
|
+
|
|
1895
|
+
//#endregion
|
|
1896
|
+
export { ardi, avc1, avc2, avc3, avc4, createIsoView, ctts, dref, elng, elst, emsg, enca, encv, filterBoxes, filterBoxesByType, findBox, findBoxByType, free, frma, ftyp, hdlr, hev1, hvc1, iden, imda, kind, labl, mdat, mdhd, mehd, meta, mfhd, mfro, mp4a, mvhd, parseBoxes, payl, prft, prsl, pssh, schm, sdtp, sidx, skip, smhd, ssix, sthd, stsd, stss, sttg, stts, styp, subs, tenc, tfdt, tfhd, tfra, tkhd, trex, trun, url, urn, vlab, vmhd, vttC, vtte };
|
|
68
1897
|
//# sourceMappingURL=index.js.map
|