UNPKG

@remotion/media-parser

Version:

A pure JavaScript library for parsing video files

40 lines (39 loc) 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeTracksSectionState = void 0; const log_1 = require("../log"); const makeTracksSectionState = (canSkipTracksState, src) => { const tracks = []; let doneWithTracks = false; return { hasAllTracks: () => doneWithTracks, getIsDone: () => doneWithTracks, setIsDone: (logLevel) => { if (doneWithTracks) { throw new Error('Error in Media Parser: Tracks have already been parsed'); } log_1.Log.verbose(logLevel, 'All tracks have been parsed'); doneWithTracks = true; }, addTrack: (track) => { tracks.push(track); }, getTracks: () => { return tracks; }, ensureHasTracksAtEnd: (fields) => { if (canSkipTracksState.canSkipTracks()) { return; } if (!fields.tracks) { return; } if (!doneWithTracks) { throw new Error('Error in Media Parser: End of parsing of ' + src + ' has been reached, but no tracks have been found '); } }, }; }; exports.makeTracksSectionState = makeTracksSectionState;