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

974 B

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.