All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhenhua Zhang <zhenhua.zhang@intel.com>
To: "João Paulo Rechi Vita" <jprvita@gmail.com>
Cc: "linux-bluetooth@vger.kernel.org"
	<linux-bluetooth@vger.kernel.org>,
	"ofono@ofono.org" <ofono@ofono.org>
Subject: Re: [RFC] [PATCH 0/2] HFP AG integration with PulseAudio
Date: Thu, 04 Feb 2010 11:21:09 +0800	[thread overview]
Message-ID: <4B6A3D25.2040508@intel.com> (raw)
In-Reply-To: <aa32413d1002031030s446edef6gea3d234bc440c170@mail.gmail.com>

SGkgSnBydml0YSwKCk9uIDAyLzA0LzIwMTAgMDI6MzAgQU0sIEpvw6NvIFBhdWxvIFJlY2hpIFZp
dGEgd3JvdGU6Cj4+Pgo+Pj4gSnVzdCB1cGRhdGluZywgdGhpcyBwYXRjaCBhY3R1YWxseSB3b3Jr
ZWQgd2hlbiB0ZXN0aW5nIHdpdGggYQo+Pj4gZGlmZmVyZW50IGFkYXB0ZXIgKEZ1aml0c3UtU2ll
bWVucyBDU1ItYmFzZWQpLiBUaGUgYWRhcHRlciBjYXVzaW5nCj4+PiBwcm9ibGVtcyB3YXMgYSBC
cm9hZGNvbSAyLjEsIHRoZSBpbnRlcm5hbCBhZGFwdGVyIG9mIGEgRGVsbCBNaW5pMTAuCj4+PiBB
bHNvLCBzdXNwZW5kaW5nIHRoZSBzb3VyY2UgLyBzaW5rIGFjdHVhbGx5IGRvZXNuJ3QgaW50ZXJm
ZXJlLgo+Pj4KPj4+IEkgZGlkIGEgc21hbGwgdmlkZW8gb2YgdGhlIHdob2xlIHN0dWZmOiBodHRw
Oi8vd3d3LnZpbWVvLmNvbS85MDc4Nzk5Cj4+Pgo+Pj4gVGhlcmUgYXJlIHN0aWxsIHNvbWUgcHJv
YmxlbXMgd2hlbiB0ZXN0aW5nIGFnYWluc3QgTm9raWEgTjkwMCBhbmQKPj4+IDI2NjAuIEFmdGVy
IHRoZSAiZW5hYmxlLW1vZGVtIiBzdGVwLCB0aGUgUkZDT01NIGxpbmsgaXMgY29ubmVjdGVkIGFu
ZAo+Pj4gdGhlIFNDTyBqdXN0IGFmdGVyIHRoYXQsIGxlYWRpbmcgbW9kdWxlLWJsdWV0b290aC1k
aXNjb3ZlciB0byBsb2FkCj4+PiBtb2R1bGUtYmx1ZXRvb3RoLWRldmljZS4gU29tZXRpbWVzIGFm
dGVyIHRoYXQgdGhlIHBvbGxpbmcgb24gdGhlCj4+PiBzdHJlYW0gZmQgZ2V0IGEgUE9MTEhVUCBh
bmQgdGhlIG1vZHVsZS1ibHVldG9vdGgtZGV2aWNlIHVubG9hZHMKPj4+IGl0c2VsZi4gT3RoZXIg
dGltZXMgdGhlIFBPTExIVVAgZG9lc24ndCBoYXBwZW4gYW5kIHRoZSByZW1haW5pbmcgc3RlcHMK
Pj4+IGdvIHdpdGhvdXQgYW55IHByb2JsZW0uCj4+Pgo+Pj4gSWRlYXMgb24gaG93IHRvIGltcHJv
dmUgdGhpcyBzY2VuYXJpbyB3aWxsIGJlIHZlcnkgaGVscGZ1bC4KPj4+Cj4+Pgo+Pgo+PiBUaGUg
b3V0cHV0IGZyb20gYmx1ZXRvb3RoZCBsaWtlcyBiZWxvdzoKPj4KPj4gYmx1ZXRvb3RoZFsyMTE0
MV06IEFjY2VwdGVkIEFHIGNvbm5lY3Rpb24gZnJvbSAwMDpCRDozQTpENDo0RTo1MyBmb3IKPj4g
L29yZy9ibHVlei8yMTE0MS9oY2kwL2Rldl8wMF9CRF8zQV9ENF80RV81Mwo+PiBibHVldG9vdGhk
WzIxMTQxXTogQWNjZXB0ZWQgU0NPIGNvbm5lY3Rpb24gZnJvbSAwMDpCRDozQTpENDo0RTo1Mwo+
PiBibHVldG9vdGhkWzIxMTQxXTogTm8gbWF0Y2hpbmcgY29ubmVjdGlvbiBmb3VuZCBmb3IgaGFu
ZGxlIDYKPj4gYmx1ZXRvb3RoZFsyMTE0MV06IHNjbyBjb25uZWN0aW9uIGlzIHJlbGVhc2VkCj4+
Cj4+IEkgdGhpbmsgeW91IHNob3VsZCBub3QgbG9hZCBtb2R1bGUtYmx1ZXRvb3RoLWRldmljZSB1
bnRpbCBhIHZvaWNlIGNhbGwgaXMKPj4gc3RhcnRlZCwgbm8gbWF0dGVyIGluY29taW5nIG9yIG91
dGdvaW5nLiBCZWNhdXNlIFBBIG1heSBwbGF5IG11c2ljIGZyb20KPj4gb3RoZXIgZGV2aWNlIGF0
IHRoZSBzYW1lIHRpbWUuIEFuZCBibHVldG9vdGgtZGV2aWNlIGFuZCBsb29wYmFjayBtb2R1bGUg
YXJlCj4+IGxvYWRlZCB0b2dldGhlci4gQWNjb3JkaW5nIHRvIEhGUCB2MS41IDQuMTMsIHRoZXJl
IGFyZSB0d28gY2FzZXMgZm9yCj4+IGluY29taW5nIGNhbGwuIEFuZCBvdXRnb2luZyBjYWxsIGlz
IHNpbXBsZXIgdGhhbiBpbmNvbWluZyBjYWxsLgo+Pgo+PiBJZiBBRyBhbmQgSEYgYm90aCBzdXBw
b3J0IGluIGJhbmQgcmluZyB0b25lcywgd2Ugc2hvdWxkIHNlbmQgYSBzaWduYWwgZnJvbQo+PiBv
Rm9ubyB0byBQQSB3aGVuIGNhbGxzZXR1cD0xLiBJZiBub3QsIHdlIHNob3VsZCBzZW5kIGl0IHdo
ZW4gY2FsbD0xLgo+Pgo+PiBJIGhhZCBhIHBhdGNoIG9yaWdpbmFsbHkgYnV0IEkgY2Fubm90IGZp
bmQgaXQgbm93LiA6LSguIFRoZSBiYXNpYyBpZGVhIGlzIHRvCj4+IGFkZCBhIGZpbHRlciBpbiBj
aWV2X25vdGlmeSgpIHRvIGVtaXQgc2lnbmFsIChDYWxsU3RhcnRlZCBhbmQgQ2FsbEVuZGVkKSB0
bwo+PiBQQS4gQW5kIFBBIGxvYWRzIG1vZHVsZSBvbmNlIGl0IGdvdCB0aGF0IHNpZ25hbC4gTWF5
YmUgdGhlIHNpZ25hbCBuYW1lIHdhcwo+PiBiYWQgYW5kIHlvdSBjb3VsZCBjaG9vc2UgYmV0dGVy
IG9uZSBhcyB5b3Ugd2FudC4gOy0pCj4+Cj4KPiBJIHRoaW5rIGxvYWRpbmcgbW9kdWxlLWJsdWV0
b290aC1kZXZpY2Ugb25seSB3aGVuIHRoZXJlIGlzIGFuIGFjdGl2ZQo+IGNhbGwgY2FuIGJlIGEg
Z29vZCBzb2x1dGlvbi4gQnV0IEknbSBjb25jZXJuZWQgYWJvdXQgb3RoZXIgYXVkaW8KPiBldmVu
dHMsIGkuIGUuOiByaW5naW5nLCBTTVMgbm90aWZpY2F0aW9uIGV0Yy46IGRvZXNuJ3QgdGhlIEFH
Cj4gZXN0YWJsaXNoZXMgYSBTQ08gY2hhbm5lbCBmb3IgdGhlIHRoZXNlIGV2ZW50cz8gQWxzbywg
SSBkb24ndCB0aGluawo+IHB1bHNlIHNob3VsZCBsaXN0ZW4gdG8gb2Zvbm8gc2lnbmFscywgaXQg
c2hvdWxkIGJlIGFnZW50LWFnbm9zdGljLiBCdXQKPiBhIHNpZ25hbCBjb3VsZCBiZSBhZGRlZCB0
byB0aGUgYWdlbnQgaW50ZXJmYWNlIGluIHRoaXMgY2FzZS4KClllYWguIE1heWJlIHlvdSBhcmUg
cmlnaHQuIFBBIHNob3VsZCBub3QgbGlzdGVuIHRvIG9mb25vIHNpZ25hbCBkaXJlY3RseSAKYnV0
IHRocm91Z2ggYW4gYWdlbnQgc2lnbmFsIHRvIG1ha2UgaXQgbW9yZSBnZW5lcmljLiBBRkFLLCBT
TVMgCm5vdGlmaWNhdGlvbiBkb2Vzbid0IHJlcXVpcmUgU0NPLiBVcHBlciBhcHAgY291bGQgc2lt
cGx5IHdhdGNoIHRoZSAKcHJvcGVydHkgY2hhbmdlcyBmcm9tIG9Gb25vLgoKPiBBbmQgSSdtIG5v
dCBzdXJlIGlmIGF1dG9tYXRpY2FsbHkgbG9hZGluZyBtb2R1bGUtbG9vcGJhY2sgaXMgYSBnb29k
Cj4gaWRlYSwgSSB0aGluayB3ZSBiZXR0ZXIgZXhwb3NlIHRocm91Z2ggdGhlIFVJIGhvdyB0byBo
YW5kbGUgdGhlIGF1ZGlvCj4gc3RyZWFtLiBTb21lIHVzZXJzIG1heSBoYXZlIGEgYnVuY2ggb2Yg
c291bmRjYXJkcyBvciBzb21lIHZlcnkgd2VpcmQKPiBhdWRpbyBzZXR1cCwgYW5kIGl0J3MgdXAg
dG8gdGhlbSB0byBkZWNpZGUgd2hpY2ggc291bmRjYXJkIHRvIGNvbm5lY3QKPiB0aGUgSEZQIHN0
cmVhbS4KPgoKSSBhbSBub3QgYXVkaW8gZXhwZXJ0IGJ1dCBBRkFLIFBBIGhhcyB2YXJpYW50IHBv
bGljaWVzIHRvIGNvbnRyb2wgd2hpY2ggCmF1ZGlvIHN0cmVhbSBzaG91bGQgYmUgZmVlZGVkIGlu
dG8gdGhlIHNwZWFrZXIvbWljLiBMb2FkaW5nIAptb2R1bGUtYmx1ZXRvb3RoLWRldmljZSBpcyBv
bmx5IHRoZSAxc3Qgc3RlcCB0byBjcmVhdGUgc291cmNlL3NpbmsuIEkgCnRoaW5rIHRoZSB2b2lj
ZWNhbGwgaGF2ZSB0aGUgaGlnaGVyIHByaW9yaXR5IHRoYW4gb3RoZXIgc3RlYW0gbGlrZSAKbXVz
aWMsIGV0Yy4gQW5kIHllcywgbG9hZGluZyBtb2R1bGUtbG9vcGJhY2sgY291bGQgYmUgZGVjaWRl
ZCBieSBQQSBwb2xpY3kuCgpUaGFua3MuClpoZW5odWEuCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpvZm9ubyBtYWlsaW5nIGxpc3QKb2Zvbm9Ab2Zvbm8u
b3JnCmh0dHA6Ly9saXN0cy5vZm9uby5vcmcvbGlzdGluZm8vb2Zvbm8K

