Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp678489ybl; Wed, 4 Dec 2019 09:07:49 -0800 (PST) X-Google-Smtp-Source: APXvYqySk70u+wAYy/4u39DSIMiqcYLWSgoKPxYTRSrlMrIi2WOhGX4TMzHXU/VJcfpOXbNbKzc7 X-Received: by 2002:aca:fdc2:: with SMTP id b185mr2403700oii.74.1575479269065; Wed, 04 Dec 2019 09:07:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575479269; cv=none; d=google.com; s=arc-20160816; b=A2a8vmE5l6dInXPN1A6Qf59rOW80MlEs1KvX16b6EyScjuNZtpB5Ix7PCNIUEPPLwZ vrPc4TCKYiFRDzUTj9QMFiN+e0YaxfrjXs6rqlo8oiq4fLkOtMd2g4+SdyDpW5FnIflH TV8DJfSL2R50qhGnf/QYd5aiph0xwNbZoMCDM+WUFv/p6SRnnkXhKstbZNnFr918SRLc qt62gdY4fr0mw+nnPIiEMTNTcVpuDItCxXmgvym56ZnucIEZ8OLSfJ8gELqV2vcHYdE3 WNAUq2zuCxrpkthautjGceLgOTnAWhGt0xcW8IJG81n97eexbVwBIEetlge8ztc8yyZx lvMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=GVFHi3MqUrVUXKrFAbPrUxTdeWHEh1Utt1wXYo++VEo=; b=dFITrJaXzP0FdUgZ4jxtqpjdYbzHVT4pFm2E56snh706YHSko1NzoKzvg9iDRTJzyj lYAmXIeZjgIETFf1EXPnll4sklVUEDMbuUpZB5/sbhhMO7lt3mcW6fHaEZbnGhK0/3XX xWnZfskohxzVzV1Ne5LuY0GjJjJr8kHFZJNLCiGSv8TfTD6UbRcky5KZTGwehxt8JL8G Vvk5uqBQC0vST5K0SvKz5Vx06vBwHSRymCPjke5YcJf9uIiY3ZJfc4ZSTLMe/S6M4jgS BNsKkfu+BD8MHayAEU2Imrhi2TYHxEX2aMzON2VmUIEHmadNDV+FOHxI/5mfCOwxGzqG 6xKg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=bYrUnVmz; spf=pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w197si3670392oif.150.2019.12.04.09.07.24; Wed, 04 Dec 2019 09:07:49 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=bYrUnVmz; spf=pass (google.com: best guess record for domain of linux-bluetooth-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728966AbfLDRF0 (ORCPT + 99 others); Wed, 4 Dec 2019 12:05:26 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:39470 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728784AbfLDRF0 (ORCPT ); Wed, 4 Dec 2019 12:05:26 -0500 Received: by mail-wm1-f67.google.com with SMTP id s14so531692wmh.4 for ; Wed, 04 Dec 2019 09:05:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=GVFHi3MqUrVUXKrFAbPrUxTdeWHEh1Utt1wXYo++VEo=; b=bYrUnVmzd7rkjaRTv/TXdOfXuMSaqkribKfgdr4TMGfl9bGTHS/JZzeMc47N0qNaw2 iBhmE3jiJ2H5MZmqm8KDeWgfO4gpo2A4VuvFifh9dExLA4zVaG4JJDa5oooKNlSBMi6n kQvRhU+X68Xyt0os8JbC+JqJDQrqEikOyi0IVhf1VJMD4xqyvf2DDKTvw3yevem7WnEA fsqTe4zDcPHRx4xVbweONYzEV6jPjRfiW9b+w4yRB2CU2ma2mvOpmrXZeaIbrFdp8FYs TYgFvVXGZahMBeiX21E2bVe7c6KcpY8P+4dIxYN1WvTMPyb6eJ0jln7RRU2brxi323P+ 67qA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=GVFHi3MqUrVUXKrFAbPrUxTdeWHEh1Utt1wXYo++VEo=; b=Ifh34pmnX6MaFjWmE668Abix0EctzDHRP7CfROduGA4o8GNFo80Hw8gpYGS/Fep8/m RMPvncfoFzTHBJr83yp7zHhLA9xglJh/Yzl/7rhyWWwzihVnBF12cf8zAn8Yq+OLNCsS bjvhsObIZyWIHe9E6rqbluqwyOxDez8gyKQpFLZ4nIooqsUJSO9P9YsH63pBf6oECjQG oKgy68hIW2NC4ekUTVUUgRFAafsW62XfEuy9eLKfnN41DAa4CBJSON1pFswEHpO9pYfu dADLfYMYKbtwCbBf+JUhp3AfnwOoLK04jT47uNGEBsSMmFJnHFqROVOYOifiNhQofnvy Qs6g== X-Gm-Message-State: APjAAAXXTTzQhfSYnWMOMtzz1U3fi9p0babdmIGe8UBdEayIYAbM02oH pZK4kmNLR6hQbE60C+5148U= X-Received: by 2002:a7b:c759:: with SMTP id w25mr654802wmk.15.1575479124582; Wed, 04 Dec 2019 09:05:24 -0800 (PST) Received: from pali ([2a02:2b88:2:1::5cc6:2f]) by smtp.gmail.com with ESMTPSA id u25sm7105756wmj.0.2019.12.04.09.05.22 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 04 Dec 2019 09:05:23 -0800 (PST) Date: Wed, 4 Dec 2019 18:05:21 +0100 From: Pali =?utf-8?B?Um9ow6Fy?= To: Arun Raghavan Cc: Tanu Kaskinen , PulseAudio Discussion , linux-bluetooth@vger.kernel.org, ofono@ofono.org, devkit-devel@lists.freedesktop.org, Bastien Nocera , Georg Chini , Russell Treleaven , Luiz Augusto von Dentz , Marcel Holtmann , Sebastian Reichel , Pavel Machek , Wim Taymans , George Kiagiadakis Subject: Re: [pulseaudio-discuss] Proposal for a new API and usage of Bluetooth HSP and HFP profiles on Linux Message-ID: <20191204170521.mfo5qtoy65raetwc@pali> References: <20191201185740.uot7zb2s53p5gu7z@pali> <508d35f29c2abc26af15e232a38d3ca53eb33706.camel@iki.fi> <20191202184512.rx6p63c6axztnwrw@pali> <190b130f-bc84-4af1-a807-5b5fbef3f166@www.fastmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="fjnfaeynkyyttc45" Content-Disposition: inline In-Reply-To: <190b130f-bc84-4af1-a807-5b5fbef3f166@www.fastmail.com> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-bluetooth-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org --fjnfaeynkyyttc45 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wednesday 04 December 2019 20:45:23 Arun Raghavan wrote: > Broadly, I think this is a good thing to do. My main concern is having th= is be adequately maintained over a longer period of time. I already prepared prototype implementation, so I know how hard is to write or maintain this new daemon. Are there any interested people in either implementing, maintaining or in other way helping with this project? The main problem in maintaining this HSP/HFP codebase I see that I do not have enough testing devices. As we know lot of manufactures produce devices which are not compliant to standards and this needs to be handled in HSP/HFP codebase. > The other thing to note is that in PipeWire, it is possible for external = entities to implement the equivalent of a "sink" or "source" (it's just a n= ode in PipeWire terminology), so in the long run, it might be good to have = a single BT audio daemon that manages A2DP and HSP/HFP.. PipeWire or any other audio server (jack or bluez-alsa) can benefit from this hsphfpd daemon that it does not have to implement (again) parsing and interpreting AT commands (as needed for HFP standard). For PipeWire developers: Do you have any special requirements for this hsphfpd daemon which are needed for processing of audio? See proposed DBus interface, specially "Audio Agent hierarchy": https://github.com/pali/hsphfpd-prototype/raw/prototype/hsphfpd.txt > This would also have the benefit of moving codec dependencies out of Puls= eAudio (which I'll help mitigate in other ways within PulseAudio anyway). hsphfpd just prepares SCO audio socket and then via DBus pass it to target application (pulseaudio, pipewire, jacks, ...). And it is up to the audio application to do codec processing. hsphfpd is not going to do anything with audio samples or codecs. So this does not help directly... =2E.. But I'm planing to try to separate A2DP code from pulseaudio into some external library which would not depend on pulseaudio. So this library can help all audio server projects to not re-implement again and again A2DP (and HSP/HFP) audio processing. This library should do all needed codec stuff (encoding, decoding, setup of A2DP, ...). --=20 Pali Roh=C3=A1r pali.rohar@gmail.com --fjnfaeynkyyttc45 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iF0EABECAB0WIQS4VrIQdKium2krgIWL8Mk9A+RDUgUCXefnTwAKCRCL8Mk9A+RD UtizAJ4jebcbx+300lfUIYwDo6/CcO8AsQCcCrEwdRrkh+X8gbrX5/qLSQQ3YsQ= =uINE -----END PGP SIGNATURE----- --fjnfaeynkyyttc45--