From ed930667a1c97e99f44c3d9b105883c60984279f Mon Sep 17 00:00:00 2001 From: rouggy Date: Fri, 31 Jul 2026 00:22:44 +0200 Subject: [PATCH] fix: stop warning about a silent mic when the radio is streaming MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The log read: recorder: the second audio source is silent — recording the radio alone recorder: no audio at all from "DAX Mic" after 3 s — nothing is streaming Both true, and together they read as a fault while the recording was going perfectly well — it was saved seconds later. On CW the mic channel legitimately delivers nothing; the mixer already said what it was doing about it. The watchdog now mentions the mic only when the radio is silent too, which is the case where the recording really is empty. --- internal/audio/recorder.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/audio/recorder.go b/internal/audio/recorder.go index 2b2f9d3..42648a4 100644 --- a/internal/audio/recorder.go +++ b/internal/audio/recorder.go @@ -225,8 +225,12 @@ func (r *Recorder) Start(fromDev, micDev string, prerollSec int) error { LogSink("recorder: no audio at all from %q after 3 s — the device opened but nothing is streaming", DeviceName(fromDev)) AlertSink("No audio from %s — nothing is being recorded", DeviceName(fromDev)) } - if twoSrc && bQuiet { - LogSink("recorder: no audio at all from %q after 3 s — the device opened but nothing is streaming", DeviceName(micDev)) + // The mic is only worth a warning when the RADIO is silent too. On CW the + // mic channel legitimately delivers nothing, and the mixer has already + // said "recording the radio alone" — repeating it as an alarm made the log + // read as if something were broken while the recording was going fine. + if twoSrc && bQuiet && aQuiet { + LogSink("recorder: no audio at all from %q either", DeviceName(micDev)) } }()