Fixes / Updates: Update outside mutex comment, move outputSource, outputRelay assignments

This commit is contained in:
Alex P 2025-11-12 09:07:22 +02:00
parent fcf072d9db
commit 3121747712
1 changed files with 6 additions and 9 deletions

View File

@ -47,19 +47,16 @@ func startAudio() error {
return nil return nil
} }
// Start output audio if not running and enabled // Start output audio if not running, enabled, and we have a track
if outputSource == nil && audioOutputEnabled.Load() { if outputSource == nil && audioOutputEnabled.Load() && currentAudioTrack != nil {
alsaDevice := "hw:1,0" // USB audio alsaDevice := "hw:1,0" // USB audio
outputSource = audio.NewCgoOutputSource(alsaDevice) outputSource = audio.NewCgoOutputSource(alsaDevice)
if currentAudioTrack != nil {
outputRelay = audio.NewOutputRelay(outputSource, currentAudioTrack) outputRelay = audio.NewOutputRelay(outputSource, currentAudioTrack)
if err := outputRelay.Start(); err != nil { if err := outputRelay.Start(); err != nil {
audioLogger.Error().Err(err).Msg("Failed to start audio output relay") audioLogger.Error().Err(err).Msg("Failed to start audio output relay")
} }
} }
}
// Start input audio if not running, USB audio enabled, and input enabled // Start input audio if not running, USB audio enabled, and input enabled
ensureConfigLoaded() ensureConfigLoaded()
@ -160,7 +157,7 @@ func setAudioTrack(audioTrack *webrtc.TrackLocalStaticSample) {
} }
audioMutex.Unlock() audioMutex.Unlock()
// Start new relay outside mutex // Capture relay reference and start it outside mutex
audioMutex.Lock() audioMutex.Lock()
relayToStart := outputRelay relayToStart := outputRelay
audioMutex.Unlock() audioMutex.Unlock()