mirror of
git://git.proxmox.com/git/qemu-server.git
synced 2025-01-10 01:18:01 +03:00
audio dev: specify qemu audio backend
QEMU 4 adds the `-audiodev` parameter to explicitly specify the audio backend. Setting it avoids occasional error messages when starting a virtual machine with an audio device and qemu wants to connect it to the physical audio device. For now only SPICE is supported as it's also the biggest use case. Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
This commit is contained in:
parent
c30e80aba9
commit
1448547f44
@ -267,6 +267,21 @@ my $ivshmem_fmt = {
|
||||
},
|
||||
};
|
||||
|
||||
my $audio_fmt = {
|
||||
device => {
|
||||
type => 'string',
|
||||
enum => [qw(ich9-intel-hda intel-hda AC97)],
|
||||
description => "Configure an audio device."
|
||||
},
|
||||
driver => {
|
||||
type => 'string',
|
||||
enum => ['spice'],
|
||||
default => 'spice',
|
||||
optional => 1,
|
||||
description => "Driver backend for the audio device."
|
||||
},
|
||||
};
|
||||
|
||||
my $confdesc = {
|
||||
onboot => {
|
||||
optional => 1,
|
||||
@ -640,7 +655,7 @@ EODESCR
|
||||
},
|
||||
audio0 => {
|
||||
type => 'string',
|
||||
enum => [qw(ich9-intel-hda intel-hda AC97)],
|
||||
format => $audio_fmt,
|
||||
description => "Configure a audio device, useful in combination with QXL/Spice.",
|
||||
optional => 1
|
||||
},
|
||||
@ -3786,7 +3801,10 @@ sub config_to_command {
|
||||
}
|
||||
}
|
||||
|
||||
if (my $audiodevice = $conf->{audio0}) {
|
||||
if ($conf->{audio0}) {
|
||||
my $audioproperties = PVE::JSONSchema::parse_property_string($audio_fmt, $conf->{audio0});
|
||||
my $audiodevice = $audioproperties->{device};
|
||||
my $audiodriver = $audioproperties->{driver} // 'spice';
|
||||
my $audiopciaddr = print_pci_addr("audio0", $bridges, $arch, $machine_type);
|
||||
|
||||
if ($audiodevice eq 'AC97') {
|
||||
@ -3798,6 +3816,8 @@ sub config_to_command {
|
||||
} else {
|
||||
die "unkown audio device '$audiodevice', implement me!";
|
||||
}
|
||||
|
||||
push @$devices, '-audiodev', "${audiodriver},id=${audiodriver}-driver";
|
||||
}
|
||||
|
||||
my $sockets = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user