WARNING: multiple messages have this Message-ID (diff)
From: Zhenhua Zhang <zhenhua.zhang@intel.com>
To: ofono@ofono.org
Subject: Re: [RFC] [PATCH 0/2] HFP AG integration with PulseAudio
Date: Thu, 04 Feb 2010 11:21:09 +0800	[thread overview]
Message-ID: <4B6A3D25.2040508@intel.com> (raw)
In-Reply-To: <aa32413d1002031030s446edef6gea3d234bc440c170@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3529 bytes --]

Hi Jprvita,

On 02/04/2010 02:30 AM, João Paulo Rechi Vita wrote:
>>>
>>> Just updating, this patch actually worked when testing with a
>>> different adapter (Fujitsu-Siemens CSR-based). The adapter causing
>>> problems was a Broadcom 2.1, the internal adapter of a Dell Mini10.
>>> Also, suspending the source / sink actually doesn't interfere.
>>>
>>> I did a small video of the whole stuff: http://www.vimeo.com/9078799
>>>
>>> There are still some problems when testing against Nokia N900 and
>>> 2660. After the "enable-modem" step, the RFCOMM link is connected and
>>> the SCO just after that, leading module-bluetooth-discover to load
>>> module-bluetooth-device. Sometimes after that the polling on the
>>> stream fd get a POLLHUP and the module-bluetooth-device unloads
>>> itself. Other times the POLLHUP doesn't happen and the remaining steps
>>> go without any problem.
>>>
>>> Ideas on how to improve this scenario will be very helpful.
>>>
>>>
>>
>> The output from bluetoothd likes below:
>>
>> bluetoothd[21141]: Accepted AG connection from 00:BD:3A:D4:4E:53 for
>> /org/bluez/21141/hci0/dev_00_BD_3A_D4_4E_53
>> bluetoothd[21141]: Accepted SCO connection from 00:BD:3A:D4:4E:53
>> bluetoothd[21141]: No matching connection found for handle 6
>> bluetoothd[21141]: sco connection is released
>>
>> I think you should not load module-bluetooth-device until a voice call is
>> started, no matter incoming or outgoing. Because PA may play music from
>> other device at the same time. And bluetooth-device and loopback module are
>> loaded together. According to HFP v1.5 4.13, there are two cases for
>> incoming call. And outgoing call is simpler than incoming call.
>>
>> If AG and HF both support in band ring tones, we should send a signal from
>> oFono to PA when callsetup=1. If not, we should send it when call=1.
>>
>> I had a patch originally but I cannot find it now. :-(. The basic idea is to
>> add a filter in ciev_notify() to emit signal (CallStarted and CallEnded) to
>> PA. And PA loads module once it got that signal. Maybe the signal name was
>> bad and you could choose better one as you want. ;-)
>>
>
> I think loading module-bluetooth-device only when there is an active
> call can be a good solution. But I'm concerned about other audio
> events, i. e.: ringing, SMS notification etc.: doesn't the AG
> establishes a SCO channel for the these events? Also, I don't think
> pulse should listen to ofono signals, it should be agent-agnostic. But
> a signal could be added to the agent interface in this case.

