From 4ed73bc7753a491b22208a13f49b4517cc6af97d Mon Sep 17 00:00:00 2001 From: Nikolay Edigaryev Date: Thu, 18 Jul 2024 19:10:44 +0400 Subject: [PATCH] --no-audio: only disable the source and sink (#869) To prevent crashes in the guest when playing or recording audio. --- Sources/tart/VM.swift | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Sources/tart/VM.swift b/Sources/tart/VM.swift index 5cdf5b5..0096ac6 100644 --- a/Sources/tart/VM.swift +++ b/Sources/tart/VM.swift @@ -312,16 +312,19 @@ class VM: NSObject, VZVirtualMachineDelegate, ObservableObject { configuration.graphicsDevices = [vmConfig.platform.graphicsDevice(vmConfig: vmConfig)] // Audio + let soundDeviceConfiguration = VZVirtioSoundDeviceConfiguration() + + let inputAudioStreamConfiguration = VZVirtioSoundDeviceInputStreamConfiguration() + let outputAudioStreamConfiguration = VZVirtioSoundDeviceOutputStreamConfiguration() + if audio && !suspendable { - let soundDeviceConfiguration = VZVirtioSoundDeviceConfiguration() - let inputAudioStreamConfiguration = VZVirtioSoundDeviceInputStreamConfiguration() inputAudioStreamConfiguration.source = VZHostAudioInputStreamSource() - let outputAudioStreamConfiguration = VZVirtioSoundDeviceOutputStreamConfiguration() outputAudioStreamConfiguration.sink = VZHostAudioOutputStreamSink() - soundDeviceConfiguration.streams = [inputAudioStreamConfiguration, outputAudioStreamConfiguration] - configuration.audioDevices = [soundDeviceConfiguration] } + soundDeviceConfiguration.streams = [inputAudioStreamConfiguration, outputAudioStreamConfiguration] + configuration.audioDevices = [soundDeviceConfiguration] + // Keyboard and mouse configuration.keyboards = vmConfig.platform.keyboards() configuration.pointingDevices = vmConfig.platform.pointingDevices()