ReviewOS

home-lang/home-os

Network sources: HTTP(S) progressive with range/seek, HLS (VOD + live, fMP4 + TS segments, variant selection), DASH later; TLS via S5

#87
Open chris opened this 8 days ago ·
8 days ago

Epic: #113 · Milestone: MC6 — Media engine

Why

Internet radio, podcasts, self-hosted streams and NAS HTTP shares. The stdlib has hls.zig/dash.zig; HomeOS has an HTTP client (net/http.home, 713 lines, unrun) and a TLS 1.2 record layer on stub crypto (S5). Streaming needs the network stack from #69 and TLS from #107.

Tasks

  • HTTP/1.1 client hardening: keep-alive, chunked, range, redirects, timeouts, in-flight cancellation; HTTPS through #107.
  • Progressive source with adaptive read-ahead and seek by byte-range (MP4 moov at end handled via range probing).
  • HLS: master/variant playlists, bandwidth estimator, segment fetcher with a 3-segment buffer, discontinuities, fMP4 and TS, AES-128 segment decryption (S5), live edge + DVR window.
  • Internet radio (ICY metadata), podcast RSS parsing for the Music app.
  • Bandwidth/latency panel in perf.

Acceptance

Plays a public HLS test stream (VOD and live) for 30 minutes without stalls on the rig; switches variants when bandwidth is throttled by the host-side proxy (rpx can shape).

Size: M · Depends on: #69, #107, #85 · Blocks: —

Sign in to comment on this issue.