From: Frederic Danis <frederic.danis@linux.intel.com>
To: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: [RFC v5 1/8] audio: Move tel drivers to DBus interface
Date: Fri, 16 Dec 2011 09:41:05 +0100 [thread overview]
Message-ID: <4EEB0421.4030407@linux.intel.com> (raw)
In-Reply-To: <CABBYNZL3sCMtSQ4bVetdA25wRmoFZz8BWhsZoRcf4WpcCpi54w@mail.gmail.com>
Hello Luiz,
Le 15/12/2011 12:25, Luiz Augusto von Dentz a écrit :
> Hi Frederic,
>
> On Thu, Dec 15, 2011 at 1:04 PM, Frederic Danis
> <frederic.danis@linux.intel.com> wrote:
>>>
>>>
>>> I thought we had agreed in having the transport implemented directly
>>> inside the agent, at least that was my proposal, otherwise it keeps
>>> bluetoothd in the middle of the communication. It may not seem obvious
>>> but we should target low latency as we are dealing with audio the
>>> events need to be propagated fast.
>>>
>>> So instead of MediaTransportPath, what I suggest is sending the
>>> endpoint itself e.g. string,object Endpoint Connection id and object
>>> path of the MediaEndpoint to be used. This means the agent e.g. oFono
>>> will have to create an object which implements
>>> org.bluez.MediaTransport and then call
>>> org.bluez.MediaEndpoint.SetConfiguration in the received object.
>>>
>>>
>>
>> If I understand correctly, passing Media Endpoint connection and path will
>> imply that the telephony agent will have to manage the SCO connection, which
>> means that we need to link the telephony agent with BlueZ libs.
>> As far as I understand, one of the goals is to remove telephony code from
>> BlueZ and bluetooth code from telephony daemon.
>> Am I wrong ?
>>
>> Passing the MediaTransport allows to keep bluetooth part in BlueZ daemon and
>> telephony part in telephony agent.
>
> I wonder how you gonna be able to synchronize things like volume
> changes then, because you can't depend on the signals since that don't
> have the information of who did it, and in this case both agent and
> endpoint will be talking to the same transport, besides imo having
> events propagated quickly is much more important here. Now you are
> right about SCO connections but that doesn't mean we cannot have
> bluetoothd to still handle it and pass it back to the agent similarly
> what we have done with ConnectFD in Serial.
>
I wrote flowcharts for SCO connections and some AT commands (AT+NREC,
AT+VGS, ...) for the 2 approaches (side by side). This is available on
http://pastebin.com/sLBj7kpW
As you can see, when passing Media Transport path in NewConnection
method, the complexity is located during volume management.
I do not think that we can have synchronization problems if property
changed signal is sent in all cases.
When moving MediaTransport to telephony agent (i.e. oFono), complexity
moves to SCO connections, passing SCO fd through oFono to PulseAudio.
This will also imply to remove code from Media Transport, which will
complicate this set of patches.
It will also break similarity between A2DP and HSP/HFP (currently both
media transport code are in BlueZ, breaking that will set one transport
in BlueZ, the other not).
Regards
Fred
--
Frederic Danis Open Source Technology Centre
frederic.danis@intel.com Intel Corporation
next prev parent reply other threads:[~2011-12-16 8:41 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-14 9:05 [RFC v5 0/8] Add org.bluez.Telephony interface Frédéric Danis
2011-12-14 9:05 ` [RFC v5 1/8] audio: Move tel drivers to DBus interface Frédéric Danis
2011-12-15 10:00 ` Luiz Augusto von Dentz
2011-12-15 11:04 ` Frederic Danis
2011-12-15 11:25 ` Luiz Augusto von Dentz
2011-12-16 8:41 ` Frederic Danis [this message]
2011-12-16 10:35 ` Luiz Augusto von Dentz
2011-12-16 15:00 ` Frederic Danis
2011-12-17 10:15 ` Luiz Augusto von Dentz
2011-12-27 10:09 ` Frederic Danis
2011-12-14 9:05 ` [RFC v5 2/8] audio: Simplify org.bluez.Headset Frédéric Danis
2011-12-14 9:05 ` [RFC v5 3/8] audio: Remove dummy tel driver Frédéric Danis
2011-12-14 9:05 ` [RFC v5 4/8] audio: Remove maemo5 " Frédéric Danis
2011-12-14 9:05 ` [RFC v5 5/8] audio: Remove maemo6 " Frédéric Danis
2011-12-14 9:05 ` [RFC v5 6/8] audio: Remove oFono " Frédéric Danis
2011-12-14 9:05 ` [RFC v5 7/8] audio: Move HFP/HSP AG servers to telephony.c Frédéric Danis
2011-12-14 9:05 ` [RFC v5 8/8] audio: Send transport path to telephony agent Frédéric Danis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EEB0421.4030407@linux.intel.com \
--to=frederic.danis@linux.intel.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).