On Wednesday 23 January 2019 13:24:22 Luiz Augusto von Dentz wrote: > Hi Pali, > On Tue, Jan 22, 2019 at 7:56 PM Pali Rohár <pali.rohar@xxxxxxxxx> wrote: > > > > On Tuesday 22 January 2019 16:20:12 Luiz Augusto von Dentz wrote: > > > Hi Pali, > > > On Tue, Jan 22, 2019 at 3:45 PM Luiz Augusto von Dentz > > > <luiz.dentz@xxxxxxxxx> wrote: > > > > > > > > From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> > > > > > > > > This adds the possibility to expose remote SEP using MediaEndpoint > > > > interface to allow setting a configuration. > > > > --- > > > > doc/media-api.txt | 27 +++++++++++++++++++++++++-- > > > > 1 file changed, 25 insertions(+), 2 deletions(-) > > > > > > > > diff --git a/doc/media-api.txt b/doc/media-api.txt > > > > index b5ad2db12..af9485342 100644 > > > > --- a/doc/media-api.txt > > > > +++ b/doc/media-api.txt > > > > @@ -500,14 +500,23 @@ Properties object Player [readonly] > > > > MediaEndpoint1 hierarchy > > > > ======================== > > > > > > > > -Service unique name > > > > +Service unique name (Server role) > > > > + org.bluez (Client role) > > > > Interface org.bluez.MediaEndpoint1 > > > > -Object path freely definable > > > > +Object path freely definable (Server role) > > > > + [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/sepX > > > > + (Client role) > > > > > > > > Methods void SetConfiguration(object transport, dict properties) > > > > > > > > Set configuration for the transport. > > > > > > > > + For client role transport must be set with a server > > > > + endpoint oject which will be configured and the > > > > + properties must contain the following properties: > > > > + > > > > + array{byte} Capabilities > > > > + > > > > array{byte} SelectConfiguration(array{byte} capabilities) > > > > > > > > Select preferable configuration from the supported > > > > @@ -532,6 +541,20 @@ Methods void SetConfiguration(object transport, dict properties) > > > > endpoint, because when this method gets called it has > > > > already been unregistered. > > > > > > > > +Properties string UUID [readonly, optional]: > > > > + > > > > + UUID of the profile which the endpoint is for. > > > > + > > > > + byte Codec [readonly, optional]: > > > > + > > > > + Assigned number of codec that the endpoint implements. > > > > + The values should match the profile specification which > > > > + is indicated by the UUID. > > > > + > > > > + array{byte} Capabilities [readonly, optional]: > > > > + > > > > + Capabilities blob, it is used as it is so the size and > > > > + byte order must match. > > > > > > > > MediaTransport1 hierarchy > > > > ========================= > > > > -- > > > > 2.17.2 > > > > > > Can you try this set? > > > > Hi! In V3 you added only "a2dp: Add reverse discovery" patch right? > > I tested my setup also with this patch and there is no difference, > > pulseaudio is working fine :-) > > > > Applied. > Now I found another bug. The whole codec switching does not work with some Ausdom headset. When pulseaudio try to switch codec profile it just get from bluez org.bluez.Error.Failed: Invalid argument DBus error message. And in bluez log is just: avdtp_close: Invalid argument In btmon I'm seeing following output: < ACL Data TX: Handle 35 flags 0x00 dlen 7 #4093 [hci0] 112.879357 Channel: 2242 len 3 [PSM 0 mode 0] {chan 0} 60 09 04 `.. > HCI Event: Number of Completed Packets (0x13) plen 5 #4094 [hci0] 112.879474 Num handles: 1 Handle: 35 Count: 1 > HCI Event: Number of Completed Packets (0x13) plen 5 #4095 [hci0] 112.883600 Num handles: 1 Handle: 35 Count: 2 > HCI Event: Number of Completed Packets (0x13) plen 5 #4096 [hci0] 112.884598 Num handles: 1 Handle: 35 Count: 1 > ACL Data RX: Handle 35 flags 0x02 dlen 6 #4097 [hci0] 112.906614 Channel: 66 len 2 [PSM 0 mode 0] {chan 0} 62 09 b. = bluetoothd: avdtp_close: Invalid argument 112.908009 Any idea why that avdp_close is failing? -- Pali Rohár pali.rohar@xxxxxxxxx
Attachment:
signature.asc
Description: PGP signature