@remotion/media-parser
Version:
A pure JavaScript library for parsing video files
44 lines (43 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseWav = void 0;
const log_1 = require("../../log");
const parse_data_1 = require("./parse-data");
const parse_fmt_1 = require("./parse-fmt");
const parse_header_1 = require("./parse-header");
const parse_id3_1 = require("./parse-id3");
const parse_junk_1 = require("./parse-junk");
const parse_list_1 = require("./parse-list");
const parse_media_section_1 = require("./parse-media-section");
const parseWav = (state) => {
const { iterator } = state;
const insideMediaSection = state.mediaSection.isCurrentByteInMediaSection(iterator);
if (insideMediaSection === 'in-section') {
return (0, parse_media_section_1.parseMediaSection)({ state });
}
const type = iterator.getByteString(4, false);
log_1.Log.trace(state.logLevel, `Processing box type ${type}`);
if (type === 'RIFF') {
return (0, parse_header_1.parseHeader)({ state });
}
if (type === 'fmt') {
return (0, parse_fmt_1.parseFmt)({ state });
}
if (type === 'data') {
return (0, parse_data_1.parseData)({ state });
}
if (type === 'LIST') {
return (0, parse_list_1.parseList)({ state });
}
if (type === 'id3' || type === 'ID3') {
return (0, parse_id3_1.parseId3)({ state });
}
if (type === 'JUNK' || type === 'FLLR') {
return (0, parse_junk_1.parseJunk)({ state });
}
if (type === '\u0000') {
return Promise.resolve(null);
}
throw new Error(`Unknown WAV box type ${type}`);
};
exports.parseWav = parseWav;