From: Daniel P. Berrangé Date: Wed, 3 Mar 2021 18:06:17 +0000 (+0000) Subject: conf: rename and improve virDomainDefFindAudioForSound X-Git-Tag: v7.2.0-rc1~174 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=efdab67f441e830b20b907960755609d4ff05576;p=thirdparty%2Flibvirt.git conf: rename and improve virDomainDefFindAudioForSound 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é --- 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;