[pulseaudio-discuss] Bi-directional Bluetooth A2DP

Luiz Augusto von Dentz luiz.dentz at gmail.com
Wed Aug 8 07:00:28 UTC 2018

Hi Pali,

On Sat, Jul 28, 2018 at 10:34 PM, Pali Rohár <pali.rohar at gmail.com> wrote:
> Hi!
> Some Bluetooth A2DP codecs like aptX Low Latency or FastStream provides
> "backchannel" support for voice data. And it really in A2DP profile.
> It can be very useful as there is no need to switch between A2DP and HSP
> modes.
> Now I was able to get FastStream codec (rebranded SBC) working in
> PulseAudio. And in "btmon" I see that my headset started sending
> backchannel voice data in SBC codec. I decoded that dump and it is
> really SBC codec, voice is in very good quality, better then in
> HSP profile. I hope that bluez can send them to pulseaudio via file
> descriptor.

The fd sent to PA is a socket which is already bi-directional.

> Question is, how to handle this configuration in pulseaudio? Should it
> be a new profile for bluetooth devices which would provides both sink
> and source? Because now A2DP is one-direction profile, not
> bi-directional.

While A2DP only configures a single direction we can assume
bi-directional depending on the endpoint, so in theory all you have to
do is register an endpoint for FastStream and create both sink and
source when it is connected. That said note that A2DP uses L2CAP on
top of ACL link which is asynchronous so it may not be as low latency
as SCO, but I guess being able to chat while listening to stereo audio
is quite convenient in some situations (e.g. when gaming).

Luiz Augusto von Dentz

More information about the pulseaudio-discuss mailing list