every.channel: sanitized baseline

This commit is contained in:
every.channel 2026-02-15 16:17:27 -05:00
commit 897e556bea
No known key found for this signature in database
258 changed files with 74298 additions and 0 deletions

View file

@ -0,0 +1,27 @@
# ECP-0006: Linux IPTV (LinuxDVB) ingest
Status: Draft
## Problem
We need a second ingest source beyond HDHomeRun so that Linux tuner stacks can participate in the relay mesh.
## Decision
Provide a LinuxDVB ingest module that:
- Opens `/dev/dvb/adapterX/dvrY` as a byte stream.
- Optionally spawns a tuning command (e.g., `dvbv5-zap -r`) before opening the DVR stream.
- Enumerates local adapters from `/dev/dvb` to support "zero config" device discovery in the UI.
- Optionally reads channel names from a `channels.conf` file (common locations like `~/.dvb/channels.conf`) to populate pickers without scanning.
- Runs on Linux only, returning an explicit error on other platforms.
## Alternatives considered
- Raw ioctl tuning in Rust: deferred due to complexity and lack of immediate testing hardware.
- IPTV UDP-only ingest: deferred to a later proposal.
## Rollout / teardown
- Add `ec-linux-iptv` crate.
- Expand with ioctl tuning once hardware is available.