linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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: Tue, 27 Dec 2011 11:09:24 +0100	[thread overview]
Message-ID: <4EF99954.9000409@linux.intel.com> (raw)
In-Reply-To: <CABBYNZJQF2yDtcXc01i_UUjUx-KUC5r-BFLe-sNMqY0ajYsWGA@mail.gmail.com>

Hello Luiz,

Le 17/12/2011 11:15, Luiz Augusto von Dentz a écrit :
>>> Good work putting this together, probably we should add this to the
>>> documentation, btw this already shows us the latency won't be that
>>> great with this solution.
>>
>>
>> Thanks
>> Which solution is not great ? both ?
>
> Both have problems, endpoint add extra round trips per connection
> which can be a problem for audio transfer/SCO reconnections.

OK, So I will continue with "Transport path" proposal.

>> Currently, if I take volume speaker as sample, BlueZ sends
>> SpeakerGainChanged signal on reception of SetSpeakerGain method call (user
>> action on the phone) or AT+VGS command (user action on headset).
>>
>> This signal should only be sent by the Media Transport object, i.e. :
>>   - for "Transport path" proposal, this signal should be moved
>>         from headset.c to transport.c.
>>   - for "Media Endpoint" proposal, this signal should be moved
>>         to the Media Transport of the telephony agent.
>>
>> I do not understand why a ping-pong effect should start (no application
>> should react to SpeakerGainChanged signal by a SetSpeakerGain method call).
>
> Yep, IMO the gains/volume need to be moved to transport, btw both
> agent and endpoint need to react to events such as volume change, the
> agent need to send AT+VG commands and the endpoint notify the
> application when the volume change completes.

In case of Telephony agent implementing the Audio Gateway part of 
HSP/HFP, it will send a +VG unsolicited result, which will not get reply 
from the Headset.
So, endpoint will not be able to notify the application when the volume 
change completes.

> Now, I don't think it is impossible to handle this it is just tricky
> and we cannot detect errors easily, but volume changes is already
> tricky (see PulseAudio), so I think it might be fine to try this first
> and see the results.

OK

>> Not yet, but your are right this test should be removed.
>> We must make it possible to set Noise Reduction, Echo Cancellation, speaker
>> or microphone gain values before the audio is connected.
>> Those values should be stored in the Media Transport object.
>
> Whenever you give the transport object you have to give permission to
> the agent, but don't simplify let any process changes those values.

OK, I will add Telephony agent to the test.

>>> True, but are you sure the agent wont have to deal directly with the
>>> SCO connection? Afaik there were some AT commands to do the audio
>>> transfer, although for HFP it seems to be directly by
>>> connecting/disconnecting SCO.
>>>
>>
>> My understanding is that BlueZ/oFono are not involved in decision to set-up
>> or not the SCO connection, this decision should be taken by PulseAudio or a
>> policy manager component, and SCO connection will be performed on Acquire
>> method called by PulseAudio.
>
> Audio transfer is both ways, but apparently there is no AT command for
> triggering it, iirc it was part of HSP spec, but I don't think we have
> to worry too much about HSP nowadays.

OK

Regards

Fred

-- 
Frederic Danis                            Open Source Technology Center
frederic.danis@intel.com                              Intel Corporation


  reply	other threads:[~2011-12-27 10:09 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
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 [this message]
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=4EF99954.9000409@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).