UNPKG

@remotion/media-parser

Version:

A pure JavaScript library for parsing video files

55 lines (54 loc) 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.webFileReader = exports.webFileCreateAdjacentFileSource = exports.webFileReadWholeAsText = exports.webFileReadContent = void 0; const webFileReadContent = ({ src, range, controller }) => { if (typeof src === 'string' || src instanceof URL) { throw new Error('`inputTypeFileReader` only supports `File` objects'); } const part = range === null ? src : typeof range === 'number' ? src.slice(range) : src.slice(range[0], range[1] + 1); const stream = part.stream(); const streamReader = stream.getReader(); if (controller) { controller._internals.signal.addEventListener('abort', () => { streamReader.cancel(); }, { once: true }); } return Promise.resolve({ reader: { reader: streamReader, async abort() { try { await streamReader.cancel(); } catch (_a) { } return Promise.resolve(); }, }, contentLength: src.size, name: src instanceof File ? src.name : src.toString(), supportsContentRange: true, contentType: src.type, needsContentRange: true, }); }; exports.webFileReadContent = webFileReadContent; const webFileReadWholeAsText = () => { throw new Error('`webFileReader` cannot read auxiliary files.'); }; exports.webFileReadWholeAsText = webFileReadWholeAsText; const webFileCreateAdjacentFileSource = () => { throw new Error('`webFileReader` cannot create adjacent file sources.'); }; exports.webFileCreateAdjacentFileSource = webFileCreateAdjacentFileSource; exports.webFileReader = { read: exports.webFileReadContent, readWholeAsText: exports.webFileReadWholeAsText, createAdjacentFileSource: exports.webFileCreateAdjacentFileSource, preload: () => { // doing nothing, it's just for when fetching over the network }, };