Hi, to, 2023-11-09 kello 16:36 -0600, Ethan White kirjoitti: > 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. It looks to me updating the delay value for local A2DP sink endpoints is not implemented. The underlying parts in the AVDTP code for sending delay reports on the other hand seem to be in place, so it might not be too hard to make it work in the DBus interface. Maybe the DBus property set callback could just call `avdtp_delay_report` and it'd work. > 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? > > Regards, > Ethan > -- Pauli Virtanen