From 2695cf437e127ce6cdb33d4ea51a612d47934257 Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Wed, 12 Nov 2025 12:20:55 +0300 Subject: Fix: supressed alsa warnings --- extra/stt.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'extra/stt.go') diff --git a/extra/stt.go b/extra/stt.go index 3809487..fd9e419 100644 --- a/extra/stt.go +++ b/extra/stt.go @@ -12,6 +12,7 @@ import ( "net/http" "regexp" "strings" + "syscall" "github.com/gordonklaus/portaudio" ) @@ -145,6 +146,21 @@ func (stt *WhisperServer) IsRecording() bool { } func (stt *WhisperServer) microphoneStream(sampleRate int) error { + // Temporarily redirect stderr to suppress ALSA warnings during PortAudio init + origStderr, err := syscall.Dup(syscall.Stderr) + nullFD, err := syscall.Open("/dev/null", syscall.O_WRONLY, 0) + if err != nil { + return fmt.Errorf("failed to open /dev/null: %w", err) + } + // redirect stderr + syscall.Dup2(nullFD, syscall.Stderr) + // Initialize PortAudio (this is where ALSA warnings occur) + defer func() { + // Restore stderr + syscall.Dup2(origStderr, syscall.Stderr) + syscall.Close(origStderr) + syscall.Close(nullFD) + }() if err := portaudio.Initialize(); err != nil { return fmt.Errorf("portaudio init failed: %w", err) } -- cgit v1.2.3