every.channel/evolution/proposals/ECP-0074-archive-hls-engine-selection.md
2026-02-24 22:09:24 -08:00

21 lines
726 B
Markdown

# ECP-0074: Archive HLS Engine Selection For Chromium
## Context
Archive mode currently chooses native HLS whenever `video.canPlayType("application/vnd.apple.mpegurl")` is non-empty.
Chromium may report support but still fail to actually play event-style fMP4 HLS in this path, leaving the player stuck at `readyState = 0`.
## Decision
Use native HLS only on Safari/iOS user agents. For all other browsers (including Chromium), force `hls.js` playback.
## Why
- Restores archive playback on Chrome/Chromium.
- Keeps Safari native path where it is reliable.
- Preserves a single URL and UI flow (`/api/archive/.../master.m3u8`).
## Reversibility
Revert the UA gate and return to the previous `canPlayType`-only check.