From ce23f9c2a72c0935ea8b543073a1edfbd4c07193 Mon Sep 17 00:00:00 2001 From: Fedor Korotkov Date: Tue, 17 Sep 2024 02:40:37 -0700 Subject: [PATCH] Completely disable audio devices in case of `--no-audio` (#904) This way VM won't have empty audio device at all. This should fix with an issue like that https://github.com/actions/runner-images/issues/9330 --- Sources/tart/VM.swift | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Sources/tart/VM.swift b/Sources/tart/VM.swift index ba3e8fa..c9d02fd 100644 --- a/Sources/tart/VM.swift +++ b/Sources/tart/VM.swift @@ -317,15 +317,19 @@ class VM: NSObject, VZVirtualMachineDelegate, ObservableObject { // Audio let soundDeviceConfiguration = VZVirtioSoundDeviceConfiguration() - let inputAudioStreamConfiguration = VZVirtioSoundDeviceInputStreamConfiguration() - let outputAudioStreamConfiguration = VZVirtioSoundDeviceOutputStreamConfiguration() - if audio && !suspendable { + let inputAudioStreamConfiguration = VZVirtioSoundDeviceInputStreamConfiguration() + let outputAudioStreamConfiguration = VZVirtioSoundDeviceOutputStreamConfiguration() + inputAudioStreamConfiguration.source = VZHostAudioInputStreamSource() outputAudioStreamConfiguration.sink = VZHostAudioOutputStreamSink() + + soundDeviceConfiguration.streams = [inputAudioStreamConfiguration, outputAudioStreamConfiguration] + } else { + // just a null speaker + soundDeviceConfiguration.streams = [VZVirtioSoundDeviceOutputStreamConfiguration()] } - soundDeviceConfiguration.streams = [inputAudioStreamConfiguration, outputAudioStreamConfiguration] configuration.audioDevices = [soundDeviceConfiguration] // Keyboard and mouse