Compare commits

...

2 Commits

1 changed files with 30 additions and 0 deletions

View File

@ -964,6 +964,21 @@ func rpcSetUsbDevices(usbDevices usbgadget.Devices) error {
logger.Info().Msg("audio input manager stopped") logger.Info().Msg("audio input manager stopped")
} }
// Stop global audio input supervisor if active
audioInputSupervisor := audio.GetAudioInputSupervisor()
if audioInputSupervisor != nil && audioInputSupervisor.IsRunning() {
logger.Info().Msg("stopping global audio input supervisor")
audioInputSupervisor.Stop()
// Wait for audio input supervisor to fully stop
for i := 0; i < 50; i++ { // Wait up to 5 seconds
if !audioInputSupervisor.IsRunning() {
break
}
time.Sleep(100 * time.Millisecond)
}
logger.Info().Msg("global audio input supervisor stopped")
}
// Stop audio output supervisor // Stop audio output supervisor
if audioSupervisor != nil && audioSupervisor.IsRunning() { if audioSupervisor != nil && audioSupervisor.IsRunning() {
logger.Info().Msg("stopping audio output supervisor") logger.Info().Msg("stopping audio output supervisor")
@ -1058,6 +1073,21 @@ func rpcSetUsbDeviceState(device string, enabled bool) error {
logger.Info().Msg("audio input manager stopped") logger.Info().Msg("audio input manager stopped")
} }
// Stop global audio input supervisor if active
audioInputSupervisor := audio.GetAudioInputSupervisor()
if audioInputSupervisor != nil && audioInputSupervisor.IsRunning() {
logger.Info().Msg("stopping global audio input supervisor")
audioInputSupervisor.Stop()
// Wait for audio input supervisor to fully stop
for i := 0; i < 50; i++ { // Wait up to 5 seconds
if !audioInputSupervisor.IsRunning() {
break
}
time.Sleep(100 * time.Millisecond)
}
logger.Info().Msg("global audio input supervisor stopped")
}
// Stop audio output supervisor // Stop audio output supervisor
if audioSupervisor != nil && audioSupervisor.IsRunning() { if audioSupervisor != nil && audioSupervisor.IsRunning() {
logger.Info().Msg("stopping audio output supervisor") logger.Info().Msg("stopping audio output supervisor")