Files
v10/dist/dev/media/text/resolve-vtt-metadata.js
T

23 lines
1.1 KiB
JavaScript

import { parseVttTimestampMap } from "./parse-vtt-timestamp-map.js";
//#region src/media/text/resolve-vtt-metadata.ts
/**
* Header-level text-segment metadata — the `X-TIMESTAMP-MAP` correlation scraped from
* a VTT segment's raw bytes. DOM-free (a plain fetch + regex parse): the native
* `<track>` parser in `media/dom/text` (`resolveVttSegment`) discards this header, so a
* caller that needs it (e.g. non-zero-PTS relocation) fetches the bytes itself.
*/
/**
* Fetch a VTT segment and scrape only its header metadata (no cue parsing).
*
* The native `<track>` parser (`media/dom/text`'s `resolveVttSegment`) discards
* `X-TIMESTAMP-MAP`, so reading it requires the raw bytes. This is a separate,
* caller-controlled fetch — the caller decides *when* metadata is needed (e.g.
* once per source) rather than paying for it on every segment.
*/
async function resolveVttSegmentMetadata(url) {
return { timestampMap: parseVttTimestampMap(await fetch(url).then((response) => response.text())) };
}
//#endregion
export { resolveVttSegmentMetadata };
//# sourceMappingURL=resolve-vtt-metadata.js.map