From 62df27694bd60fbd209c43e86f9c753db2d744e7 Mon Sep 17 00:00:00 2001 From: Nikolay Edigaryev Date: Thu, 18 Jul 2024 18:59:52 +0400 Subject: [PATCH] --no-audio: only disable the source and sink 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 5cdf5b58..0096ac64 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()