From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 134A6C77B7C for ; Fri, 5 May 2023 11:42:55 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1putpl-0007Tp-DN; Fri, 05 May 2023 07:42:45 -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 1putpj-0007J3-FZ for qemu-devel@nongnu.org; Fri, 05 May 2023 07:42:43 -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 1putpc-0002BS-0f for qemu-devel@nongnu.org; Fri, 05 May 2023 07:42:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1683286955; h=from:from:reply-to: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=RmmsQkiAEsEogClah8cx8lFuCrzxa4chINdf737TMgE=; b=B8e83ANJpsO3aSnjdZtx4sFt/u5enMCLwJKr5pEPwgcqbytUMp5ZaUKHj/Ge0dPuZ3frho xZT8CIVVAlyUwG7J1NVKYRsmrDo9LS5UN2BtusLIawcugE4PEtxFm+LwRexNsMe5YXTHWa gy1hEVOHUk1icp2eYoYypNWUSC94Xhc= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-557-YgVTcqhcPkqnPRlIihykRA-1; Fri, 05 May 2023 07:42:32 -0400 X-MC-Unique: YgVTcqhcPkqnPRlIihykRA-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C5D41811E7C; Fri, 5 May 2023 11:42:31 +0000 (UTC) Received: from redhat.com (unknown [10.42.28.42]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5010F492C13; Fri, 5 May 2023 11:42:29 +0000 (UTC) Date: Fri, 5 May 2023 12:42:27 +0100 From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= To: marcandre.lureau@redhat.com Cc: qemu-devel@nongnu.org, Gerd Hoffmann , Markus Armbruster , Thomas Huth , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Eric Blake , Paolo Bonzini , Dorinda Bassey Subject: Re: [PULL 1/1] audio/pwaudio.c: Add Pipewire audio backend for QEMU Message-ID: References: <20230505113947.3301944-1-marcandre.lureau@redhat.com> <20230505113947.3301944-2-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230505113947.3301944-2-marcandre.lureau@redhat.com> User-Agent: Mutt/2.2.9 (2022-11-12) X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass client-ip=170.10.129.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -22 X-Spam_score: -2.3 X-Spam_bar: -- X-Spam_report: (-2.3 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.161, 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_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: , Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org On Fri, May 05, 2023 at 03:39:47PM +0400, marcandre.lureau@redhat.com wrote: > From: Dorinda Bassey > > This commit adds a new audiodev backend to allow QEMU to use Pipewire as > both an audio sink and source. This backend is available on most systems > > Add Pipewire entry points for QEMU Pipewire audio backend > Add wrappers for QEMU Pipewire audio backend in qpw_pcm_ops() > qpw_write function returns the current state of the stream to pwaudio > and Writes some data to the server for playback streams using pipewire > spa_ringbuffer implementation. > qpw_read function returns the current state of the stream to pwaudio and > reads some data from the server for capture streams using pipewire > spa_ringbuffer implementation. These functions qpw_write and qpw_read > are called during playback and capture. > Added some functions that convert pw audio formats to QEMU audio format > and vice versa which would be needed in the pipewire audio sink and > source functions qpw_init_in() & qpw_init_out(). > These methods that implement playback and recording will create streams > for playback and capture that will start processing and will result in > the on_process callbacks to be called. > Built a connection to the Pipewire sound system server in the > qpw_audio_init() method. > > Signed-off-by: Dorinda Bassey > Reviewed-by: Volker RĂ¼melin > Message-Id: <20230417105654.32328-1-dbassey@redhat.com> > Reviewed-by: Marc-AndrĂ© Lureau > --- > meson.build | 8 + > qapi/audio.json | 44 ++ > audio/audio_template.h | 4 + > audio/audio.c | 3 + > audio/pwaudio.c | 915 ++++++++++++++++++++++++++++++++++ > audio/meson.build | 1 + > audio/trace-events | 8 + > meson_options.txt | 4 +- > qemu-options.hx | 21 + > scripts/meson-buildoptions.sh | 8 +- > 10 files changed, 1013 insertions(+), 3 deletions(-) > create mode 100644 audio/pwaudio.c This doesn't add pipewire dev packages to the dockerfiles, so none of this will get built during CI unless something else we have happens to be pulling in pipewire dev packages indirectly. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|