UNPKG

@remotion/media-parser

Version:

A pure JavaScript library for parsing video files

42 lines (41 loc) 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseList = void 0; const parseList = ({ state, }) => { const { iterator } = state; const ckSize = iterator.getUint32Le(); // chunkSize const box = iterator.startBox(ckSize); const startOffset = iterator.counter.getOffset(); const type = iterator.getByteString(4, false); if (type !== 'INFO') { throw new Error(`Only supporting LIST INFO, but got ${type}`); } const metadata = []; const remainingBytes = () => ckSize - (iterator.counter.getOffset() - startOffset); while (remainingBytes() > 0) { // Padding // https://discord.com/channels/809501355504959528/1308803317480292482/1343979547246333983 // Indie_Hacker_Podcast (2).wav const byte = iterator.getUint8(); if (byte === 0) { continue; } iterator.counter.decrement(1); const key = iterator.getByteString(4, false); const size = iterator.getUint32Le(); const value = iterator.getByteString(size, true); metadata.push({ key, trackId: null, value, }); } const wavList = { type: 'wav-list', metadata, }; state.structure.getWavStructure().boxes.push(wavList); box.expectNoMoreBytes(); return Promise.resolve(null); }; exports.parseList = parseList;