From efdab67f441e830b20b907960755609d4ff05576 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Wed, 3 Mar 2021 18:06:17 +0000 Subject: [PATCH] conf: rename and improve virDomainDefFindAudioForSound MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The virDomainDefFindAudioForSound only takes a virDomainSoundDefPtr as its arg, but we want to use the same functionality for VNC graphics. In addition if audio ID is zero, then we want to return the first available audio backend. Reviewed-by: Michal Privoznik Signed-off-by: Daniel P. Berrangé --- src/bhyve/bhyve_command.c | 2 +- src/conf/domain_conf.c | 14 +++++++++----- src/conf/domain_conf.h | 4 ++-- src/libvirt_private.syms | 2 +- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c index 3fb82d9d6e..6788a0a4c3 100644 --- a/src/bhyve/bhyve_command.c +++ b/src/bhyve/bhyve_command.c @@ -765,7 +765,7 @@ virBhyveProcessBuildBhyveCmd(bhyveConnPtr driver, virDomainDefPtr def, for (i = 0; i < def->nsounds; i++) { if (bhyveBuildSoundArgStr(def, def->sounds[i], - virDomainDefFindAudioForSound(def, def->sounds[i]), + virDomainDefFindAudioByID(def, def->sounds[i]->audioId), driver, cmd) < 0) goto error; } diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 15f439d21c..67b905fe98 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -30525,13 +30525,17 @@ virDomainDefFindDevice(virDomainDefPtr def, virDomainAudioDefPtr -virDomainDefFindAudioForSound(virDomainDefPtr def, - virDomainSoundDefPtr sound) +virDomainDefFindAudioByID(const virDomainDef *def, + int id) { size_t i; - for (i = 0; i < def->naudios; i++) - if (def->audios[i]->id == sound->audioId) - return def->audios[i]; + if (id != 0) { + for (i = 0; i < def->naudios; i++) + if (def->audios[i]->id == id) + return def->audios[i]; + } else if (def->naudios) { + return def->audios[0]; + } return NULL; } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 216d097f5e..62c78ba988 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3813,8 +3813,8 @@ int virDomainDefFindDevice(virDomainDefPtr def, bool reportError); virDomainAudioDefPtr -virDomainDefFindAudioForSound(virDomainDefPtr def, - virDomainSoundDefPtr sound); +virDomainDefFindAudioByID(const virDomainDef *def, + int id); bool virDomainSoundModelSupportsCodecs(virDomainSoundDefPtr def); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index a1ff1130e2..580c03e796 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -300,7 +300,7 @@ virDomainDefCheckABIStability; virDomainDefCheckABIStabilityFlags; virDomainDefCompatibleDevice; virDomainDefCopy; -virDomainDefFindAudioForSound; +virDomainDefFindAudioByID; virDomainDefFindDevice; virDomainDefFormat; virDomainDefFormatConvertXMLFlags;