From nobody Mon May 20 01:02:19 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1696510743; cv=none; d=zohomail.com; s=zohoarc; b=aPzG1esA98xFx6qGW3VzRzWFs21oSFQ1jV4b6daBgKADoeP3tuK6xJmPKyxkwyIw9AmvR5upj78WpNTVXOzOuqynpv86p8Eo5m/FAYHbd2bQoV+CLaaMh987rbe5WfsW4WhQpdWb/yYe9RPD5NUQh+zzEinAeUx/TBbgc3i4ixk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696510743; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Ed06irNTewW21WPI2pKDoWbJ0mZWVCO4roCwazcqpEM=; b=IBeielIlkR//i2wHfpKVvBVhY8McRRaTYBZi8UTTTkMILdGNPKIb7xOwnO1kq22Z8xtGYJ03hsq8p81laktikvXaXdQTiSMbNuST+qY7VZa1qWP1EgOiY/ygXQ0uel3hxSwBZcsHmrAvPovvij2saf/gxzGEPhlFZB3uvU15AgU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696510743121702.9284298482495; Thu, 5 Oct 2023 05:59:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qoNvu-0007Sf-8Z; Thu, 05 Oct 2023 08:58:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNvs-0007RG-FS for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:25 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNvq-0007it-RH for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:24 -0400 Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-500-QzYPirfHNE2JHgtA9mueJw-1; Thu, 05 Oct 2023 08:58:20 -0400 Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-99bca0b9234so79970066b.2 for ; Thu, 05 Oct 2023 05:58:20 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:9af8:e5f5:7516:fa89]) by smtp.gmail.com with ESMTPSA id g20-20020a17090613d400b009b96e88759bsm1211085ejc.13.2023.10.05.05.58.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Oct 2023 05:58:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696510702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ed06irNTewW21WPI2pKDoWbJ0mZWVCO4roCwazcqpEM=; b=d1NilcgcJJGXcA8PjRiJsTa3HY4iAfvUjDtcLmH3dS9Ffsxciq0Gn4UTl+LZVzXLXUk8If 7kCia/hDsk4yhaOTxhDVpfV+yXILqNFnz+XfUQNs4ZOTLO0VjNDMyVbEd8I9KmweMiDtSN 4SAXZnKP7ZhJ7BQFR20sHTuPtkDw7Sc= X-MC-Unique: QzYPirfHNE2JHgtA9mueJw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696510698; x=1697115498; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ed06irNTewW21WPI2pKDoWbJ0mZWVCO4roCwazcqpEM=; b=WyORhf7Zhn16WxWEF9P3hzKcboZiJF+J9lQIkvzKkNzbylz2uPvIm0K4gG/RqHQbrt 2GRd/+/XFlcI47VFZpDCG45ETNcgGmLeT3ZFkiT7l/e+gAeKXATNbahdoaJ9VvAi1NoI Y42erj3nnYntyvQ4CQ36oCOz0U8BKYJ8v2nrR256MkpcUgoMfyb6YXwSiuxFnvWa5RWH eFfNNcx7dFMVTsUewAVw2a1NakgfsS8yixV6viD59rGBQByiAghUGk7UttxI9LUlsYz1 pzmNrxdLUSivyhpZW1ZaHjrodJIhT5bAoiT+kC0xb0hL4ukzknsN4sexNLnn91NQnECd Twnw== X-Gm-Message-State: AOJu0YzV6MZWeuTaoV66FuzEzve9GORQLNyDBbUwg1rF+HVKhCZfeSWf trlOl/conX+RNTaof1Hb5OHqNyFgKjEKvbCCg9t5SQ39NKC++buShE1rxknv7JkXH3hCXZZgYoa o2mN/GyID52fnOdrZUZC+QbEgV71q2yI3wlBSCoU6HDNclXWLdpwEn04qi4Lkb9fMyoguelacqB I= X-Received: by 2002:a17:906:74ce:b0:9ad:fcf8:e81b with SMTP id z14-20020a17090674ce00b009adfcf8e81bmr4925382ejl.51.1696510698775; Thu, 05 Oct 2023 05:58:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGV51rOF36/nsISJETnOlThXYjP7D1mjvSkqF2hcYjjImLMC6I4h1wvOIcLXjemYjYJKfsZ9Q== X-Received: by 2002:a17:906:74ce:b0:9ad:fcf8:e81b with SMTP id z14-20020a17090674ce00b009adfcf8e81bmr4925368ejl.51.1696510698473; Thu, 05 Oct 2023 05:58:18 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: balaton@eik.bme.hu, berrange@redhat.com Subject: [PATCH 1/7] audio: error hints need a trailing \n Date: Thu, 5 Oct 2023 14:58:09 +0200 Message-ID: <20231005125815.66082-2-pbonzini@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231005125815.66082-1-pbonzini@redhat.com> References: <20231005125815.66082-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1696510744758100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- audio/audio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/audio/audio.c b/audio/audio.c index 730bf2498dc..98621576d95 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -1833,7 +1833,7 @@ bool AUD_register_card (const char *name, QEMUSoundCa= rd *card, Error **errp) card->state =3D audio_init(NULL, errp); if (!card->state) { if (!QSIMPLEQ_EMPTY(&audiodevs)) { - error_append_hint(errp, "Perhaps you wanted to set aud= iodev=3D%s?", + error_append_hint(errp, "Perhaps you wanted to set aud= iodev=3D%s?\n", QSIMPLEQ_FIRST(&audiodevs)->dev->id); } return false; --=20 2.41.0 From nobody Mon May 20 01:02:19 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1696510748; cv=none; d=zohomail.com; s=zohoarc; b=lUwebapcSJNOOMEHSiVkkjoOXa9qk3Ghf7vGHsZJFFSNe3HL9cA1IEqcjn5cnAcRyzzpNIEZB0ZjbW/VAY95woH3X7Az1AkXGSqQBcbxozf41KdOSUzQwv34zjmrJ3NjFgCrG6mxGrvWr4NfV07jSz//taUhqx+PY6RLjDoHhr8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696510748; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=56gD9LiJ9JhIxV8idQkrgm/6AWds9v7CIJGV5JGQgHc=; b=aqjM2jUYoho4plrEicxQ+1Yy7HMljU7xrXbjHc8faKeBL4QxdEQvOVsFeRj1o/lgLImskq4W5PAnxoprl1THl7cPC9HfBgL+GeMWpYgD7JEkMyzMCjD3Py55a5HyClQHgIIJ7Ceu00wc/TlZ4IvULFa/EKwJWf8Oz7jAQaPqezM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696510748536302.6713432265499; Thu, 5 Oct 2023 05:59:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qoNw6-0007ph-93; Thu, 05 Oct 2023 08:58:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNw4-0007l0-8o for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:36 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNw2-0007ku-N0 for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:35 -0400 Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-451-ejfdqXqOPWekL43shOmSqQ-1; Thu, 05 Oct 2023 08:58:22 -0400 Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-9b2e3f315d5so115570566b.1 for ; Thu, 05 Oct 2023 05:58:22 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:9af8:e5f5:7516:fa89]) by smtp.gmail.com with ESMTPSA id fi10-20020a170906da0a00b009ad8796a6aesm1169277ejb.56.2023.10.05.05.58.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Oct 2023 05:58:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696510713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=56gD9LiJ9JhIxV8idQkrgm/6AWds9v7CIJGV5JGQgHc=; b=TvOV+XXDzQQebwEzCoPXFpPn2N7eKjHPVspVCE9fQdNvvHR4j20rJCPftFH/xq4bZX/cvS 0X5BSxSs8aTfHWZF6chWeHRtNKGbnsteKHAtTVABgiZLx+f7gi8/EJms4UQBKYmeftYFx5 vYO5bS5W/oVn6i7PXgKM7TnG3ZXzAsw= X-MC-Unique: ejfdqXqOPWekL43shOmSqQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696510700; x=1697115500; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=56gD9LiJ9JhIxV8idQkrgm/6AWds9v7CIJGV5JGQgHc=; b=ZxCxeNI149iH2v8HDL+CgR25AcTN0GLg9Glm8KK+hlydhG35BIzbMP429Rd3CCIC+v S4bZjvvdmg1pfio2Yb75G299kRQ420s0+8U/xEiEwGQ4rU1e5XWWiJBOfwpSIVvc+/7G IGh2kFFbcbikMkQbzYqwjFH2IDiJ0BO121wtCEIRDF302mRLxhZvkleCXpA4W5JDCDQS nVuFle4bSvooLMpTHuHXYPuwiYUksxrZPfJj4b6pMJPb/LUQgmpyQ2UQrDTCFpHh3TJg XPkFi/qNxc2nZ2pfqR2kuAsCtOAClEPP28D3v4tuzr+GvEy47gRu37uyWy2YOSHMYh8R 9U2Q== X-Gm-Message-State: AOJu0Yxnl+dZLOjMBQ2klDHw6xddh9e/XbWKBBlpXacy8s6HNOCzoocB W0PFwuONx0Y9A2qtWpNWA3GvGF+6emhMTFMu5VsoLcxShixn5bRBmWOfwEZWrvktTY4tKf6Ul59 5+v040iD/GFHduXLfatAMd1zM7PUP6F74xWFdRMPfDn9CnbwhRZ2ZXKYFSmfQOy/5AuaIXYRmgH 8= X-Received: by 2002:a17:906:3158:b0:9ae:5df2:2291 with SMTP id e24-20020a170906315800b009ae5df22291mr2238969eje.1.1696510700672; Thu, 05 Oct 2023 05:58:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGCSML6oqxPpqceQXNMQ8hZwc8FN5iLh0duYMm2kjCIdeTxVblPOv2tT4FYsfr6xXi4wtaDsw== X-Received: by 2002:a17:906:3158:b0:9ae:5df2:2291 with SMTP id e24-20020a170906315800b009ae5df22291mr2238955eje.1.1696510700316; Thu, 05 Oct 2023 05:58:20 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: balaton@eik.bme.hu, berrange@redhat.com Subject: [PATCH 2/7] audio: disable default backends if -audio/-audiodev is used Date: Thu, 5 Oct 2023 14:58:10 +0200 Message-ID: <20231005125815.66082-3-pbonzini@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231005125815.66082-1-pbonzini@redhat.com> References: <20231005125815.66082-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1696510750710100003 Content-Type: text/plain; charset="utf-8" Match what is done for other options, for example -monitor. Require the user to specify a backend if one is specified on the command line. Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- audio/audio.c | 9 +-------- audio/audio.h | 1 + docs/about/removed-features.rst | 4 ++++ system/vl.c | 7 +++++++ 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/audio/audio.c b/audio/audio.c index 98621576d95..67a7e25254d 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -1688,14 +1688,10 @@ static const VMStateDescription vmstate_audio =3D { =20 static void audio_validate_opts(Audiodev *dev, Error **errp); =20 -static void audio_create_default_audiodevs(void) +void audio_create_default_audiodevs(void) { const char *drvname =3D getenv("QEMU_AUDIO_DRV"); =20 - if (!defaults_enabled()) { - return; - } - /* QEMU_AUDIO_DRV=3Dnone is used by libqtest. */ if (drvname && !g_str_equal(drvname, "none")) { error_report("Please use -audiodev instead of QEMU_AUDIO_*"); @@ -1827,9 +1823,6 @@ bool AUD_register_card (const char *name, QEMUSoundCa= rd *card, Error **errp) } card->state =3D QTAILQ_FIRST(&audio_states); } else { - if (QSIMPLEQ_EMPTY(&default_audiodevs)) { - audio_create_default_audiodevs(); - } card->state =3D audio_init(NULL, errp); if (!card->state) { if (!QSIMPLEQ_EMPTY(&audiodevs)) { diff --git a/audio/audio.h b/audio/audio.h index 80f3f92124d..53b1d7e6227 100644 --- a/audio/audio.h +++ b/audio/audio.h @@ -170,6 +170,7 @@ void audio_sample_from_uint64(void *samples, int pos, =20 void audio_define(Audiodev *audio); void audio_parse_option(const char *opt); +void audio_create_default_audiodevs(void); void audio_init_audiodevs(void); void audio_help(void); =20 diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.= rst index e83ed087f6b..58c94392c65 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -442,6 +442,10 @@ line using a ``secret`` object instance. The ``-audiodev`` and ``-audio`` command line options are now the only way to specify audio backend settings. =20 +QEMU does not create default audio backends anymore if any of the +``-audiodev``, ``-audio`` or ``-nodefaults`` options are used on the +command line. + Creating vnc without ``audiodev=3D`` property (removed in 8.2) '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =20 diff --git a/system/vl.c b/system/vl.c index 98e071e63bb..7ca92d4490d 100644 --- a/system/vl.c +++ b/system/vl.c @@ -184,6 +184,7 @@ static const char *qtest_log; static bool opt_one_insn_per_tb; =20 static int has_defaults =3D 1; +static int default_audio =3D 1; static int default_serial =3D 1; static int default_parallel =3D 1; static int default_monitor =3D 1; @@ -1327,6 +1328,7 @@ static void qemu_disable_default_devices(void) default_sdcard =3D 0; } if (!has_defaults) { + default_audio =3D 0; default_monitor =3D 0; default_net =3D 0; default_vga =3D 0; @@ -1963,6 +1965,9 @@ static void qemu_create_early_backends(void) */ configure_blockdev(&bdo_queue, machine_class, snapshot); audio_init_audiodevs(); + if (default_audio) { + audio_create_default_audiodevs(); + } } =20 =20 @@ -2925,6 +2930,7 @@ void qemu_init(int argc, char **argv) break; #endif case QEMU_OPTION_audiodev: + default_audio =3D 0; audio_parse_option(optarg); break; case QEMU_OPTION_audio: { @@ -2933,6 +2939,7 @@ void qemu_init(int argc, char **argv) Audiodev *dev =3D NULL; Visitor *v; QDict *dict =3D keyval_parse(optarg, "driver", &help, &err= or_fatal); + default_audio =3D 0; if (help || (qdict_haskey(dict, "driver") && is_help_option(qdict_get_str(dict, "driver"))= )) { audio_help(); --=20 2.41.0 From nobody Mon May 20 01:02:19 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1696510736; cv=none; d=zohomail.com; s=zohoarc; b=PaLDlglgZcCrAavlj0FdeuVK2xqAkvbSE1IsX4MvT85DLCrw1j0EaN6CHJD6dsu+BfOvN12pHcy0hipPeChggHYE9DsL0AzS+zI5qcz2zH+BpLQYErmD5nDuXhbZP/l/O3Gc9LDRXm/whWW+TMVz4WpEvHo0JM5ei3YwIYCt5V0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696510736; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Y74XaLKPNvZ4tiIsqb/xX6c+OAaFPUBziGb5PsVpi0k=; b=DrKNNAvz9U/8m9G6tJLD9wGjIIcJV8IFluH09lr5lkm90p4ujSSOW+O1SKyg5JDYDdRj1jJvdozSTHnsuaIYArvetoaU9ovLtvML7AvMQ4ADMBxC6FzRJTqxjnGM7MZr6kk/ZVyYobKkBHsf8zFJXFD274lAh1dDPWd0GnneDGo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696510736411726.2214951004885; Thu, 5 Oct 2023 05:58:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qoNw8-0007un-Rc; Thu, 05 Oct 2023 08:58:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNw7-0007sA-1n for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:39 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNw5-0007lS-CB for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:38 -0400 Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-222-3tjjWtMJNXikaW2HC38nfg-1; Thu, 05 Oct 2023 08:58:24 -0400 Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-9b2cf504e3aso82194066b.2 for ; Thu, 05 Oct 2023 05:58:24 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:9af8:e5f5:7516:fa89]) by smtp.gmail.com with ESMTPSA id qq16-20020a17090720d000b0099bd046170fsm1137436ejb.104.2023.10.05.05.58.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Oct 2023 05:58:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696510715; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Y74XaLKPNvZ4tiIsqb/xX6c+OAaFPUBziGb5PsVpi0k=; b=CIhpZT9AWmTUHABgOOkdov3Hscd9K2BS2cURn1ogc4vM6fHSEZspSS3cBtt4ZrbU/nNe5R zxvlhi9zPWmT7hD1cG8loi6/tiKv0cELn/pWSZbNHqb47eYg9i2l5j6hD4HUZ2cisbWGgT t1xQaXi63p1IeINaOI5rkT5mazuQQAY= X-MC-Unique: 3tjjWtMJNXikaW2HC38nfg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696510702; x=1697115502; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Y74XaLKPNvZ4tiIsqb/xX6c+OAaFPUBziGb5PsVpi0k=; b=ebL2fgJioJyIAbUDtuwxPMA5HAGXoEr+eAb6Nt9xQYrS/37uv01DWbC1vtr920Yldn eEIVQr8BHDe/W4+2VAxP1fepG+NpbfpbzFZVp2cxeQ3ZOcz/MuM1c+3Bb/sLWG++Sw7P ARhvGafzLr2NwODhtbMiQyFCCHVQTExTOPPkxtOOO9pDlHHcE4E9kwh356BJ54JrDABC ytzEkB6uugnkjr6hHXhrw8oDLJ01Xvqt342vcyIaPyaCGbS2f0D2pFXOez6TXa6k/xJ2 K1zoHt/Lk7RO8FgIsXV6dM4rrGR9wtwg+bFZYDvs3xTyq+qiRFM7cRdwWNUZxAxq6gXE zfyA== X-Gm-Message-State: AOJu0YwRV5woPqh91RpvfAqRHdo5RZvkwGdUJU2lwDqgbJMA9yL1h3oA 3IcoIFTYeRzVv8H4bmRWqjh2lZcUPmzq4J89JkIXaEkTfaZ+jtMLAvMxGF6Obz9lKVU9HVCuu3m vEkibdrQKqLQCgOM/6LdznR3x2mT+a7azxtDFJ1tPIQKaZAgpoL00IOpH1Ra3eHMD6M8qYtsXLS s= X-Received: by 2002:a17:907:7797:b0:9a3:faf:7aaa with SMTP id ky23-20020a170907779700b009a30faf7aaamr4637266ejc.15.1696510702658; Thu, 05 Oct 2023 05:58:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEaSszJ5EP4rBgpMz7JMmohFm8+EqbsVJqQXFMX5RJ4COWrEAA+brWcBMQWyDAVW8nxSAAR/A== X-Received: by 2002:a17:907:7797:b0:9a3:faf:7aaa with SMTP id ky23-20020a170907779700b009a30faf7aaamr4637244ejc.15.1696510702203; Thu, 05 Oct 2023 05:58:22 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: balaton@eik.bme.hu, berrange@redhat.com Subject: [PATCH 3/7] audio: extract audio_define_default Date: Thu, 5 Oct 2023 14:58:11 +0200 Message-ID: <20231005125815.66082-4-pbonzini@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231005125815.66082-1-pbonzini@redhat.com> References: <20231005125815.66082-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1696510738922100001 Content-Type: text/plain; charset="utf-8" It will be used soon to define a default audio device from the command line. Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- audio/audio.c | 19 ++++++++++++------- audio/audio.h | 1 + 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/audio/audio.c b/audio/audio.c index 67a7e25254d..186cc4d336e 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -1686,8 +1686,6 @@ static const VMStateDescription vmstate_audio =3D { } }; =20 -static void audio_validate_opts(Audiodev *dev, Error **errp); - void audio_create_default_audiodevs(void) { const char *drvname =3D getenv("QEMU_AUDIO_DRV"); @@ -1706,7 +1704,6 @@ void audio_create_default_audiodevs(void) if (audio_driver_lookup(audio_prio_list[i])) { QDict *dict =3D qdict_new(); Audiodev *dev =3D NULL; - AudiodevListEntry *e; Visitor *v; =20 qdict_put_str(dict, "driver", audio_prio_list[i]); @@ -1717,10 +1714,7 @@ void audio_create_default_audiodevs(void) visit_type_Audiodev(v, NULL, &dev, &error_fatal); visit_free(v); =20 - audio_validate_opts(dev, &error_abort); - e =3D g_new0(AudiodevListEntry, 1); - e->dev =3D dev; - QSIMPLEQ_INSERT_TAIL(&default_audiodevs, e, next); + audio_define_default(dev, &error_abort); } } } @@ -2165,6 +2159,17 @@ void audio_define(Audiodev *dev) QSIMPLEQ_INSERT_TAIL(&audiodevs, e, next); } =20 +void audio_define_default(Audiodev *dev, Error **errp) +{ + AudiodevListEntry *e; + + audio_validate_opts(dev, errp); + + e =3D g_new0(AudiodevListEntry, 1); + e->dev =3D dev; + QSIMPLEQ_INSERT_TAIL(&default_audiodevs, e, next); +} + void audio_init_audiodevs(void) { AudiodevListEntry *e; diff --git a/audio/audio.h b/audio/audio.h index 53b1d7e6227..6da5e8f6f0f 100644 --- a/audio/audio.h +++ b/audio/audio.h @@ -169,6 +169,7 @@ void audio_sample_from_uint64(void *samples, int pos, uint64_t left, uint64_t right); =20 void audio_define(Audiodev *audio); +void audio_define_default(Audiodev *dev, Error **errp); void audio_parse_option(const char *opt); void audio_create_default_audiodevs(void); void audio_init_audiodevs(void); --=20 2.41.0 From nobody Mon May 20 01:02:19 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1696510831; cv=none; d=zohomail.com; s=zohoarc; b=XQ8zRsOOi5CJ1JKC5n8eSOLN1+lmnH7ckHdjy9TSSp/80nNoXtY31t9uzeWv2YeOQ6h9vxEfkj+eDMis+6R/SzagqGSIw/TXUdcrgpbpJPrXNCSc6Ur6EMe3a/Yu23hiKsUZw2giTcjZpvXcqZJNPzXfy19VkGwljJiobZbpDvw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696510831; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+UN/2lHlsKjyWdODn3no2MX1PZjTG24Zr1xY9Gvy6c0=; b=G/GI9qQjGZ6YisR915GQpY2kkAmQrRJwajipNl1iRB/HGXj/JBhUdmwTzZ62BtyU/YQ/lp+wBER3tCUXHxMzpS5OCZErc15TfLSWkiPSY1OfoCcxAPVxYkfFZs/w02xKjFIHJ8CfYtkmMHo0hivni2JP5brb+p9E9SG9Pk0ZByE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696510831599673.9046119144155; Thu, 5 Oct 2023 06:00:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qoNwX-0000AM-3G; Thu, 05 Oct 2023 08:59:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNwL-0008K8-RE for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:53 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNwC-0007m9-24 for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:49 -0400 Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-477-_YVPUlBbM-SCEoQp2fbD0w-1; Thu, 05 Oct 2023 08:58:26 -0400 Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-9b274cc9636so87712766b.0 for ; Thu, 05 Oct 2023 05:58:25 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:9af8:e5f5:7516:fa89]) by smtp.gmail.com with ESMTPSA id h13-20020a17090619cd00b009ae587ce135sm1151954ejd.223.2023.10.05.05.58.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Oct 2023 05:58:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696510721; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+UN/2lHlsKjyWdODn3no2MX1PZjTG24Zr1xY9Gvy6c0=; b=MEjEIujan8WNARpv6MJ3bm/LPQlgsm4g60ezwxfqjpFWsypOrVj+95EdnKLDTKeqS3FyyL lFW+YAu2E9YDBnU9KTUCdzmz1S8ZD376i8sB/JRRF/+MLQXjp6vM07eUZTYmlXIztlp1w3 GvbdfjblG4LqmsFEmI4oOZUpe88yL/k= X-MC-Unique: _YVPUlBbM-SCEoQp2fbD0w-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696510704; x=1697115504; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+UN/2lHlsKjyWdODn3no2MX1PZjTG24Zr1xY9Gvy6c0=; b=i4GxSqnA3elcJVHpJrlHXA6GJkev+eAMoMCJmySywD2XBFwNL0i8veMWEErh/xni4k KsDc2Ffx3mHabbBCpdIG4fgvAhbblVbCiPFQPDSHqZEo7wDzkCTgWJ9Ztc9zVskBG62o nPmaymdFFbT4YULEH0ia3PNFPrIWlO6kXCHSmMn3p3o7M7JpaBmUIs2U3NAs40NEFmgo gJUpNIkEpYD0ShHotEZCDUZ255q40b7dwPeK3Ga43iJLhdZVoxu2KLb4YHYLV9CG1o4g LiNxIu6f3eTZvj9aycLEVVzfMmo5UG77SlLQp120pxudJUYj68MHuMFWdA+suS1Ub4hx qcyw== X-Gm-Message-State: AOJu0YxzGTDoIUTHtrOJ0Sqw4Vut/xPae74yPTbUMge7qRxlemsGtJYe C17J4g49zPJUxNp/Rdv/qzB74EOhIFeSU60fEVVLFqvM+c9tWk4bsx58FcCfMRtOVOVNYOuRTU8 jejUgJBrc/ZZx4mvObyOGHGviOf55KqzcbiFogQpRfCkIMxZqYphq1s4/6BX28oM32RUxHyduC8 Y= X-Received: by 2002:a17:906:100e:b0:9b3:47f:1c05 with SMTP id 14-20020a170906100e00b009b3047f1c05mr4125878ejm.64.1696510704472; Thu, 05 Oct 2023 05:58:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEi5UjYnfBhF4whb5VPv8Bo4zvw4BHKefSFmcl0MZUMlX3uggQVSnNkVjFEMxIOIj0/PTnugQ== X-Received: by 2002:a17:906:100e:b0:9b3:47f:1c05 with SMTP id 14-20020a170906100e00b009b3047f1c05mr4125870ejm.64.1696510704184; Thu, 05 Oct 2023 05:58:24 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: balaton@eik.bme.hu, berrange@redhat.com Subject: [PATCH 4/7] audio: extend -audio to allow creating a default backend Date: Thu, 5 Oct 2023 14:58:12 +0200 Message-ID: <20231005125815.66082-5-pbonzini@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231005125815.66082-1-pbonzini@redhat.com> References: <20231005125815.66082-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1696510832629100003 Content-Type: text/plain; charset="utf-8" If "-audio BACKEND" is used without a model, the resulting backend will be used whenever the audiodev property is not specified. Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- qemu-options.hx | 29 +++++++++++++++++++++-------- system/vl.c | 27 +++++++++++++++------------ 2 files changed, 36 insertions(+), 20 deletions(-) diff --git a/qemu-options.hx b/qemu-options.hx index 9ce8a5b9578..5f4c240a1e2 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -728,20 +728,22 @@ ERST =20 =20 DEF("audio", HAS_ARG, QEMU_OPTION_audio, + "-audio [driver=3D]driver[,prop[=3Dvalue][,...]]\n" + " specifies default audio backend when `audiodev` is no= t\n" + " used to create a machine or sound device;" + " options are the same as for -audiodev\n" "-audio [driver=3D]driver,model=3Dvalue[,prop[=3Dvalue][,...]]\n" " specifies the audio backend and device to use;\n" " apart from 'model', options are the same as for -audi= odev.\n" " use '-audio model=3Dhelp' to show possible devices.\n= ", QEMU_ARCH_ALL) SRST -``-audio [driver=3D]driver,model=3Dvalue[,prop[=3Dvalue][,...]]`` - This option is a shortcut for configuring both the guest audio - hardware and the host audio backend in one go. - The driver option is the same as with the corresponding ``-audiodev`` = option below. - The guest hardware model can be set with ``model=3Dmodelname``. - - Use ``driver=3Dhelp`` to list the available drivers, - and ``model=3Dhelp`` to list the available device types. +``-audio [driver=3D]driver[,model=3Dvalue][,prop[=3Dvalue][,...]]`` + If the ``model`` option is specified, ``-audio`` is a shortcut + for configuring both the guest audio hardware and the host audio + backend in one go. The guest hardware model can be set with + ``model=3Dmodelname``. Use ``model=3Dhelp`` to list the available + device types. =20 The following two example do exactly the same, to show how ``-audio`` can be used to shorten the command line length: @@ -750,6 +752,17 @@ SRST =20 |qemu_system| -audiodev pa,id=3Dpa -device sb16,audiodev=3Dpa |qemu_system| -audio pa,model=3Dsb16 + + If the ``model`` option is not specified, ``-audio`` is used to + configure a default audio backend that will be used whenever the + ``audiodev`` property is not set on a device or machine. In + particular, ``-audio none`` ensures that no audio is produced even + for machines that have embedded sound hardware. + + In both cases, the driver option is the same as with the corresponding + ``-audiodev`` option below. Use ``driver=3Dhelp`` to list the availab= le + drivers. + ERST =20 DEF("audiodev", HAS_ARG, QEMU_OPTION_audiodev, diff --git a/system/vl.c b/system/vl.c index 7ca92d4490d..72be5a49764 100644 --- a/system/vl.c +++ b/system/vl.c @@ -2935,7 +2935,7 @@ void qemu_init(int argc, char **argv) break; case QEMU_OPTION_audio: { bool help; - char *model; + char *model =3D NULL; Audiodev *dev =3D NULL; Visitor *v; QDict *dict =3D keyval_parse(optarg, "driver", &help, &err= or_fatal); @@ -2948,22 +2948,25 @@ void qemu_init(int argc, char **argv) if (!qdict_haskey(dict, "id")) { qdict_put_str(dict, "id", "audiodev0"); } - if (!qdict_haskey(dict, "model")) { - error_setg(&error_fatal, "Parameter 'model' is missing= "); - } - model =3D g_strdup(qdict_get_str(dict, "model")); - qdict_del(dict, "model"); - if (is_help_option(model)) { - show_valid_soundhw(); - exit(0); + if (qdict_haskey(dict, "model")) { + model =3D g_strdup(qdict_get_str(dict, "model")); + qdict_del(dict, "model"); + if (is_help_option(model)) { + show_valid_soundhw(); + exit(0); + } } v =3D qobject_input_visitor_new_keyval(QOBJECT(dict)); qobject_unref(dict); visit_type_Audiodev(v, NULL, &dev, &error_fatal); visit_free(v); - audio_define(dev); - select_soundhw(model, dev->id); - g_free(model); + if (model) { + audio_define(dev); + select_soundhw(model, dev->id); + g_free(model); + } else { + audio_define_default(dev, &error_fatal); + } break; } case QEMU_OPTION_h: --=20 2.41.0 From nobody Mon May 20 01:02:19 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1696510786; cv=none; d=zohomail.com; s=zohoarc; b=O+92DQMeYR/PgB2geP77+yEbjPv6U52hZf66wggcntrUnWJAluPB34zxdPsE93SkEJeWpPFSfWJDKJ0XFILnZo0Y2vm90JPAaK6KKwz18EN5/DJUKBoqAq/1j2YxltBPn2559Vp5wwot7wWOfKJYBytNteNoz+N5IJ2yXPjF/Bk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696510786; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zT0mvsYGj0W3YfH+3Z5zqBtAhqUNz5Jtuejiza4ByXU=; b=h2X8VbsqLFikCGSAT0sbLXxwXKNpPBjtI/3IL3+8tDwg6Lofq/cnGy+mT9IOnHTbqdVhdfuPOE6ZO1hGh3AgU3ddGggjqi5iYx7yh4ygdPqZA5VF6zJYAuY7OV9MilqnS5iey/9ZTq8vaVXu4a01oASnrFirS4CCpcVfvxVzw1w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696510786590526.4913775315684; Thu, 5 Oct 2023 05:59:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qoNw5-0007lz-9F; Thu, 05 Oct 2023 08:58:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNw0-0007hc-5L for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:32 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNvy-0007kC-EG for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:31 -0400 Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-679-VsKAAwJjOCyhCkGfXVz8gQ-1; Thu, 05 Oct 2023 08:58:28 -0400 Received: by mail-ej1-f69.google.com with SMTP id a640c23a62f3a-9a9d7a801a3so88863766b.2 for ; Thu, 05 Oct 2023 05:58:28 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:9af8:e5f5:7516:fa89]) by smtp.gmail.com with ESMTPSA id cw11-20020a170906c78b00b0099e12a49c8fsm1177812ejb.173.2023.10.05.05.58.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Oct 2023 05:58:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696510709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zT0mvsYGj0W3YfH+3Z5zqBtAhqUNz5Jtuejiza4ByXU=; b=MZL+AQqiHUCzN3M/sPJ6e2sa1dXomnoAVOKyDC9JmIrTL4KMLDDBsTRIXo7gTyl67HNoGl 4DJnLwc/iBWfzYa7KdDoWF/U/394IYAX5DhPhOcBgIDybOD0qfeMBRE7lkGKHwRwtCKxBT mBXFLfrCh8w8yas01myt1nKFOlfbrlA= X-MC-Unique: VsKAAwJjOCyhCkGfXVz8gQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696510706; x=1697115506; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zT0mvsYGj0W3YfH+3Z5zqBtAhqUNz5Jtuejiza4ByXU=; b=e0b9Wptm3DBTSVIMIFfzjcHPise/tH7p45Kl2VBmoiIdhPFVNb1gVLJjX2+vegm9U1 +iuMyn7Ak6loVpYUBj0Cg/UVmPz1bw2fla2IZ30/MxMiodxcQCyllFpJ8w6nSkveqnqX pqVDd0FTWnpG1wyU424Krd8s6vpaUqEa021VzpoOQPCzifTVhX+7gfmf2ANGmEYOXD6S NFo1lBSx3iV+A5a1c8WVD6XAI17PjLz2bRw5J1EtKO5tV0QozAA+GMZr0/HB9P1/2FVo iK/BW0D/wWnH9b8azO3o8hGHZ/nObHVyAtYdqxkNiBHL27d4vU5i9xDT+1UCNarhw6gD Ulrg== X-Gm-Message-State: AOJu0Yx1f19sz1AzI5PvBe4O6Kc9EshCGcFm33hgARVm0ZMkyIT/TWm+ LGHF7i/F7p7r+tXo77WJtFdcpYLI8Wg1bvpGelJVJrbVv99Dho7Xjh/OCEoGYKXe2iLU6I/BL12 O97z/itdRvJSdlnX0+EpnzpyVHQ8+wr033tz4y74dSAyN3TWncstCzypRjDozIklg0D6l160GY4 U= X-Received: by 2002:a17:906:29a:b0:9aa:23c9:aa52 with SMTP id 26-20020a170906029a00b009aa23c9aa52mr4688076ejf.20.1696510706364; Thu, 05 Oct 2023 05:58:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF+Qb96Y84Of0jNFbogxf9Yc6Iz9pXMSQC+cs0v+tlvLID1Br8j3hIKrnk6ro59sa6dhVpizg== X-Received: by 2002:a17:906:29a:b0:9aa:23c9:aa52 with SMTP id 26-20020a170906029a00b009aa23c9aa52mr4688058ejf.20.1696510706046; Thu, 05 Oct 2023 05:58:26 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: balaton@eik.bme.hu, berrange@redhat.com Subject: [PATCH 5/7] audio: do not use first -audiodev as default audio device Date: Thu, 5 Oct 2023 14:58:13 +0200 Message-ID: <20231005125815.66082-6-pbonzini@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231005125815.66082-1-pbonzini@redhat.com> References: <20231005125815.66082-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1696510787245100001 Content-Type: text/plain; charset="utf-8" It is now possible to specify the options for the default audio device using -audio, so there is no need anymore to use a fake -audiodev option. Remove the fall back to QTAILQ_FIRST(&audio_states), instead remember the AudioState that was created from default_audiodevs and use that one. Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- audio/audio.c | 25 +++++++------------------ docs/about/deprecated.rst | 6 ------ docs/about/removed-features.rst | 8 ++++++++ 3 files changed, 15 insertions(+), 24 deletions(-) diff --git a/audio/audio.c b/audio/audio.c index 186cc4d336e..de37ad7c074 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -104,6 +104,7 @@ static audio_driver *audio_driver_lookup(const char *na= me) =20 static QTAILQ_HEAD(AudioStateHead, AudioState) audio_states =3D QTAILQ_HEAD_INITIALIZER(audio_states); +static AudioState *default_audio_state; =20 const struct mixeng_volume nominal_volume =3D { .mute =3D 0, @@ -1660,6 +1661,7 @@ static void free_audio_state(AudioState *s) =20 void audio_cleanup(void) { + default_audio_state =3D NULL; while (!QTAILQ_EMPTY(&audio_states)) { AudioState *s =3D QTAILQ_FIRST(&audio_states); QTAILQ_REMOVE(&audio_states, s, list); @@ -1760,6 +1762,7 @@ static AudioState *audio_init(Audiodev *dev, Error **= errp) goto out; } } else { + assert(!default_audio_state); for (;;) { AudiodevListEntry *e =3D QSIMPLEQ_FIRST(&default_audiodevs); if (!e) { @@ -1801,24 +1804,9 @@ out: bool AUD_register_card (const char *name, QEMUSoundCard *card, Error **err= p) { if (!card->state) { - if (!QTAILQ_EMPTY(&audio_states)) { - /* - * FIXME: once it is possible to create an arbitrary - * default device via -audio DRIVER,OPT=3DVALUE (no "model"), - * replace this special case with the default AudioState*, - * storing it in a separate global. For now, keep the - * warning to encourage moving off magic use of the first - * -audiodev. - */ - if (QSIMPLEQ_EMPTY(&default_audiodevs)) { - dolog("Device %s: audiodev default parameter is deprecated= , please " - "specify audiodev=3D%s\n", name, - QTAILQ_FIRST(&audio_states)->dev->id); - } - card->state =3D QTAILQ_FIRST(&audio_states); - } else { - card->state =3D audio_init(NULL, errp); - if (!card->state) { + if (!default_audio_state) { + default_audio_state =3D audio_init(NULL, errp); + if (!default_audio_state) { if (!QSIMPLEQ_EMPTY(&audiodevs)) { error_append_hint(errp, "Perhaps you wanted to set aud= iodev=3D%s?\n", QSIMPLEQ_FIRST(&audiodevs)->dev->id); @@ -1826,6 +1814,7 @@ bool AUD_register_card (const char *name, QEMUSoundCa= rd *card, Error **errp) return false; } } + card->state =3D default_audio_state; } =20 card->name =3D g_strdup (name); diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 2f51cf770ae..d59bcf36230 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -37,12 +37,6 @@ coverage. System emulator command line arguments -------------------------------------- =20 -Creating sound card devices without ``audiodev=3D`` property (since 4.2) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -When not using the deprecated legacy audio config, each sound card -should specify an ``audiodev=3D`` property. - Short-form boolean options (since 6.0) '''''''''''''''''''''''''''''''''''''' =20 diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.= rst index 58c94392c65..27639370f96 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -442,10 +442,18 @@ line using a ``secret`` object instance. The ``-audiodev`` and ``-audio`` command line options are now the only way to specify audio backend settings. =20 +Using ``-audiodev`` to define the default audio backend (removed in 8.2) +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' + QEMU does not create default audio backends anymore if any of the ``-audiodev``, ``-audio`` or ``-nodefaults`` options are used on the command line. =20 +If an audio backend is created with ``-audiodev``, each sound card +that wants to use it should specify an ``audiodev=3D`` +property. Previously, the first audiodev command line option would be +used as a fallback. + Creating vnc without ``audiodev=3D`` property (removed in 8.2) '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =20 --=20 2.41.0 From nobody Mon May 20 01:02:19 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1696510825; cv=none; d=zohomail.com; s=zohoarc; b=eGyi5E0giCXAb466s2969ggzbRKZ+oJCB6FIkFpCR/Ce+ccRE1AnfF4eodn/gQGFPjFA9YW5nusJ0mqgbgx9qabtxvuYoq10gY5KvT0HHreVjYQ3AEKtRDLUc/btI8XQ71Xjaes2dnlRH1/5n60BoofXJDwnAiXn5Yt42ff++ek= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696510825; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Phtq7TMtImPSu63xmUOC4PIyIrn1PhJ4EhvtwiBYBUE=; b=MdC3gKDKT/lbEHZVfPx7S+alWiEhCxOo9E5otptUMuclBiXuVSfDOl3WjkaJ4OmYfNC72gI9zCP7I562qFFgd+YqzkU23VqHnjTUsNzzkaQTSNLbzi3mjWvMeIBJWrCu+PfIOIA4Rd/fuboL5v2FVUWiIryOzgdSxwZ2CZPzPUc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 169651082549178.29556359407206; Thu, 5 Oct 2023 06:00:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qoNwp-0000bI-3V; Thu, 05 Oct 2023 08:59:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNwL-0008KE-Rs for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:53 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNwD-0007mB-4U for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:52 -0400 Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-482-EIjxIdDUPPO9ygbRXkInZA-1; Thu, 05 Oct 2023 08:58:30 -0400 Received: by mail-ed1-f71.google.com with SMTP id 4fb4d7f45d1cf-5378cd83621so795995a12.1 for ; Thu, 05 Oct 2023 05:58:30 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:9af8:e5f5:7516:fa89]) by smtp.gmail.com with ESMTPSA id p26-20020a1709060dda00b0098921e1b064sm1151061eji.181.2023.10.05.05.58.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Oct 2023 05:58:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696510722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Phtq7TMtImPSu63xmUOC4PIyIrn1PhJ4EhvtwiBYBUE=; b=BOFwMU0Dwv40jtkdOikbmxsLK6VMj2jPB2LXr3E8cxkQ2tRei8HQXpZ/Cn2p2XUV5+xV71 CS9en76zYeKENf9AA0Sd/WaQAleJ7QO3jUnM7ptIriN9W6CKqLrt1j/bBCg5AYbQR4KWWh mpBwgtwTLEp294pHxkKG5g0IWu2UdpU= X-MC-Unique: EIjxIdDUPPO9ygbRXkInZA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696510708; x=1697115508; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Phtq7TMtImPSu63xmUOC4PIyIrn1PhJ4EhvtwiBYBUE=; b=TIXrjI2yTE1vSGuc95ekHRQ5R+z9FHQ/4vro8XYgI8UxGDk+QmQISbkOoXV/U8mzjA yt7fnOumlmeysORIV+ZvuywydJePfNFzNGCc2+TCz0f2ZyD5cydCOGsVm+R0lyJ0TJB9 fgGZsIIKlRbZ9IZSi77innH/ruk1L4GYvl6h7Ad5I5OYgq/qAjQm/LEkVAzJ8qNAuR+t KBguiI4XjImbpE1Ezpa++moszi92lnzQj0ZXdR5cxisHtmyU/8ZX5MhB48NufFSv+I/x 92aK/bTOvlGRZYHKfFOGUeoydFUcL+NEJ1aVI44tABosZ5Up/kInVXMjyojy5DRVNI2t 3RTQ== X-Gm-Message-State: AOJu0YyqpIubPnVcGAMU2Luvwhp5qz9pozIFcQQBWM/0RLGe0caQ5d7N oOmupvaNE1UD5XE15PnrOG2ouyVMgLAnkSJaUwTxi6GU/G8Qrs2jZqmlhi9B3WE8k1kGBEKhbgg O+uk/mqUcnVsYmrXgei/0G7U5X/6fI3oAS/dqG3Ad9zXDWcS7Cyind7t/KGZElvOzrCnCOu902f s= X-Received: by 2002:a17:906:15d:b0:9ae:546b:786b with SMTP id 29-20020a170906015d00b009ae546b786bmr4070962ejh.33.1696510708357; Thu, 05 Oct 2023 05:58:28 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEb3S7klpNg2bO+w+Rul8LmnpgkPyeyIIkrAvU4fLAdNyARqSYNPRXUvbX67VsvJJv6Z8mkJA== X-Received: by 2002:a17:906:15d:b0:9ae:546b:786b with SMTP id 29-20020a170906015d00b009ae546b786bmr4070950ejh.33.1696510708048; Thu, 05 Oct 2023 05:58:28 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: balaton@eik.bme.hu, berrange@redhat.com Subject: [PATCH 6/7] audio: reintroduce default audio backend for VNC Date: Thu, 5 Oct 2023 14:58:14 +0200 Message-ID: <20231005125815.66082-7-pbonzini@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231005125815.66082-1-pbonzini@redhat.com> References: <20231005125815.66082-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1696510826861100003 Content-Type: text/plain; charset="utf-8" Make VNC use the default backend again if one is defined. The recently introduced support for disabling the VNC audio extension is still used, in case no default backend exists. Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- audio/audio.c | 28 ++++++++++++++++++---------- audio/audio.h | 1 + docs/about/removed-features.rst | 10 ++-------- ui/vnc.c | 2 ++ 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/audio/audio.c b/audio/audio.c index de37ad7c074..ca0df29555a 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -1801,20 +1801,28 @@ out: return NULL; } =20 +AudioState *audio_get_default_audio_state(Error **errp) +{ + if (!default_audio_state) { + default_audio_state =3D audio_init(NULL, errp); + if (!default_audio_state) { + if (!QSIMPLEQ_EMPTY(&audiodevs)) { + error_append_hint(errp, "Perhaps you wanted to set audiode= v=3D%s?\n", + QSIMPLEQ_FIRST(&audiodevs)->dev->id); + } + } + } + + return default_audio_state; +} + bool AUD_register_card (const char *name, QEMUSoundCard *card, Error **err= p) { if (!card->state) { - if (!default_audio_state) { - default_audio_state =3D audio_init(NULL, errp); - if (!default_audio_state) { - if (!QSIMPLEQ_EMPTY(&audiodevs)) { - error_append_hint(errp, "Perhaps you wanted to set aud= iodev=3D%s?\n", - QSIMPLEQ_FIRST(&audiodevs)->dev->id); - } - return false; - } + card->state =3D audio_get_default_audio_state(errp); + if (!card->state) { + return false; } - card->state =3D default_audio_state; } =20 card->name =3D g_strdup (name); diff --git a/audio/audio.h b/audio/audio.h index 6da5e8f6f0f..fcc22307bee 100644 --- a/audio/audio.h +++ b/audio/audio.h @@ -176,6 +176,7 @@ void audio_init_audiodevs(void); void audio_help(void); =20 AudioState *audio_state_by_name(const char *name, Error **errp); +AudioState *audio_get_default_audio_state(Error **errp); const char *audio_get_id(QEMUSoundCard *card); =20 #define DEFINE_AUDIO_PROPERTIES(_s, _f) \ diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.= rst index 27639370f96..a5e5a1ba1a5 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -449,17 +449,11 @@ QEMU does not create default audio backends anymore i= f any of the ``-audiodev``, ``-audio`` or ``-nodefaults`` options are used on the command line. =20 -If an audio backend is created with ``-audiodev``, each sound card -that wants to use it should specify an ``audiodev=3D`` +If an audio backend is created with ``-audiodev``, each audio client +(a sound card or VNC) that wants to use it should specify an ``audiodev=3D= `` property. Previously, the first audiodev command line option would be used as a fallback. =20 -Creating vnc without ``audiodev=3D`` property (removed in 8.2) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -When using vnc, you should specify an ``audiodev=3D`` property if -you plan to transmit audio through the VNC protocol. - QEMU Machine Protocol (QMP) commands ------------------------------------ =20 diff --git a/ui/vnc.c b/ui/vnc.c index acbb88c4ca0..7f4c471503a 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -4185,6 +4185,8 @@ void vnc_display_open(const char *id, Error **errp) if (!vd->audio_state) { goto fail; } + } else { + vd->audio_state =3D audio_get_default_audio_state(NULL); } =20 device_id =3D qemu_opt_get(opts, "display"); --=20 2.41.0 From nobody Mon May 20 01:02:19 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1696510756; cv=none; d=zohomail.com; s=zohoarc; b=jq/Xj0FZSLOShLRzBGhaTasp/EA52CmxiAlj3yIpwdL3kpPH8paQ6vMQBfprFxrx0iX1J08ZaikU553MOgLXjs3nendJxMRTq0Y8mh6hawMb/nOGeHwEg8+jmC8LLgX9k8swfoOBFEUo3T4ug+wAdCfyPQfCtQcvF7fNw4bnNZs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696510756; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=PK8oUM8hm4yPhQMS2p7Odq2IdFPCpWtmlwx4Agl7pVs=; b=Ss6iUSeVa3H/a0UWBj3MBxnm4+oaOHWdkZXhzaHKIwOSUQ2hSvlpNQRg8J02j9JzZIeBMbN7f8ilbqRZUPHy/rOFZ4mmhahVPVuC/h9RwQhvW8ndX9Er46v0XAk4rwxBWgEZ8MCvATeAR5IYQ+UAoheKyyKWJ3WPVVFavuDhNgg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696510755499492.1015922465151; Thu, 5 Oct 2023 05:59:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qoNwU-0008Uz-Qr; Thu, 05 Oct 2023 08:59:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNwL-0008KB-Rs for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:53 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoNwE-0007mU-6c for qemu-devel@nongnu.org; Thu, 05 Oct 2023 08:58:52 -0400 Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-685-_QE_P2cCOeCxz0yvE4F91g-1; Thu, 05 Oct 2023 08:58:32 -0400 Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-9b2cf504e3aso82210866b.2 for ; Thu, 05 Oct 2023 05:58:32 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:9af8:e5f5:7516:fa89]) by smtp.gmail.com with ESMTPSA id rn18-20020a170906d93200b0098ec690e6d7sm1168365ejb.73.2023.10.05.05.58.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Oct 2023 05:58:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696510723; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PK8oUM8hm4yPhQMS2p7Odq2IdFPCpWtmlwx4Agl7pVs=; b=Q7PO2OBNnyl/4nwvadZooGgry02FCd+e0nb8qvymwKdwdkSKeTuUCROCZHsiLKFScm9l5i /HprHYc8ldkd/97Qf8gNTwUFuXDaWVE5vxvP3J2dmfcbSp7hPLUsj0AxcpwS5+puf8kcMe fmCxGgAlRUS5xLzIqT/lQCnqkgU8K3s= X-MC-Unique: _QE_P2cCOeCxz0yvE4F91g-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696510710; x=1697115510; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PK8oUM8hm4yPhQMS2p7Odq2IdFPCpWtmlwx4Agl7pVs=; b=RbfQob4/wyB/qhsNNL24BZU0+j7VjSfeAozwc5oi8RVnRckMAz5iGViv7sz7+xLQ8+ wHKmUaSeYBdc7aZux4YKrzT1oIYSWwy+m6ZH49IgcxLk+g4qmoOC/XEY18oByHW3CRj4 axKCYviJxbpGFltTKOWX9vNH01/c8ZAIl+niIaKDIIFN6oN500ycWgNb2++A2XrOGOA6 AMznLkQYbBzJ9jt2sLsW0VL0B8m/fUrRGHp2lLBBb0FCl8rodZkO2ZeBUFtCthNbU77R UlwnCaECX7KlrDL/75kDN2AAFA3y55SVd1dYYpQmi4Xf7+PkqXzNwOujw/dFWTvAWmfI KzDQ== X-Gm-Message-State: AOJu0YyOa2M5LQhqsH9xbASgSRcNlhBhp88BRxCIinzVh9aFXnSSKgNz b+MKzKYUo0s9C2uc6AnyoDhR8t3UTiZqolycG1dDxWQ1V9JCqDfIVZGAk6QQZI/WGj+5S/vbFjV 1/rvKGZrTJMNX7C3LjwyapI6fbKqT0YID2oF/7AaXNnOddykl9x+GXCYD5FwP1dDvHZ3A5J2DmR Q= X-Received: by 2002:a17:907:b12:b0:9b2:b763:8d6b with SMTP id h18-20020a1709070b1200b009b2b7638d6bmr4432347ejl.50.1696510710356; Thu, 05 Oct 2023 05:58:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE6AFhJMET+8Wtjb2BrrjQFRWziDmohRwiPppoVeegmaqolEYMUpygAR+zjOE1ZSIS3obkgqQ== X-Received: by 2002:a17:907:b12:b0:9b2:b763:8d6b with SMTP id h18-20020a1709070b1200b009b2b7638d6bmr4432327ejl.50.1696510709959; Thu, 05 Oct 2023 05:58:29 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: balaton@eik.bme.hu, berrange@redhat.com Subject: [PATCH 7/7] audio, qtest: get rid of QEMU_AUDIO_DRV Date: Thu, 5 Oct 2023 14:58:15 +0200 Message-ID: <20231005125815.66082-8-pbonzini@redhat.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20231005125815.66082-1-pbonzini@redhat.com> References: <20231005125815.66082-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1696510756780100001 Content-Type: text/plain; charset="utf-8" Default audio devices can now be created with "-audio". Tests for soundcards were already using "-audiodev" if they want to specify a particular backend, for the others remove the last remnants of legacy audio configuration. Signed-off-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- audio/audio.c | 12 ------------ tests/qtest/libqtest.c | 4 +--- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/audio/audio.c b/audio/audio.c index ca0df29555a..feecbc1889a 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -1690,19 +1690,7 @@ static const VMStateDescription vmstate_audio =3D { =20 void audio_create_default_audiodevs(void) { - const char *drvname =3D getenv("QEMU_AUDIO_DRV"); - - /* QEMU_AUDIO_DRV=3Dnone is used by libqtest. */ - if (drvname && !g_str_equal(drvname, "none")) { - error_report("Please use -audiodev instead of QEMU_AUDIO_*"); - exit(1); - } - for (int i =3D 0; audio_prio_list[i]; i++) { - if (drvname && !g_str_equal(drvname, audio_prio_list[i])) { - continue; - } - if (audio_driver_lookup(audio_prio_list[i])) { QDict *dict =3D qdict_new(); Audiodev *dev =3D NULL; diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c index b1eba71ffe5..3f94a4f4773 100644 --- a/tests/qtest/libqtest.c +++ b/tests/qtest/libqtest.c @@ -421,9 +421,6 @@ static QTestState *G_GNUC_PRINTF(1, 2) qtest_spawn_qemu= (const char *fmt, ...) int sig =3D SIGKILL; procctl(P_PID, getpid(), PROC_PDEATHSIG_CTL, &sig); #endif /* __FreeBSD__ */ - if (!g_setenv("QEMU_AUDIO_DRV", "none", true)) { - exit(1); - } execlp("/bin/sh", "sh", "-c", command->str, NULL); exit(1); } @@ -464,6 +461,7 @@ QTestState *qtest_init_without_qmp_handshake(const char= *extra_args) "-chardev socket,path=3D%s,id=3Dchar0 " "-mon chardev=3Dchar0,mode=3Dcontrol " "-display none " + "-audio none " "%s" " -accel qtest", socket_path, --=20 2.41.0