On Sunday 19 May 2019 11:13:09 Luiz Augusto von Dentz wrote: > Hi Pali, > > On Sat, May 18, 2019 at 11:12 PM Pali Rohár <pali.rohar@xxxxxxxxx> wrote: > > > > Hello! How is L2CAP layer of bluetooth socket used for A2DP audio > > transfer configured in bluez? It is reliable with big/infinite > > retransmit count? Or in best-effort manner and some packets may be > > dropped? And it is possible to change between these two modes for > > application which uses bluez DBUS API? I'm asking because some A2DP > > audio codecs are designed to deal with packet loss and for those codecs > > it would be probably better to configure L2CAP socket to unreliable > > mode. > > We don't use ERTM with AVDTP, both signaling and transport sockets are > using basic mode which don't support retransmissions, there the > concept of flush timeout which iirc we don't currently it. On bluez.org site there is no information how to use bluez sockets and the only documentation/tutorial which I found on internet was this: https://people.csail.mit.edu/albert/bluez-intro/x559.html I do not know how up-to-date it is, but seems that by default bluez L2CAP sockets are reliable and to change them to unreliable mode it is needed to issue OGF_HOST_CTL / OCF_WRITE_AUTOMATIC_FLUSH_TIMEOUT (0x28) request. As default is zero = infinity = reliable connection. I do not understand low level bluetooth details, but is ERTM related to OCF_WRITE_AUTOMATIC_FLUSH_TIMEOUT? So what are default settings for L2CAP socket used by AVDTP/A2DP profiles which are transferred to user application via DBUS? -- Pali Rohár pali.rohar@xxxxxxxxx
Attachment:
signature.asc
Description: PGP signature