On Friday 19 April 2019 14:48:38 Luiz Augusto von Dentz wrote: > Hi Pali, > > On Fri, Apr 19, 2019 at 2:02 PM Pali Rohár wrote: > > > > On Friday 19 April 2019 13:04:01 Luiz Augusto von Dentz wrote: > > > Hi Pali, > > > > > > On Fri, Apr 19, 2019 at 11:03 AM Pali Rohár wrote: > > > > > > > > On Wednesday 27 March 2019 12:14:30 Pali Rohár wrote: > > > > > On Sunday 27 January 2019 03:00:38 Pali Rohár wrote: > > > > > > 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 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 > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > From: Luiz Augusto von Dentz > > > > > > > > > > > > > > > > > > > > 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. > > > > > > > > > > > > Hi! I have one bug report for these patches. > > > > > > > > > > > > When I manually disconnect A2DP profile, but let HFP active then all SEP > > > > > > paths on D-Bus disappear. > > > > > > > > > > > > qdbus --system org.bluez /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX org.bluez.Device1.DisconnectProfile 0000110b-0000-1000-8000-00805f9b34fb > > > > > > > > > > > > So pulseaudio would still see bluetooth device as active (because HFP is > > > > > > in use), but does not see any A2DP codec as all remote SEPs from DBus > > > > > > were removed. > > > > > > > > > > > > It is possible to not remove remote SEPs when A2DP sink profile is > > > > > > manually disconnected? > > > > > > > > > > Hi Luiz! Have you looked at above problem? > > > > > > > > Hi! This one problem is still there. > > > > > > This should have been fixed: > > > > > > https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=9f7659a44601e043bdb6724b0ab4f3f59c46e9fe > > > > Hi! It is still not fixed. I have that commit applied (it is in master > > branch), but SEPs still disappears from dbus after calling > > DisconnectProfile 0000110b-0000-1000-8000-00805f9b34fb as described > > above; even HFP/HSP is still active. > > > > Can you reproduce that problem? > > We remove the objects when we disconnect AVDTP, this is working as > intended as we don't want to initiate the connection directly from the > endpoint as those may have disappeared or changed to some other codec > while disconnected. That is a bit problematic. Pulseaudio see device as active when either A2DP or HFP/HSP profile is connected. It makes sense. But when A2DP is disconnected then bluez remove SEP from dbus which says to pulseaudio that all codecs (as they belongs to SEPs) are unsupported. Which leads to situation that pulseaudio has no idea which codecs are supported nor if A2DP is supported at all. So if bluez remove all SEPs from dbus, how can pulseaudio again activate A2DP connection with codec X? It is impossible as SEP endpoint exported by dbus does not exist anymore. -- Pali Rohár pali.rohar@gmail.com