Jan
97c6e9b6a0
ingest: fix source defaults and discovery context handling
il y a 1 mois
Jan
6a23b6c313
control: move ingest configuration into dedicated tab
il y a 1 mois
Jan
6cafbdd392
control: add web ingest config save and hard reload
il y a 1 mois
Jan
aa26330147
ingest: expose source origin in runtime details
il y a 1 mois
Jan
42d74c8665
ingest: improve runtime observability coverage
il y a 1 mois
Jan
51db52f934
docs(ingest): align phase-1 status and decoder fallback semantics
il y a 1 mois
Jan
2673787c88
ingest: add runtime and control ingest stats tests
il y a 1 mois
Jan
4ad70d4ae4
ingest: rewire tx/control to runtime and http raw adapter
il y a 1 mois
Jan
1d8eb1e856
feat(ui): rework control plane layout
il y a 1 mois
Jan
89144c453f
ui: introduce light tabbed control layout
il y a 1 mois
Jan
868bd55c7a
feat: surface applied frequency and write faults
il y a 1 mois
Jan
06056c08c8
Surface control audit telemetry
il y a 1 mois
Jan
06bf511391
control: expose request rejection audit counters
il y a 1 mois
Jan
da668863a1
Harden /audio/stream uploads
il y a 1 mois
Jan
25dfb6c24c
Hardening audio stream Content-Type guard
il y a 1 mois
Jan Svabenik
dd7ae483c4
control: reject unexpected bodies on control POSTs
il y a 1 mois
Jan Svabenik
002bb0a96e
control: harden HTTP server timeouts
il y a 1 mois
Jan Svabenik
b51a7da522
control: enforce JSON content type for config API
il y a 1 mois
Jan Svabenik
6df385bd37
feat: limit config request body size
il y a 1 mois
Jan Svabenik
4d6edf9f57
Add underrun streak visibility in health panel
il y a 1 mois
Jan Svabenik
4d9895918a
feat: show queue fill telemetry
il y a 1 mois
Jan Svabenik
9baea0ea05
feat: add high watermark trend sparkline
il y a 1 mois
Jan Svabenik
82ed2c3485
ui: show audio buffer duration metrics
il y a 1 mois
Jan Svabenik
21a38d8ab2
ws02: expose runtime state age
il y a 1 mois
Jan Svabenik
a7549f4187
Expose runtime transition history
il y a 1 mois
Jan Svabenik
051d5f2de5
feat: add transition history visibility
il y a 1 mois
Jan Svabenik
24adbff8f2
feat: expose fault history in runtime and UI
il y a 1 mois
Jan Svabenik
14501a3925
feat: highlight runtime state transitions
il y a 1 mois
Jan Svabenik
9fbe4e5bf9
ui: show runtime state in control health
il y a 1 mois
Jan Svabenik
c2a27e71ec
ui: add manual fault reset action
il y a 1 mois
Jan Svabenik
f275e125a7
feat: add runtime fault reset path
il y a 1 mois
Jan Svabenik
91225157bf
ui: show fault telemetry in control health panel
il y a 1 mois
Jan Svabenik
5227a86f2e
Ensure audio stream handler requires POST
il y a 1 mois
Jan Svabenik
44ff130d23
feat: add explicit HTTP audio ingest mode
il y a 1 mois
Jan Svabenik
fb21dec0ed
Expose queue stats via status endpoint
il y a 1 mois
Jan Svabenik
b56012ab15
Show runtime indicator in control UI
il y a 1 mois
Jan Svabenik
b3e9f7bf45
feat: add runtime health alert
il y a 1 mois
Jan Svabenik
d39d59f1ed
Expose runtime indicator in status
il y a 1 mois
Jan Svabenik
19716e26ee
WS-03: align outputDrive and desired/applied state
il y a 1 mois
Jan Svabenik
c974224312
feat: overhaul web control UI with live status and draft handling
il y a 1 mois
Jan Svabenik
59c338ebda
feat: add live audio ingest pipeline for on-air streaming
Add a lock-free stdin PCM ingest path, streaming resampler, stereo-linked limiting and pre-MPX audio filtering, plus the engine/control wiring needed to drive live audio into TX mode. Also document the ingest API and include a helper batch script for piping ffmpeg audio into fmrtx.
il y a 1 mois
Jan Svabenik
9daa481954
feat: add embedded web UI for live TX control
Embed a browser-based control surface into the HTTP server and document the live-control API. The new UI exposes TX start/stop, runtime telemetry, frequency, levels, toggles, and RDS text updates against the existing live-config endpoints.
il y a 1 mois
Jan Svabenik
2d23a50abc
feat: live config hot-reload via POST /config (fix27)
All major TX parameters are now hot-swappable during transmission:
- DSP params (drive, stereo, pilot, RDS levels, limiter) via
atomic.Pointer[LiveParams], loaded once per chunk (~50ms)
- RDS text (PS, RT) via atomic.Value in encoder, applied at
RDS group boundaries (~88ms)
- TX frequency via driver.Tune(), applied between chunks
Zero locks in DSP path. HTTP handler writes atomics, run loop
reads them. Validation happens before store.
New: SoapyDriver.Tune() for live frequency changes.
New: LiveConfigUpdate/LivePatch types for type-safe patching.
New: 4 engine tests for live DSP/freq/RDS updates + validation.
il y a 1 mois
Jan Svabenik
d4673b647d
fix: align live MPX phase state and frame sequencing
Keep frame sequence numbers monotonic, lock the RDS carrier to the exact pilot phase used by the stereo encoder, and apply the accompanying DSP/control cleanups needed for stable live transmission behaviour.
il y a 1 mois
Jan Svabenik
0dd4156097
feat: add TX engine, runtime telemetry and explicit TX control
il y a 1 mois
Jan Svabenik
6558d7bc09
feat: expose new DSP controls across config, control API, dry-run and docs
il y a 1 mois
Jan Svabenik
fbd4a7e4c0
feat: add config patch endpoint to control api
il y a 1 mois
Jan Svabenik
dc32142cf2
feat: expose dry-run summary via control api
il y a 1 mois
Jan Svabenik
623087a6b8
feat: add dry-run pipeline and automated tests
il y a 1 mois
Jan Svabenik
1bb5692417
feat: integrate cli config and control scaffolding
il y a 1 mois