every.channel/evolution/proposals/ECP-0006-linux-iptv-ingest.md
2026-02-15 16:17:27 -05:00

27 lines
974 B
Markdown

# 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.