Re: a2dp delay reporting

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

 



Hi Ethan,

On Thu, Nov 9, 2023 at 5:36 PM Ethan White <ethan@xxxxxxxxxxxxxx> wrote:
>
> On 10/17/23 13:10, Ethan White wrote:
> > Hi,
> >
> > How do I inform Bluez of my a2dp transport delay?  The media-api
> > document shows a Delay property for the MediaTransport1 interface but
> > attempts at writing this property yield the following error:
> >
> > org.freedesktop.DBus.Error.PropertyReadOnly: Property 'Delay' is not
> > writable
> >
> >
> > Reviewing profiles/audio/transport.c a2dp_properties (Bluez 5.70) I find
> > that the delay property does not have a set function:
> >
> > line 846: { "Delay", "q", get_delay_reporting, NULL,
> > delay_reporting_exists },
> >
> >
> > What am I missing here?  How an I supposed to inform the a2dp source of
> > my playback delay?  Thanks for any help.
> >
> > Regards,
> > Ethan
>
> I'm currently using org.bluez.Media1 RegisterEndpoint to expose my a2dp
> sink to a2dp sources.  I use org.bluez.MediaTransport1 Acquire to get
> the transport.  I can write the 'Volume' property of
> org.bluez.MediaTransport1 to change the audio source volume.  However,
> writing to the 'Delay' property of the org.bluez.MediaTransport1
> interface yields only errors as this property appears to be read-only
> despite bluez/docs/media-api.rst showing this property to be read/write.
>
> When using busctl from the host running my a2dp sink to inspect the
> transport I get a dash '-' in place of a numerical value:
> host:~$ busctl introspect  org.bluez
> /org/bluez/hci0/dev_xx_xx_xx_xx_xx_xx/fd0
> NAME                                TYPE      SIGNATURE RESULT/VALUE
>                         FLAGS
> org.bluez.MediaTransport1           interface -         -
>                         -
> .Acquire                            method    -         hqq
>                         -
> .Release                            method    -         -
>                         -
> .TryAcquire                         method    -         hqq
>                         -
> .Codec                              property  y         2
>                         emits-change
> .Configuration                      property  ay        6 128 1 4 131
> 232 0                     emits-change
> .Delay                              property  q         -
>                         emits-change
> .Device                             property  o
> "/org/bluez/hci0/dev_E8_78_65_F2_14_24" emits-change
> .State                              property  s         "active"
>                         emits-change
> .UUID                               property  s
> "0000110b-0000-1000-8000-00805f9b34fb"  emits-change
> .Volume                             property  q         64
>                         emits-change writable
> org.freedesktop.DBus.Introspectable interface -         -
>                         -
> .Introspect                         method    -         s
>                         -
> org.freedesktop.DBus.Properties     interface -         -
>                         -
> .Get                                method    ss        v
>                         -
> .GetAll                             method    s         a{sv}
>                         -
> .Set                                method    ssv       -
>                         -
> .PropertiesChanged                  signal    sa{sv}as  -
>                         -
>
> Does Bluez allow an a2dp sink to report its playback delay to the a2dp
> source via the org.bluez.MediaTransport1 Delay property?  Is there some
> other way to communicate this delay back to the audio source for proper
> lip-sync with video?

Looks like setting the Delay was never implemented:

https://github.com/bluez/bluez/blob/master/profiles/audio/transport.c#L878

File an issue at github, I don't have time to resolve it right now but
it should be relatively trivial to implement it.

> Regards,
> Ethan
>
>


-- 
Luiz Augusto von Dentz





[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