Yeah. Maybe you are right. PA should not listen to ofono signal directly 
but through an agent signal to make it more generic. AFAK, SMS 
notification doesn't require SCO. Upper app could simply watch the 
property changes from oFono.

> And I'm not sure if automatically loading module-loopback is a good
> idea, I think we better expose through the UI how to handle the audio
> stream. Some users may have a bunch of soundcards or some very weird
> audio setup, and it's up to them to decide which soundcard to connect
> the HFP stream.
>

I am not audio expert but AFAK PA has variant policies to control which 
audio stream should be feeded into the speaker/mic. Loading 
module-bluetooth-device is only the 1st step to create source/sink. I 
think the voicecall have the higher priority than other steam like 
music, etc. And yes, loading module-loopback could be decided by PA policy.

Thanks.
Zhenhua.


  reply	other threads:[~2010-02-04  3:21 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-29 14:44 [RFC] [PATCH 0/2] HFP AG integration with PulseAudio João Paulo Rechi Vita
2010-01-29 14:44 ` =?unknown-8bit?q?Jo=C3=A3o?= Paulo Rechi Vita
2010-01-29 14:44 ` [PATCH 1/2] bluetooth: improve dbus logging a little bit João Paulo Rechi Vita
2010-01-29 14:44   ` =?unknown-8bit?q?Jo=C3=A3o?= Paulo Rechi Vita
2010-01-29 14:44   ` [PATCH 2/2] bluetooth: add HFP Gateway support João Paulo Rechi Vita
2010-01-29 14:44     ` =?unknown-8bit?q?Jo=C3=A3o?= Paulo Rechi Vita
2010-01-29 14:53 ` [RFC] [PATCH 0/2] HFP AG integration with PulseAudio João Paulo Rechi Vita
2010-01-29 14:53   ` =?unknown-8bit?q?Jo=C3=A3o?= Paulo Rechi Vita
     [not found]   ` <20100202111019.GA27346@tango.0pointer.de>
2010-02-03 18:38     ` [pulseaudio-discuss] " João Paulo Rechi Vita
2010-02-03 18:38       ` =?unknown-8bit?q?Jo=C3=A3o?= Paulo Rechi Vita
2010-02-01 17:09 ` João Paulo Rechi Vita
2010-02-01 17:09   ` =?unknown-8bit?q?Jo=C3=A3o?= Paulo Rechi Vita
2010-02-02  1:38   ` Zhenhua Zhang
2010-02-02  1:38     ` Zhenhua Zhang
2010-02-02  3:50   ` Zhenhua Zhang
2010-02-02  3:50     ` Zhenhua Zhang
2010-02-03 18:30     ` João Paulo Rechi Vita
2010-02-03 18:30       ` =?unknown-8bit?q?Jo=C3=A3o?= Paulo Rechi Vita
2010-02-04  3:21       ` Zhenhua Zhang [this message]
2010-02-04  3:21         ` Zhenhua Zhang
2010-02-02 17:03 ` Luiz Augusto von Dentz
2010-02-02 17:03   ` Luiz Augusto von Dentz

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=4B6A3D25.2040508@intel.com \
    --to=zhenhua.zhang@intel.com \
    --cc=jprvita@gmail.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=ofono@ofono.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.