From 3121747712b7722543f36145c5a8fe455b540ff2 Mon Sep 17 00:00:00 2001 From: Alex P Date: Wed, 12 Nov 2025 09:07:22 +0200 Subject: [PATCH] Fixes / Updates: Update outside mutex comment, move outputSource, outputRelay assignments --- audio.go | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/audio.go b/audio.go index 9383a46e..df6e3763 100644 --- a/audio.go +++ b/audio.go @@ -47,17 +47,14 @@ func startAudio() error { return nil } - // Start output audio if not running and enabled - if outputSource == nil && audioOutputEnabled.Load() { + // Start output audio if not running, enabled, and we have a track + if outputSource == nil && audioOutputEnabled.Load() && currentAudioTrack != nil { alsaDevice := "hw:1,0" // USB audio outputSource = audio.NewCgoOutputSource(alsaDevice) - - if currentAudioTrack != nil { - outputRelay = audio.NewOutputRelay(outputSource, currentAudioTrack) - if err := outputRelay.Start(); err != nil { - audioLogger.Error().Err(err).Msg("Failed to start audio output relay") - } + outputRelay = audio.NewOutputRelay(outputSource, currentAudioTrack) + if err := outputRelay.Start(); err != nil { + audioLogger.Error().Err(err).Msg("Failed to start audio output relay") } } @@ -160,7 +157,7 @@ func setAudioTrack(audioTrack *webrtc.TrackLocalStaticSample) { } audioMutex.Unlock() - // Start new relay outside mutex + // Capture relay reference and start it outside mutex audioMutex.Lock() relayToStart := outputRelay audioMutex.Unlock()