mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
23 lines
1.1 KiB
JavaScript
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
|