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