You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
New [[relays]] config block — each entry pulls from a remote Icecast-compatible URL and re-broadcasts on a local mount. Optional HTTP Basic auth, optional per-relay [relays.transcode] (falls back to global [transcode], passthrough when unset).
Reconnect-on-failure with exponential backoff (1 s → 30 s cap). Resets on successful connect.
Live Icecast sources connecting to a relay-owned mount preempt the relay until they disconnect, then the relay reconnects automatically. /api/mounts exposes source_kind = "relay" to disambiguate from live and AutoDJ sources.
Stream detail page
Public per-stream detail page, reached by clicking a stream on the landing page (landing entries now open this page instead of the raw stream URL).
Built-in in-browser player — a custom play/stop control driving an HTML5 <audio> element, with an offline state for mounts with no live source.
Real-time audio visualizer with a bars (frequency spectrum) / line (oscilloscope waveform) toggle, driven by the Web Audio API; synthetic-motion fallback when Web Audio is unavailable.
Now-playing card showing the live title, description, genre, listener count, uptime, and a compact codec / bitrate / sample-rate / channels spec line.
Stream responses now send Access-Control-Allow-Origin: * so the browser can analyse the audio cross-origin for the visualizer.
Fixed
Suppress symphonia_metadata INFO noise from the default logger so AutoDJ folders with tagged audio no longer flood the console with unsupported frame GEOB (and similar) lines.
Live sources can now preempt an AutoDJ or Relay on a mount that has no [[mounts]] entry of its own. verify_source falls back to the global [auth].source_password when no per-mount password is configured — previously such PUTs were always rejected with 401, so the live-source preemption promised by the AutoDJ feature never actually worked.