Created by: ykmn
Summary
- Source-aware
PlayoutBufferdelay: small fixed delay for continuous sources (Icecast/soundcard/Livewire); HLS channels self-size from their own measured playlist segment duration instead of one blanket 12s constant for all HLS channels. - Removed Livewire mono/stereo channel-format selection and its "wrong pitch" hint (from code and the channel edit dialog) — the pitch symptom it was diagnosing had a different, already-fixed root cause (1.00.027's sample-rate fix), and standard Livewire is always stereo regardless of the physical source.
- Consolidated
appsettings.jsonintosettings.yaml— single config file. The only load-bearing key (Urls) moved tosettings.yaml; the rest were either bootstrap-only (unchanged) or replaced with equivalent hardcoded behavior. - Fixed phantom Livewire channels (1-216) flooding the discovered-channels list — LWRP's
SRCtable can list many never-renamed slots with auto-generated placeholder names ("SRC 1","PC 12"); now filtered out. - Fixed real Livewire channels showing under wrong (too-low) numbers — LWRP's leading
SRC <index>isn't always the real channel number (confirmed via the same network's own Advertisement-sourced cache data); now derived from the authoritativeRTPA(multicast-address-encoded) field instead. -
last_seeninconfig/livewire.yamlis now human-readable (YYYY-MM-DD hh:mm:ss) instead of Unix seconds, with backward-compatible reading of the old format.
Test plan
-
dotnet buildboth projects clean -
dotnet test— 213/213 passing (44 new tests across this branch) -
Live dotnet runsmoke-tested against real production channel configs after each change — no exceptions, correct HLS segment measurement, correctNow listening on: http://0.0.0.0:5000with noappsettings.jsonpresent -
Field confirmation still needed: real Livewire hardware behavior (no AoIP hardware in this dev environment) — channel-number fix verified against previously-cached real Advertisement data from the same network, not a fresh live capture