mattebox 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +106 -0
- package/dist/cdn/mattebox.dash-drm.min.js +2 -0
- package/dist/cdn/mattebox.dash.min.js +2 -0
- package/dist/cdn/mattebox.dual-drm.min.js +2 -0
- package/dist/cdn/mattebox.dual-ts-drm.min.js +3 -0
- package/dist/cdn/mattebox.dual-ts.min.js +3 -0
- package/dist/cdn/mattebox.dual.min.js +2 -0
- package/dist/cdn/mattebox.hls-drm.min.js +2 -0
- package/dist/cdn/mattebox.hls-ts-drm.min.js +3 -0
- package/dist/cdn/mattebox.hls-ts.min.js +3 -0
- package/dist/cdn/mattebox.hls.min.js +2 -0
- package/dist/cdn/mattebox.kernel.min.js +1 -0
- package/dist/cdn/mattebox.min.js +6 -0
- package/dist/cdn/transmux.worker.js +1 -0
- package/dist/containers/adts.d.ts +33 -0
- package/dist/containers/adts.d.ts.map +1 -0
- package/dist/containers/adts.js +66 -0
- package/dist/containers/adts.js.map +1 -0
- package/dist/containers/captions.d.ts +27 -0
- package/dist/containers/captions.d.ts.map +1 -0
- package/dist/containers/captions.js +36 -0
- package/dist/containers/captions.js.map +1 -0
- package/dist/containers/codec-probe/index.d.ts +35 -0
- package/dist/containers/codec-probe/index.d.ts.map +1 -0
- package/dist/containers/codec-probe/index.js +222 -0
- package/dist/containers/codec-probe/index.js.map +1 -0
- package/dist/containers/fmp4/writer.d.ts +62 -0
- package/dist/containers/fmp4/writer.d.ts.map +1 -0
- package/dist/containers/fmp4/writer.js +201 -0
- package/dist/containers/fmp4/writer.js.map +1 -0
- package/dist/containers/id3.d.ts +25 -0
- package/dist/containers/id3.d.ts.map +1 -0
- package/dist/containers/id3.js +75 -0
- package/dist/containers/id3.js.map +1 -0
- package/dist/containers/mp4-box/index.d.ts +79 -0
- package/dist/containers/mp4-box/index.d.ts.map +1 -0
- package/dist/containers/mp4-box/index.js +231 -0
- package/dist/containers/mp4-box/index.js.map +1 -0
- package/dist/containers/packed-audio/index.d.ts +7 -0
- package/dist/containers/packed-audio/index.d.ts.map +1 -0
- package/dist/containers/packed-audio/index.js +63 -0
- package/dist/containers/packed-audio/index.js.map +1 -0
- package/dist/containers/sei.d.ts +26 -0
- package/dist/containers/sei.d.ts.map +1 -0
- package/dist/containers/sei.js +100 -0
- package/dist/containers/sei.js.map +1 -0
- package/dist/containers/ts-transmux/demux.d.ts +49 -0
- package/dist/containers/ts-transmux/demux.d.ts.map +1 -0
- package/dist/containers/ts-transmux/demux.js +222 -0
- package/dist/containers/ts-transmux/demux.js.map +1 -0
- package/dist/containers/ts-transmux/h264.d.ts +48 -0
- package/dist/containers/ts-transmux/h264.d.ts.map +1 -0
- package/dist/containers/ts-transmux/h264.js +211 -0
- package/dist/containers/ts-transmux/h264.js.map +1 -0
- package/dist/containers/ts-transmux/index.d.ts +17 -0
- package/dist/containers/ts-transmux/index.d.ts.map +1 -0
- package/dist/containers/ts-transmux/index.js +34 -0
- package/dist/containers/ts-transmux/index.js.map +1 -0
- package/dist/containers/ts-transmux/runner.d.ts +23 -0
- package/dist/containers/ts-transmux/runner.d.ts.map +1 -0
- package/dist/containers/ts-transmux/runner.js +99 -0
- package/dist/containers/ts-transmux/runner.js.map +1 -0
- package/dist/containers/ts-transmux/transmux.d.ts +24 -0
- package/dist/containers/ts-transmux/transmux.d.ts.map +1 -0
- package/dist/containers/ts-transmux/transmux.js +212 -0
- package/dist/containers/ts-transmux/transmux.js.map +1 -0
- package/dist/containers/ts-transmux/transmux.worker.d.ts +2 -0
- package/dist/containers/ts-transmux/transmux.worker.d.ts.map +1 -0
- package/dist/containers/ts-transmux/transmux.worker.js +19 -0
- package/dist/containers/ts-transmux/transmux.worker.js.map +1 -0
- package/dist/es2015/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/asyncToGenerator.js +27 -0
- package/dist/es2015/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/defineProperty.js +12 -0
- package/dist/es2015/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/objectSpread2.js +25 -0
- package/dist/es2015/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/objectWithoutProperties.js +13 -0
- package/dist/es2015/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/objectWithoutPropertiesLoose.js +12 -0
- package/dist/es2015/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/toPrimitive.js +14 -0
- package/dist/es2015/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/toPropertyKey.js +9 -0
- package/dist/es2015/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/typeof.js +11 -0
- package/dist/es2015/containers/adts.js +77 -0
- package/dist/es2015/containers/captions.js +36 -0
- package/dist/es2015/containers/codec-probe/index.js +220 -0
- package/dist/es2015/containers/fmp4/writer.js +165 -0
- package/dist/es2015/containers/id3.js +72 -0
- package/dist/es2015/containers/mp4-box/index.js +209 -0
- package/dist/es2015/containers/packed-audio/index.js +67 -0
- package/dist/es2015/containers/sei.js +79 -0
- package/dist/es2015/containers/ts-transmux/demux.js +211 -0
- package/dist/es2015/containers/ts-transmux/h264.js +204 -0
- package/dist/es2015/containers/ts-transmux/index.js +37 -0
- package/dist/es2015/containers/ts-transmux/runner.js +95 -0
- package/dist/es2015/containers/ts-transmux/transmux.js +210 -0
- package/dist/es2015/containers/ts-transmux/transmux.worker.js +26 -0
- package/dist/es2015/index.js +356 -0
- package/dist/es2015/kernel/append-queue.js +148 -0
- package/dist/es2015/kernel/bus.js +134 -0
- package/dist/es2015/kernel/context.js +92 -0
- package/dist/es2015/kernel/effects.js +62 -0
- package/dist/es2015/kernel/evictor.js +67 -0
- package/dist/es2015/kernel/lifecycle.js +122 -0
- package/dist/es2015/kernel/loader.js +108 -0
- package/dist/es2015/kernel/mime.js +20 -0
- package/dist/es2015/kernel/mse.js +426 -0
- package/dist/es2015/kernel/reducer.js +1051 -0
- package/dist/es2015/kernel/rendition-select.js +263 -0
- package/dist/es2015/kernel/scheduler.js +82 -0
- package/dist/es2015/kernel/sinks/metadata-sink.js +7 -0
- package/dist/es2015/kernel/sinks/mse-sink.js +31 -0
- package/dist/es2015/kernel/sinks/text-track-sink.js +167 -0
- package/dist/es2015/kernel/timeline.js +127 -0
- package/dist/es2015/kernel/trace.js +134 -0
- package/dist/es2015/kernel/track-registry.js +47 -0
- package/dist/es2015/kernel/transport.js +242 -0
- package/dist/es2015/kernel/watchdog.js +38 -0
- package/dist/es2015/presets/dash/index.js +9 -0
- package/dist/es2015/presets/dash-drm/index.js +13 -0
- package/dist/es2015/presets/define.js +45 -0
- package/dist/es2015/presets/dual/index.js +14 -0
- package/dist/es2015/presets/dual-drm/index.js +14 -0
- package/dist/es2015/presets/dual-ts/index.js +14 -0
- package/dist/es2015/presets/dual-ts-drm/index.js +15 -0
- package/dist/es2015/presets/full/index.js +28 -0
- package/dist/es2015/presets/hls/index.js +9 -0
- package/dist/es2015/presets/hls-drm/index.js +13 -0
- package/dist/es2015/presets/hls-ts/index.js +13 -0
- package/dist/es2015/presets/hls-ts-drm/index.js +14 -0
- package/dist/es2015/presets/kernel/index.js +10 -0
- package/dist/es2015/presets/storage.js +24 -0
- package/dist/es2015/presets/tiers.js +93 -0
- package/dist/es2015/protocols/dash-cmaf/index.js +161 -0
- package/dist/es2015/protocols/dash-cmaf/parse.js +491 -0
- package/dist/es2015/protocols/dash-live/index.js +192 -0
- package/dist/es2015/protocols/hls-cmaf/index.js +168 -0
- package/dist/es2015/protocols/hls-cmaf/lexer.js +72 -0
- package/dist/es2015/protocols/hls-cmaf/parse.js +457 -0
- package/dist/es2015/protocols/hls-live/index.js +296 -0
- package/dist/es2015/protocols/live-shared.js +29 -0
- package/dist/es2015/stages/abr/index.js +126 -0
- package/dist/es2015/stages/abr-cap-size/index.js +22 -0
- package/dist/es2015/stages/abr-persist/index.js +52 -0
- package/dist/es2015/stages/aes-128/index.js +76 -0
- package/dist/es2015/stages/alt-audio/index.js +80 -0
- package/dist/es2015/stages/cmaf-timing/index.js +55 -0
- package/dist/es2015/stages/cmcd/index.js +70 -0
- package/dist/es2015/stages/codec-probe/index.js +65 -0
- package/dist/es2015/stages/codec-switch/index.js +48 -0
- package/dist/es2015/stages/content-steering/index.js +179 -0
- package/dist/es2015/stages/drm-shared.js +18 -0
- package/dist/es2015/stages/eme-cenc/index.js +46 -0
- package/dist/es2015/stages/eme-core/index.js +237 -0
- package/dist/es2015/stages/eme-fairplay/index.js +52 -0
- package/dist/es2015/stages/meta-id3/index.js +37 -0
- package/dist/es2015/stages/mp4-box/index.js +27 -0
- package/dist/es2015/stages/nal-scan/index.js +121 -0
- package/dist/es2015/stages/pdt/index.js +34 -0
- package/dist/es2015/stages/recovery/index.js +283 -0
- package/dist/es2015/stages/text-cea608/decode.js +201 -0
- package/dist/es2015/stages/text-cea608/index.js +71 -0
- package/dist/es2015/stages/text-webvtt/index.js +82 -0
- package/dist/es2015/stages/text-webvtt/parse.js +60 -0
- package/dist/es2015/stages/text-webvtt-segmented/index.js +57 -0
- package/dist/es2015/stages/thumbnails/index.js +73 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +423 -0
- package/dist/index.js.map +1 -0
- package/dist/kernel/append-queue.d.ts +47 -0
- package/dist/kernel/append-queue.d.ts.map +1 -0
- package/dist/kernel/append-queue.js +180 -0
- package/dist/kernel/append-queue.js.map +1 -0
- package/dist/kernel/bus.d.ts +50 -0
- package/dist/kernel/bus.d.ts.map +1 -0
- package/dist/kernel/bus.js +147 -0
- package/dist/kernel/bus.js.map +1 -0
- package/dist/kernel/context.d.ts +45 -0
- package/dist/kernel/context.d.ts.map +1 -0
- package/dist/kernel/context.js +116 -0
- package/dist/kernel/context.js.map +1 -0
- package/dist/kernel/effects.d.ts +33 -0
- package/dist/kernel/effects.d.ts.map +1 -0
- package/dist/kernel/effects.js +65 -0
- package/dist/kernel/effects.js.map +1 -0
- package/dist/kernel/evictor.d.ts +46 -0
- package/dist/kernel/evictor.d.ts.map +1 -0
- package/dist/kernel/evictor.js +92 -0
- package/dist/kernel/evictor.js.map +1 -0
- package/dist/kernel/lifecycle.d.ts +41 -0
- package/dist/kernel/lifecycle.d.ts.map +1 -0
- package/dist/kernel/lifecycle.js +129 -0
- package/dist/kernel/lifecycle.js.map +1 -0
- package/dist/kernel/loader.d.ts +28 -0
- package/dist/kernel/loader.d.ts.map +1 -0
- package/dist/kernel/loader.js +126 -0
- package/dist/kernel/loader.js.map +1 -0
- package/dist/kernel/mime.d.ts +13 -0
- package/dist/kernel/mime.d.ts.map +1 -0
- package/dist/kernel/mime.js +18 -0
- package/dist/kernel/mime.js.map +1 -0
- package/dist/kernel/mse.d.ts +62 -0
- package/dist/kernel/mse.d.ts.map +1 -0
- package/dist/kernel/mse.js +490 -0
- package/dist/kernel/mse.js.map +1 -0
- package/dist/kernel/reducer.d.ts +39 -0
- package/dist/kernel/reducer.d.ts.map +1 -0
- package/dist/kernel/reducer.js +1316 -0
- package/dist/kernel/reducer.js.map +1 -0
- package/dist/kernel/rendition-select.d.ts +102 -0
- package/dist/kernel/rendition-select.d.ts.map +1 -0
- package/dist/kernel/rendition-select.js +295 -0
- package/dist/kernel/rendition-select.js.map +1 -0
- package/dist/kernel/scheduler.d.ts +57 -0
- package/dist/kernel/scheduler.d.ts.map +1 -0
- package/dist/kernel/scheduler.js +98 -0
- package/dist/kernel/scheduler.js.map +1 -0
- package/dist/kernel/sinks/metadata-sink.d.ts +7 -0
- package/dist/kernel/sinks/metadata-sink.d.ts.map +1 -0
- package/dist/kernel/sinks/metadata-sink.js +5 -0
- package/dist/kernel/sinks/metadata-sink.js.map +1 -0
- package/dist/kernel/sinks/mse-sink.d.ts +17 -0
- package/dist/kernel/sinks/mse-sink.d.ts.map +1 -0
- package/dist/kernel/sinks/mse-sink.js +20 -0
- package/dist/kernel/sinks/mse-sink.js.map +1 -0
- package/dist/kernel/sinks/text-track-sink.d.ts +45 -0
- package/dist/kernel/sinks/text-track-sink.d.ts.map +1 -0
- package/dist/kernel/sinks/text-track-sink.js +184 -0
- package/dist/kernel/sinks/text-track-sink.js.map +1 -0
- package/dist/kernel/timeline.d.ts +57 -0
- package/dist/kernel/timeline.d.ts.map +1 -0
- package/dist/kernel/timeline.js +203 -0
- package/dist/kernel/timeline.js.map +1 -0
- package/dist/kernel/trace.d.ts +42 -0
- package/dist/kernel/trace.d.ts.map +1 -0
- package/dist/kernel/trace.js +165 -0
- package/dist/kernel/trace.js.map +1 -0
- package/dist/kernel/track-registry.d.ts +22 -0
- package/dist/kernel/track-registry.d.ts.map +1 -0
- package/dist/kernel/track-registry.js +42 -0
- package/dist/kernel/track-registry.js.map +1 -0
- package/dist/kernel/transport.d.ts +90 -0
- package/dist/kernel/transport.d.ts.map +1 -0
- package/dist/kernel/transport.js +256 -0
- package/dist/kernel/transport.js.map +1 -0
- package/dist/kernel/watchdog.d.ts +35 -0
- package/dist/kernel/watchdog.d.ts.map +1 -0
- package/dist/kernel/watchdog.js +43 -0
- package/dist/kernel/watchdog.js.map +1 -0
- package/dist/presets/dash/index.d.ts +4 -0
- package/dist/presets/dash/index.d.ts.map +1 -0
- package/dist/presets/dash/index.js +8 -0
- package/dist/presets/dash/index.js.map +1 -0
- package/dist/presets/dash-drm/index.d.ts +4 -0
- package/dist/presets/dash-drm/index.d.ts.map +1 -0
- package/dist/presets/dash-drm/index.js +8 -0
- package/dist/presets/dash-drm/index.js.map +1 -0
- package/dist/presets/define.d.ts +36 -0
- package/dist/presets/define.d.ts.map +1 -0
- package/dist/presets/define.js +39 -0
- package/dist/presets/define.js.map +1 -0
- package/dist/presets/dual/index.d.ts +4 -0
- package/dist/presets/dual/index.d.ts.map +1 -0
- package/dist/presets/dual/index.js +9 -0
- package/dist/presets/dual/index.js.map +1 -0
- package/dist/presets/dual-drm/index.d.ts +4 -0
- package/dist/presets/dual-drm/index.d.ts.map +1 -0
- package/dist/presets/dual-drm/index.js +13 -0
- package/dist/presets/dual-drm/index.js.map +1 -0
- package/dist/presets/dual-ts/index.d.ts +4 -0
- package/dist/presets/dual-ts/index.d.ts.map +1 -0
- package/dist/presets/dual-ts/index.js +8 -0
- package/dist/presets/dual-ts/index.js.map +1 -0
- package/dist/presets/dual-ts-drm/index.d.ts +4 -0
- package/dist/presets/dual-ts-drm/index.d.ts.map +1 -0
- package/dist/presets/dual-ts-drm/index.js +14 -0
- package/dist/presets/dual-ts-drm/index.js.map +1 -0
- package/dist/presets/full/index.d.ts +4 -0
- package/dist/presets/full/index.d.ts.map +1 -0
- package/dist/presets/full/index.js +27 -0
- package/dist/presets/full/index.js.map +1 -0
- package/dist/presets/hls/index.d.ts +4 -0
- package/dist/presets/hls/index.d.ts.map +1 -0
- package/dist/presets/hls/index.js +8 -0
- package/dist/presets/hls/index.js.map +1 -0
- package/dist/presets/hls-drm/index.d.ts +4 -0
- package/dist/presets/hls-drm/index.d.ts.map +1 -0
- package/dist/presets/hls-drm/index.js +8 -0
- package/dist/presets/hls-drm/index.js.map +1 -0
- package/dist/presets/hls-ts/index.d.ts +4 -0
- package/dist/presets/hls-ts/index.d.ts.map +1 -0
- package/dist/presets/hls-ts/index.js +8 -0
- package/dist/presets/hls-ts/index.js.map +1 -0
- package/dist/presets/hls-ts-drm/index.d.ts +4 -0
- package/dist/presets/hls-ts-drm/index.d.ts.map +1 -0
- package/dist/presets/hls-ts-drm/index.js +13 -0
- package/dist/presets/hls-ts-drm/index.js.map +1 -0
- package/dist/presets/kernel/index.d.ts +4 -0
- package/dist/presets/kernel/index.d.ts.map +1 -0
- package/dist/presets/kernel/index.js +9 -0
- package/dist/presets/kernel/index.js.map +1 -0
- package/dist/presets/storage.d.ts +9 -0
- package/dist/presets/storage.d.ts.map +1 -0
- package/dist/presets/storage.js +24 -0
- package/dist/presets/storage.js.map +1 -0
- package/dist/presets/tiers.d.ts +22 -0
- package/dist/presets/tiers.d.ts.map +1 -0
- package/dist/presets/tiers.js +78 -0
- package/dist/presets/tiers.js.map +1 -0
- package/dist/protocols/dash-cmaf/index.d.ts +20 -0
- package/dist/protocols/dash-cmaf/index.d.ts.map +1 -0
- package/dist/protocols/dash-cmaf/index.js +176 -0
- package/dist/protocols/dash-cmaf/index.js.map +1 -0
- package/dist/protocols/dash-cmaf/parse.d.ts +24 -0
- package/dist/protocols/dash-cmaf/parse.d.ts.map +1 -0
- package/dist/protocols/dash-cmaf/parse.js +586 -0
- package/dist/protocols/dash-cmaf/parse.js.map +1 -0
- package/dist/protocols/dash-live/index.d.ts +4 -0
- package/dist/protocols/dash-live/index.d.ts.map +1 -0
- package/dist/protocols/dash-live/index.js +188 -0
- package/dist/protocols/dash-live/index.js.map +1 -0
- package/dist/protocols/hls-cmaf/index.d.ts +17 -0
- package/dist/protocols/hls-cmaf/index.d.ts.map +1 -0
- package/dist/protocols/hls-cmaf/index.js +189 -0
- package/dist/protocols/hls-cmaf/index.js.map +1 -0
- package/dist/protocols/hls-cmaf/lexer.d.ts +25 -0
- package/dist/protocols/hls-cmaf/lexer.d.ts.map +1 -0
- package/dist/protocols/hls-cmaf/lexer.js +81 -0
- package/dist/protocols/hls-cmaf/lexer.js.map +1 -0
- package/dist/protocols/hls-cmaf/parse.d.ts +57 -0
- package/dist/protocols/hls-cmaf/parse.d.ts.map +1 -0
- package/dist/protocols/hls-cmaf/parse.js +572 -0
- package/dist/protocols/hls-cmaf/parse.js.map +1 -0
- package/dist/protocols/hls-live/index.d.ts +4 -0
- package/dist/protocols/hls-live/index.d.ts.map +1 -0
- package/dist/protocols/hls-live/index.js +309 -0
- package/dist/protocols/hls-live/index.js.map +1 -0
- package/dist/protocols/live-shared.d.ts +21 -0
- package/dist/protocols/live-shared.d.ts.map +1 -0
- package/dist/protocols/live-shared.js +32 -0
- package/dist/protocols/live-shared.js.map +1 -0
- package/dist/stages/abr/index.d.ts +16 -0
- package/dist/stages/abr/index.d.ts.map +1 -0
- package/dist/stages/abr/index.js +176 -0
- package/dist/stages/abr/index.js.map +1 -0
- package/dist/stages/abr-cap-size/index.d.ts +8 -0
- package/dist/stages/abr-cap-size/index.d.ts.map +1 -0
- package/dist/stages/abr-cap-size/index.js +21 -0
- package/dist/stages/abr-cap-size/index.js.map +1 -0
- package/dist/stages/abr-persist/index.d.ts +8 -0
- package/dist/stages/abr-persist/index.d.ts.map +1 -0
- package/dist/stages/abr-persist/index.js +44 -0
- package/dist/stages/abr-persist/index.js.map +1 -0
- package/dist/stages/aes-128/index.d.ts +15 -0
- package/dist/stages/aes-128/index.d.ts.map +1 -0
- package/dist/stages/aes-128/index.js +78 -0
- package/dist/stages/aes-128/index.js.map +1 -0
- package/dist/stages/alt-audio/index.d.ts +4 -0
- package/dist/stages/alt-audio/index.d.ts.map +1 -0
- package/dist/stages/alt-audio/index.js +90 -0
- package/dist/stages/alt-audio/index.js.map +1 -0
- package/dist/stages/cmaf-timing/index.d.ts +3 -0
- package/dist/stages/cmaf-timing/index.d.ts.map +1 -0
- package/dist/stages/cmaf-timing/index.js +56 -0
- package/dist/stages/cmaf-timing/index.js.map +1 -0
- package/dist/stages/cmcd/index.d.ts +22 -0
- package/dist/stages/cmcd/index.d.ts.map +1 -0
- package/dist/stages/cmcd/index.js +92 -0
- package/dist/stages/cmcd/index.js.map +1 -0
- package/dist/stages/codec-probe/index.d.ts +9 -0
- package/dist/stages/codec-probe/index.d.ts.map +1 -0
- package/dist/stages/codec-probe/index.js +68 -0
- package/dist/stages/codec-probe/index.js.map +1 -0
- package/dist/stages/codec-switch/index.d.ts +6 -0
- package/dist/stages/codec-switch/index.d.ts.map +1 -0
- package/dist/stages/codec-switch/index.js +59 -0
- package/dist/stages/codec-switch/index.js.map +1 -0
- package/dist/stages/content-steering/index.d.ts +4 -0
- package/dist/stages/content-steering/index.d.ts.map +1 -0
- package/dist/stages/content-steering/index.js +174 -0
- package/dist/stages/content-steering/index.js.map +1 -0
- package/dist/stages/drm-shared.d.ts +46 -0
- package/dist/stages/drm-shared.d.ts.map +1 -0
- package/dist/stages/drm-shared.js +28 -0
- package/dist/stages/drm-shared.js.map +1 -0
- package/dist/stages/eme-cenc/index.d.ts +12 -0
- package/dist/stages/eme-cenc/index.d.ts.map +1 -0
- package/dist/stages/eme-cenc/index.js +53 -0
- package/dist/stages/eme-cenc/index.js.map +1 -0
- package/dist/stages/eme-core/index.d.ts +29 -0
- package/dist/stages/eme-core/index.d.ts.map +1 -0
- package/dist/stages/eme-core/index.js +244 -0
- package/dist/stages/eme-core/index.js.map +1 -0
- package/dist/stages/eme-fairplay/index.d.ts +20 -0
- package/dist/stages/eme-fairplay/index.d.ts.map +1 -0
- package/dist/stages/eme-fairplay/index.js +59 -0
- package/dist/stages/eme-fairplay/index.js.map +1 -0
- package/dist/stages/meta-id3/index.d.ts +14 -0
- package/dist/stages/meta-id3/index.d.ts.map +1 -0
- package/dist/stages/meta-id3/index.js +30 -0
- package/dist/stages/meta-id3/index.js.map +1 -0
- package/dist/stages/mp4-box/index.d.ts +3 -0
- package/dist/stages/mp4-box/index.d.ts.map +1 -0
- package/dist/stages/mp4-box/index.js +19 -0
- package/dist/stages/mp4-box/index.js.map +1 -0
- package/dist/stages/nal-scan/index.d.ts +3 -0
- package/dist/stages/nal-scan/index.d.ts.map +1 -0
- package/dist/stages/nal-scan/index.js +123 -0
- package/dist/stages/nal-scan/index.js.map +1 -0
- package/dist/stages/pdt/index.d.ts +14 -0
- package/dist/stages/pdt/index.d.ts.map +1 -0
- package/dist/stages/pdt/index.js +34 -0
- package/dist/stages/pdt/index.js.map +1 -0
- package/dist/stages/recovery/index.d.ts +16 -0
- package/dist/stages/recovery/index.d.ts.map +1 -0
- package/dist/stages/recovery/index.js +270 -0
- package/dist/stages/recovery/index.js.map +1 -0
- package/dist/stages/text-cea608/decode.d.ts +44 -0
- package/dist/stages/text-cea608/decode.d.ts.map +1 -0
- package/dist/stages/text-cea608/decode.js +225 -0
- package/dist/stages/text-cea608/decode.js.map +1 -0
- package/dist/stages/text-cea608/index.d.ts +3 -0
- package/dist/stages/text-cea608/index.d.ts.map +1 -0
- package/dist/stages/text-cea608/index.js +84 -0
- package/dist/stages/text-cea608/index.js.map +1 -0
- package/dist/stages/text-webvtt/index.d.ts +3 -0
- package/dist/stages/text-webvtt/index.d.ts.map +1 -0
- package/dist/stages/text-webvtt/index.js +82 -0
- package/dist/stages/text-webvtt/index.js.map +1 -0
- package/dist/stages/text-webvtt/parse.d.ts +19 -0
- package/dist/stages/text-webvtt/parse.d.ts.map +1 -0
- package/dist/stages/text-webvtt/parse.js +62 -0
- package/dist/stages/text-webvtt/parse.js.map +1 -0
- package/dist/stages/text-webvtt-segmented/index.d.ts +5 -0
- package/dist/stages/text-webvtt-segmented/index.d.ts.map +1 -0
- package/dist/stages/text-webvtt-segmented/index.js +63 -0
- package/dist/stages/text-webvtt-segmented/index.js.map +1 -0
- package/dist/stages/thumbnails/index.d.ts +34 -0
- package/dist/stages/thumbnails/index.d.ts.map +1 -0
- package/dist/stages/thumbnails/index.js +58 -0
- package/dist/stages/thumbnails/index.js.map +1 -0
- package/dist/types/error.d.ts +33 -0
- package/dist/types/error.d.ts.map +1 -0
- package/dist/types/error.js +7 -0
- package/dist/types/error.js.map +1 -0
- package/dist/types/facade.d.ts +104 -0
- package/dist/types/facade.d.ts.map +1 -0
- package/dist/types/facade.js +2 -0
- package/dist/types/facade.js.map +1 -0
- package/dist/types/ir.d.ts +238 -0
- package/dist/types/ir.d.ts.map +1 -0
- package/dist/types/ir.js +7 -0
- package/dist/types/ir.js.map +1 -0
- package/dist/types/kernel.d.ts +217 -0
- package/dist/types/kernel.d.ts.map +1 -0
- package/dist/types/kernel.js +2 -0
- package/dist/types/kernel.js.map +1 -0
- package/dist/types/messages.d.ts +288 -0
- package/dist/types/messages.d.ts.map +1 -0
- package/dist/types/messages.js +2 -0
- package/dist/types/messages.js.map +1 -0
- package/dist/types/quality.d.ts +108 -0
- package/dist/types/quality.d.ts.map +1 -0
- package/dist/types/quality.js +2 -0
- package/dist/types/quality.js.map +1 -0
- package/dist/types/sink.d.ts +27 -0
- package/dist/types/sink.d.ts.map +1 -0
- package/dist/types/sink.js +2 -0
- package/dist/types/sink.js.map +1 -0
- package/dist/types/stage.d.ts +139 -0
- package/dist/types/stage.d.ts.map +1 -0
- package/dist/types/stage.js +2 -0
- package/dist/types/stage.js.map +1 -0
- package/package.json +132 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { definePreset } from "../define.js";
|
|
2
|
+
//#region src/presets/kernel/index.ts
|
|
3
|
+
/**
|
|
4
|
+
* The `kernel` preset: the engine with zero stages. It attaches and manages
|
|
5
|
+
* buffers but parses nothing; it is the floor the size budget measures and
|
|
6
|
+
* the base to build a fully custom stack on with `stages`.
|
|
7
|
+
*/
|
|
8
|
+
const preset = definePreset("kernel", () => []);
|
|
9
|
+
//#endregion
|
|
10
|
+
export { preset as default };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/presets/storage.ts
|
|
2
|
+
const KEY = "mattebox:throughput";
|
|
3
|
+
function localThroughputStorage(key = KEY) {
|
|
4
|
+
return {
|
|
5
|
+
get() {
|
|
6
|
+
try {
|
|
7
|
+
var _globalThis$localStor;
|
|
8
|
+
const value = (_globalThis$localStor = globalThis.localStorage) === null || _globalThis$localStor === void 0 ? void 0 : _globalThis$localStor.getItem(key);
|
|
9
|
+
const bps = value === null || value === void 0 ? NaN : Number(value);
|
|
10
|
+
return Number.isFinite(bps) && bps > 0 ? bps : null;
|
|
11
|
+
} catch (_unused) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
set(bps) {
|
|
16
|
+
try {
|
|
17
|
+
var _globalThis$localStor2;
|
|
18
|
+
(_globalThis$localStor2 = globalThis.localStorage) === null || _globalThis$localStor2 === void 0 || _globalThis$localStor2.setItem(key, String(Math.round(bps)));
|
|
19
|
+
} catch (_unused2) {}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { localThroughputStorage };
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import textWebvttSegmented from "../stages/text-webvtt-segmented/index.js";
|
|
2
|
+
import textWebvtt from "../stages/text-webvtt/index.js";
|
|
3
|
+
import textCea608 from "../stages/text-cea608/index.js";
|
|
4
|
+
import recovery from "../stages/recovery/index.js";
|
|
5
|
+
import pdt from "../stages/pdt/index.js";
|
|
6
|
+
import nalScan from "../stages/nal-scan/index.js";
|
|
7
|
+
import metaId3 from "../stages/meta-id3/index.js";
|
|
8
|
+
import emeFairplay from "../stages/eme-fairplay/index.js";
|
|
9
|
+
import emeCore from "../stages/eme-core/index.js";
|
|
10
|
+
import emeCenc from "../stages/eme-cenc/index.js";
|
|
11
|
+
import contentSteering from "../stages/content-steering/index.js";
|
|
12
|
+
import codecSwitch from "../stages/codec-switch/index.js";
|
|
13
|
+
import cmafTiming from "../stages/cmaf-timing/index.js";
|
|
14
|
+
import altAudio from "../stages/alt-audio/index.js";
|
|
15
|
+
import aes128 from "../stages/aes-128/index.js";
|
|
16
|
+
import abrPersist from "../stages/abr-persist/index.js";
|
|
17
|
+
import abrCapSize from "../stages/abr-cap-size/index.js";
|
|
18
|
+
import abr from "../stages/abr/index.js";
|
|
19
|
+
import hlsLive from "../protocols/hls-live/index.js";
|
|
20
|
+
import hlsCmaf from "../protocols/hls-cmaf/index.js";
|
|
21
|
+
import dashLive from "../protocols/dash-live/index.js";
|
|
22
|
+
import dashCmaf from "../protocols/dash-cmaf/index.js";
|
|
23
|
+
import packedAudio from "../containers/packed-audio/index.js";
|
|
24
|
+
import tsTransmux from "../containers/ts-transmux/index.js";
|
|
25
|
+
import { localThroughputStorage } from "./storage.js";
|
|
26
|
+
//#region src/presets/tiers.ts
|
|
27
|
+
/**
|
|
28
|
+
* The building blocks of the preset matrix. Three axes answer a technical
|
|
29
|
+
* requirement, each set by the packaging backend or the rights situation:
|
|
30
|
+
* the protocol line (HLS, DASH, both), the container tier (CMAF only, or
|
|
31
|
+
* legacy MPEG-TS as well, an HLS-side axis), and the DRM tier. Every preset
|
|
32
|
+
* carries the same base on top of its line. Each group is a function so a
|
|
33
|
+
* preset gets fresh stage instances, and a group a preset never calls
|
|
34
|
+
* tree-shakes out of it with the stages it imports.
|
|
35
|
+
*/
|
|
36
|
+
/** HLS on demand and live, with program date time. */
|
|
37
|
+
function hlsLine() {
|
|
38
|
+
return [
|
|
39
|
+
hlsCmaf(),
|
|
40
|
+
hlsLive(),
|
|
41
|
+
pdt(),
|
|
42
|
+
aes128()
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
/** DASH on demand and live. */
|
|
46
|
+
function dashLine() {
|
|
47
|
+
return [dashCmaf(), dashLive()];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* What every preset carries: adaptive quality with a size cap and bandwidth
|
|
51
|
+
* memory, recovery, content steering (inert until a manifest asks for it),
|
|
52
|
+
* alternate audio with codec switching, WebVTT subtitles, and CMAF live
|
|
53
|
+
* timing, which corrects the broadcast-clock tfdt some live packagers write
|
|
54
|
+
* and leaves VOD untouched.
|
|
55
|
+
*/
|
|
56
|
+
function base() {
|
|
57
|
+
return [
|
|
58
|
+
abr(),
|
|
59
|
+
abrCapSize(),
|
|
60
|
+
abrPersist(localThroughputStorage()),
|
|
61
|
+
recovery(),
|
|
62
|
+
contentSteering(),
|
|
63
|
+
codecSwitch(),
|
|
64
|
+
altAudio(),
|
|
65
|
+
textWebvtt(),
|
|
66
|
+
textWebvttSegmented(),
|
|
67
|
+
cmafTiming()
|
|
68
|
+
];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Legacy MPEG-TS: the transmuxer and packed audio, plus what rides on the
|
|
72
|
+
* transport stream, CEA-608 captions and ID3 metadata. nal-scan is included
|
|
73
|
+
* so a mixed backend gets the same captions from its CMAF renditions.
|
|
74
|
+
*/
|
|
75
|
+
function tsTier() {
|
|
76
|
+
return [
|
|
77
|
+
tsTransmux(),
|
|
78
|
+
packedAudio(),
|
|
79
|
+
nalScan(),
|
|
80
|
+
textCea608(),
|
|
81
|
+
metaId3()
|
|
82
|
+
];
|
|
83
|
+
}
|
|
84
|
+
/** The EME stages: sessions, CENC (Widevine, PlayReady, ClearKey), FairPlay. */
|
|
85
|
+
function drmTier() {
|
|
86
|
+
return [
|
|
87
|
+
emeCore(),
|
|
88
|
+
emeCenc(),
|
|
89
|
+
emeFairplay()
|
|
90
|
+
];
|
|
91
|
+
}
|
|
92
|
+
//#endregion
|
|
93
|
+
export { base, dashLine, drmTier, hlsLine, tsTier };
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { normalizeMimeType } from "../../kernel/mime.js";
|
|
2
|
+
import _objectSpread2 from "../../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/objectSpread2.js";
|
|
3
|
+
import { mergeSidx, parse, sidxToSegments } from "./parse.js";
|
|
4
|
+
//#region src/protocols/dash-cmaf/index.ts
|
|
5
|
+
/**
|
|
6
|
+
* The dash-cmaf protocol adapter as a stage. Inert module: exports a
|
|
7
|
+
* factory, registers nothing at import time.
|
|
8
|
+
*
|
|
9
|
+
* A templated MPD (SegmentTemplate) is self-contained: one manifest fetch
|
|
10
|
+
* parses straight into a complete Presentation with lazy indexed addressing.
|
|
11
|
+
* The on-demand profile (SegmentBase) is not: each Representation is one file
|
|
12
|
+
* indexed by a `sidx` box, so the concrete segments are unknown until that box
|
|
13
|
+
* is fetched. That second phase mirrors HLS's media-playlist fetch: the parse
|
|
14
|
+
* emits `sidx` addressing, this slice fetches the index byte range under a
|
|
15
|
+
* `dash:idx:` token the transport correlates back, parses it, and merges the
|
|
16
|
+
* resolved segments into the presentation.
|
|
17
|
+
*/
|
|
18
|
+
const INDEX_TOKEN = "dash:idx:";
|
|
19
|
+
/** The MPD MIME type, ISO 23009-1 §C.2. */
|
|
20
|
+
const MANIFEST_TYPES = ["application/dash+xml"];
|
|
21
|
+
/** Unresolved on-demand addressing, or null for an explicit list or template. */
|
|
22
|
+
function asSidx(addressing) {
|
|
23
|
+
if (addressing === void 0 || Array.isArray(addressing)) return null;
|
|
24
|
+
const candidate = addressing;
|
|
25
|
+
return candidate.kind === "sidx" ? candidate : null;
|
|
26
|
+
}
|
|
27
|
+
const INITIAL = {
|
|
28
|
+
manifestUrl: null,
|
|
29
|
+
mimeType: null,
|
|
30
|
+
pending: {}
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Whether this adapter owns the manifest bytes. An explicit mimeType
|
|
34
|
+
* decides alone; without one, an MPD is an XML document and starts with
|
|
35
|
+
* '<'. The parser reports a wrong root element as a parse failure.
|
|
36
|
+
*/
|
|
37
|
+
function claims(state, text) {
|
|
38
|
+
if (state.mimeType !== null) return MANIFEST_TYPES.includes(state.mimeType);
|
|
39
|
+
return text.trimStart().startsWith("<");
|
|
40
|
+
}
|
|
41
|
+
function findRendition(presentation, renditionId) {
|
|
42
|
+
for (const period of presentation.periods) for (const track of period.tracks) for (const rendition of track.renditions) if (rendition.id === renditionId) return rendition;
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The renditions whose sidx index still needs fetching: every rendition of
|
|
47
|
+
* every active track. Resolving only the "chosen" one is not enough, because
|
|
48
|
+
* the kernel selects the audio rendition independently (an audio adaptation
|
|
49
|
+
* set often has several bitrates) and may pick a different one than this slice
|
|
50
|
+
* would; its segments would then stay unresolved and the audio buffer would
|
|
51
|
+
* never fill, stalling playback since the element's buffered range is the
|
|
52
|
+
* intersection across all source buffers. Resolving them all also means an ABR
|
|
53
|
+
* switch finds its target already indexed. The fetches are one small range
|
|
54
|
+
* each, so the cost is negligible.
|
|
55
|
+
*/
|
|
56
|
+
function neededIndexes(kernel) {
|
|
57
|
+
const presentation = kernel.presentation;
|
|
58
|
+
if (presentation === null) return [];
|
|
59
|
+
const activeIds = new Set([
|
|
60
|
+
"video",
|
|
61
|
+
"audio",
|
|
62
|
+
"text"
|
|
63
|
+
].map((contentType) => kernel.tracks.active.get(contentType)).filter((id) => id !== void 0));
|
|
64
|
+
const needed = [];
|
|
65
|
+
for (const period of presentation.periods) for (const track of period.tracks) {
|
|
66
|
+
if (!activeIds.has(track.id)) continue;
|
|
67
|
+
for (const rendition of track.renditions) if (asSidx(rendition.segments) !== null) needed.push(rendition);
|
|
68
|
+
}
|
|
69
|
+
return needed;
|
|
70
|
+
}
|
|
71
|
+
/** Loops a message back into the bus through a zero-delay schedule effect. */
|
|
72
|
+
function feed(message) {
|
|
73
|
+
return {
|
|
74
|
+
kind: "schedule",
|
|
75
|
+
token: "dash:loopback",
|
|
76
|
+
delayMs: 0,
|
|
77
|
+
then: message
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
const reduceDash = (slice, msg, kernel) => {
|
|
81
|
+
const state = slice !== null && slice !== void 0 ? slice : INITIAL;
|
|
82
|
+
if (msg.type === "LOAD") return [{
|
|
83
|
+
manifestUrl: msg.url,
|
|
84
|
+
mimeType: msg.mimeType === void 0 ? null : normalizeMimeType(msg.mimeType),
|
|
85
|
+
pending: {}
|
|
86
|
+
}, []];
|
|
87
|
+
if (msg.type === "UNLOAD" || msg.type === "DETACH") return [INITIAL, []];
|
|
88
|
+
if (msg.type === "SEGMENT_LOADED" && msg.trackId === "manifest" && state.manifestUrl !== null) {
|
|
89
|
+
const text = new TextDecoder().decode(msg.bytes);
|
|
90
|
+
if (!claims(state, text)) return [state, []];
|
|
91
|
+
const result = parse(text, state.manifestUrl);
|
|
92
|
+
if (result.presentation === null) {
|
|
93
|
+
var _result$error;
|
|
94
|
+
return [state, [feed({
|
|
95
|
+
type: "MANIFEST_FAILED",
|
|
96
|
+
error: (_result$error = result.error) !== null && _result$error !== void 0 ? _result$error : {
|
|
97
|
+
category: "manifest",
|
|
98
|
+
code: "MANIFEST_PARSE_FAILED",
|
|
99
|
+
fatal: true,
|
|
100
|
+
recoverable: false
|
|
101
|
+
}
|
|
102
|
+
})]];
|
|
103
|
+
}
|
|
104
|
+
return [state, [feed({
|
|
105
|
+
type: "MANIFEST_LOADED",
|
|
106
|
+
presentation: result.presentation
|
|
107
|
+
})]];
|
|
108
|
+
}
|
|
109
|
+
if (msg.type === "SEGMENT_LOADED" && msg.trackId.startsWith(INDEX_TOKEN)) {
|
|
110
|
+
const renditionId = state.pending[msg.trackId];
|
|
111
|
+
if (renditionId === void 0 || kernel.presentation === null) return [state, []];
|
|
112
|
+
const rendition = findRendition(kernel.presentation, renditionId);
|
|
113
|
+
const pending = _objectSpread2({}, state.pending);
|
|
114
|
+
delete pending[msg.trackId];
|
|
115
|
+
const sidx = asSidx(rendition === null || rendition === void 0 ? void 0 : rendition.segments);
|
|
116
|
+
if (sidx === null) return [_objectSpread2(_objectSpread2({}, state), {}, { pending }), []];
|
|
117
|
+
const segments = sidxToSegments(new Uint8Array(msg.bytes), sidx);
|
|
118
|
+
if (segments.length === 0) return [_objectSpread2(_objectSpread2({}, state), {}, { pending }), []];
|
|
119
|
+
const merged = mergeSidx(kernel.presentation, renditionId, segments);
|
|
120
|
+
return [_objectSpread2(_objectSpread2({}, state), {}, { pending }), [feed({
|
|
121
|
+
type: "MANIFEST_LOADED",
|
|
122
|
+
presentation: merged
|
|
123
|
+
})]];
|
|
124
|
+
}
|
|
125
|
+
if (msg.type === "MANIFEST_LOADED" || msg.type === "TIME_UPDATE") {
|
|
126
|
+
const needed = neededIndexes(kernel).filter((rendition) => !Object.values(state.pending).includes(rendition.id));
|
|
127
|
+
if (needed.length === 0) return [state, []];
|
|
128
|
+
const effects = [];
|
|
129
|
+
const pending = _objectSpread2({}, state.pending);
|
|
130
|
+
for (const rendition of needed) {
|
|
131
|
+
const token = `${INDEX_TOKEN}${rendition.id}`;
|
|
132
|
+
if (pending[token] !== void 0) continue;
|
|
133
|
+
const sidx = asSidx(rendition.segments);
|
|
134
|
+
if (sidx === null) continue;
|
|
135
|
+
pending[token] = rendition.id;
|
|
136
|
+
effects.push({
|
|
137
|
+
kind: "fetch",
|
|
138
|
+
token,
|
|
139
|
+
url: sidx.url,
|
|
140
|
+
range: sidx.indexRange
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
return [_objectSpread2(_objectSpread2({}, state), {}, { pending }), effects];
|
|
144
|
+
}
|
|
145
|
+
return [state, []];
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* The stage factory. `mattebox({ stages: [dashCmaf()] })` is all a consumer
|
|
149
|
+
* needs for DASH-CMAF VOD, templated or on-demand.
|
|
150
|
+
*/
|
|
151
|
+
function dashCmaf() {
|
|
152
|
+
return {
|
|
153
|
+
name: "dash-cmaf",
|
|
154
|
+
provides: ["dash-cmaf", ...MANIFEST_TYPES],
|
|
155
|
+
install(ctx) {
|
|
156
|
+
ctx.reduce("dash", reduceDash);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
//#endregion
|
|
161
|
+
export { dashCmaf as default };
|