Re: bluez A2DP socket reliability

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday 07 June 2019 18:23:41 Luiz Augusto von Dentz wrote:
> Hi Pali,
> 
> On Fri, Jun 7, 2019 at 4:00 PM Pali Rohár <pali.rohar@xxxxxxxxx> wrote:
> >
> > On Sunday 19 May 2019 14:22:23 Pali Rohár wrote:
> > > 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?
> >
> > Hi! Do you have any idea about OCF_WRITE_AUTOMATIC_FLUSH_TIMEOUT? It is
> > related to ERTM or not?
> 
> The OCF usually describes an HCI command which may affect the entire
> ACL connection, ERTM is a L2CAP channel mode that includes
> retransmissions. The A2DP stream transport doesn't ERTM so no
> retransmissions shall take place.

Fine, no retransmission is good for A2DP.

And how it is with delivering packets? It is possible that may be
delivered to other side in wrong order?

-- 
Pali Rohár
pali.rohar@xxxxxxxxx



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux